From 86a49ba43ba97913050d409f2d308a4cd40719d6 Mon Sep 17 00:00:00 2001 From: Jonas Emmert <63006948+joXemMx@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:45:41 +0200 Subject: [PATCH 01/76] specify download 6.3.1 --- .github/workflows/NewUpdate.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index de810c08..c28cca1b 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -29,13 +29,7 @@ jobs: timeout_minutes: 5 command: | cd .updater/api - curl -s https://api.github.com/repositories/94561614/releases > ./releases.json - packageVersion=$(cat ./releases.json | grep 'name.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d - -f 2) - echo "Writing Version files: $packageVersion" - echo $packageVersion > ./packageVersion.txt - echo "Downloading Version: $packageVersion" - cat ./releases.json | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - - echo "Download Complete" + wget https://github.com/sirius-ms/sirius/releases/download/v6.3.1/sirius-6.3.1-linux-x64.zip unzip *.zip echo "Api Ready" - name: Run Rest Api with strings From 5e82319e36d705c19250b1d26091283b1f47dc10 Mon Sep 17 00:00:00 2001 From: Jonas Emmert <63006948+joXemMx@users.noreply.github.com> Date: Sun, 21 Sep 2025 14:14:46 +0200 Subject: [PATCH 02/76] added packageversion --- .github/workflows/NewUpdate.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index c28cca1b..2a8c098e 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -30,6 +30,9 @@ jobs: command: | cd .updater/api wget https://github.com/sirius-ms/sirius/releases/download/v6.3.1/sirius-6.3.1-linux-x64.zip + packageVersion=6.3.1 + echo "Writing Version files: $packageVersion" + echo $packageVersion > ./packageVersion.txt unzip *.zip echo "Api Ready" - name: Run Rest Api with strings From 388087b5f240f499cadef14c24087bf79f52dd16 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 21 Sep 2025 18:01:37 +0200 Subject: [PATCH 03/76] AutoUpdated (#162) * Auto-Updated OpenAPI Clients * Auto-Generated RSirius Manual * add all missing apis * move missing test stubs into classes * move missing test stubs into classes also for R --------- Co-authored-by: github-actions[bot] Co-authored-by: joXemMx --- .updater/api/api-docs-enums.json | 2 +- .updater/api/api-docs-strings.json | 2 +- .../generated/.openapi-generator/FILES | 82 +- .../generated/PySirius/__init__.py | 41 +- .../generated/PySirius/api/__init__.py | 5 +- .../generated/PySirius/api/actuator_api.py | 25 +- .../PySirius/api/compound_statistics_api.py | 1267 ++++ .../generated/PySirius/api/compounds_api.py | 2779 ++++++- .../PySirius/api/feature_statistics_api.py | 1267 ++++ .../generated/PySirius/api/features_api.py | 6358 ++++++++++++----- .../generated/PySirius/api/gui_api.py | 804 --- .../generated/PySirius/api/jobs_api.py | 324 +- .../generated/PySirius/api/projects_api.py | 183 +- .../generated/PySirius/api/runs_api.py | 2505 +++++++ .../PySirius/api/searchable_databases_api.py | 42 +- .../generated/PySirius/api/tags_api.py | 2556 +++++++ .../generated/PySirius/models/__init__.py | 36 +- .../PySirius/models/account_credentials.py | 15 - .../generated/PySirius/models/account_info.py | 15 - ...ication_measure.py => aggregation_type.py} | 10 +- .../PySirius/models/aligned_feature.py | 69 +- .../models/aligned_feature_opt_field.py | 2 + .../aligned_feature_quality_experimental.py | 9 +- .../PySirius/models/allowed_features.py | 95 + .../PySirius/models/annotated_ms_ms_data.py | 11 +- .../PySirius/models/annotated_peak.py | 5 - .../PySirius/models/annotated_spectrum.py | 64 +- ...fication_column_type.py => api_version.py} | 9 +- .../PySirius/models/basic_spectrum.py | 58 +- .../models/bio_transformer_parameters.py | 101 + .../models/bio_transformer_sequence_step.py | 88 + .../PySirius/models/canopus_prediction.py | 14 +- .../generated/PySirius/models/category.py | 5 - .../generated/PySirius/models/compound.py | 60 +- .../PySirius/models/compound_class.py | 42 +- .../PySirius/models/compound_classes.py | 35 +- .../PySirius/models/compound_import.py | 5 - .../PySirius/models/compound_opt_field.py | 1 + .../PySirius/models/computed_subtools.py | 2 +- .../PySirius/models/connection_error.py | 10 - .../models/consensus_annotations_csi.py | 43 +- .../models/consensus_annotations_de_novo.py | 26 +- .../generated/PySirius/models/cyp450_mode.py | 36 + .../PySirius/models/data_import_event.py | 5 - .../PySirius/models/feature_annotations.py | 52 +- .../PySirius/models/feature_import.py | 60 +- .../PySirius/models/fingerprint_prediction.py | 10 - .../generated/PySirius/models/fold_change.py | 100 + .../PySirius/models/formula_candidate.py | 94 +- .../PySirius/models/fragment_node.py | 35 - .../generated/PySirius/models/info.py | 45 - .../models/isotope_pattern_annotation.py | 10 - .../generated/PySirius/models/job.py | 33 +- .../generated/PySirius/models/job_progress.py | 27 +- .../PySirius/models/job_submission.py | 96 +- .../models/lcms_submission_parameters.py | 21 +- .../generated/PySirius/models/license_info.py | 26 +- .../PySirius/models/lipid_annotation.py | 25 - .../models/metabolic_transformation.py | 40 + .../generated/PySirius/models/ms_data.py | 23 +- .../generated/PySirius/models/ms_novelist.py | 5 - .../generated/PySirius/models/p2_mode.py | 36 + .../models/paged_model_formula_candidate.py | 2 +- .../PySirius/models/paged_model_run.py | 99 + .../paged_model_spectral_library_match.py | 2 +- .../paged_model_structure_candidate_scored.py | 2 +- .../PySirius/models/peak_annotation.py | 73 +- .../generated/PySirius/models/peak_pair.py | 87 + .../PySirius/models/project_change_event.py | 20 - .../generated/PySirius/models/project_info.py | 32 +- .../generated/PySirius/models/project_type.py | 1 + .../generated/PySirius/models/quality_item.py | 5 - .../PySirius/models/quant_measure.py | 35 + ...fication_row_type.py => quant_row_type.py} | 7 +- ...imental.py => quant_table_experimental.py} | 49 +- .../generated/PySirius/models/run.py | 112 + .../PySirius/models/run_opt_field.py | 35 + .../models/sample_type_fold_change_request.py | 89 + .../PySirius/models/searchable_database.py | 45 - .../models/searchable_database_parameters.py | 15 - .../PySirius/models/security_context.py | 89 + ..._info.py => security_context_principal.py} | 16 +- .../generated/PySirius/models/sirius.py | 107 +- .../PySirius/models/spectral_library_match.py | 33 +- .../models/spectral_library_match_summary.py | 5 - .../models/spectral_library_search.py | 44 +- .../PySirius/models/spectral_match_type.py | 35 + .../PySirius/models/spectral_matching_type.py | 1 + .../PySirius/models/spectrum_annotation.py | 45 +- .../PySirius/models/spectrum_type.py | 35 + .../PySirius/models/statistics_table.py | 105 + .../PySirius/models/statistics_type.py | 34 + .../PySirius/models/stored_job_submission.py | 2 +- .../PySirius/models/structure_candidate.py | 32 +- .../models/structure_candidate_formula.py | 47 +- .../models/structure_candidate_opt_field.py | 1 + .../models/structure_candidate_scored.py | 47 +- .../PySirius/models/structure_db_search.py | 19 +- .../generated/PySirius/models/subscription.py | 70 +- .../generated/PySirius/models/tag.py | 92 + .../PySirius/models/tag_definition.py | 110 + .../PySirius/models/tag_definition_import.py | 108 + .../generated/PySirius/models/tag_group.py | 89 + .../models/trace_annotation_experimental.py | 15 - .../PySirius/models/trace_experimental.py | 14 +- .../generated/PySirius/models/value_type.py | 40 + .../PySirius/models/web_server_namespace.py | 85 + .../generated/PySirius/models/zodiac.py | 45 +- .../PySirius/models/zodiac_analogue_nodes.py | 89 + .../PySirius/models/zodiac_library_scoring.py | 87 + .../generated/PySirius/sirius_api.py | 36 +- client-api_python/generated/README.md | 114 +- .../generated/docs/ActuatorApi.md | 15 +- .../generated/docs/AggregationType.md | 14 + .../generated/docs/AlignedFeature.md | 11 +- .../generated/docs/AlignedFeatureOptField.md | 4 + .../docs/AlignedFeatureQualityExperimental.md | 2 +- .../generated/docs/AllowedFeatures.md | 34 + .../generated/docs/AnnotatedSpectrum.md | 10 +- ...ntificationColumnType.md => ApiVersion.md} | 6 +- .../generated/docs/BasicSpectrum.md | 8 +- .../docs/BioTransformerParameters.md | 32 + .../docs/BioTransformerSequenceStep.md | 30 + client-api_python/generated/docs/Compound.md | 7 +- .../generated/docs/CompoundClass.md | 2 +- .../generated/docs/CompoundClasses.md | 6 +- .../generated/docs/CompoundOptField.md | 2 + .../generated/docs/CompoundStatisticsApi.md | 312 + .../generated/docs/CompoundsApi.md | 570 +- .../generated/docs/ComputedSubtools.md | 1 - .../generated/docs/ConsensusAnnotationsCSI.md | 8 +- .../docs/ConsensusAnnotationsDeNovo.md | 6 +- .../generated/docs/Cyp450Mode.md | 14 + .../generated/docs/FeatureAnnotations.md | 12 +- .../generated/docs/FeatureImport.md | 6 +- .../generated/docs/FeatureStatisticsApi.md | 312 + .../generated/docs/FeaturesApi.md | 976 ++- .../generated/docs/FoldChange.md | 35 + .../generated/docs/FormulaCandidate.md | 14 +- client-api_python/generated/docs/GuiApi.md | 209 - client-api_python/generated/docs/Job.md | 8 +- .../generated/docs/JobProgress.md | 2 +- .../generated/docs/JobSubmission.md | 26 +- client-api_python/generated/docs/JobsApi.md | 93 +- .../docs/LcmsSubmissionParameters.md | 5 + .../generated/docs/LicenseInfo.md | 4 +- .../generated/docs/MetabolicTransformation.md | 22 + client-api_python/generated/docs/MsData.md | 3 +- client-api_python/generated/docs/P2Mode.md | 14 + .../generated/docs/PagedModelRun.md | 30 + .../generated/docs/PeakAnnotation.md | 8 +- .../docs/{GuiInfo.md => PeakPair.md} | 19 +- .../generated/docs/ProjectInfo.md | 2 +- .../generated/docs/ProjectType.md | 2 + .../generated/docs/ProjectsApi.md | 70 +- .../generated/docs/QuantMeasure.md | 12 + ...antificationRowType.md => QuantRowType.md} | 4 +- .../generated/docs/QuantTableExperimental.md | 36 + .../docs/QuantificationTableExperimental.md | 37 - client-api_python/generated/docs/Run.md | 36 + .../generated/docs/RunOptField.md | 12 + client-api_python/generated/docs/RunsApi.md | 609 ++ .../docs/SampleTypeFoldChangeRequest.md | 31 + .../generated/docs/SearchableDatabasesApi.md | 13 +- .../generated/docs/SecurityContext.md | 29 + .../docs/SecurityContextPrincipal.md | 29 + client-api_python/generated/docs/Sirius.md | 12 +- .../generated/docs/SpectralLibraryMatch.md | 10 +- .../generated/docs/SpectralLibrarySearch.md | 11 +- .../generated/docs/SpectralMatchType.md | 12 + .../generated/docs/SpectralMatchingType.md | 2 + .../generated/docs/SpectrumAnnotation.md | 6 +- .../generated/docs/SpectrumType.md | 12 + .../generated/docs/StatisticsTable.md | 37 + ...tificationMeasure.md => StatisticsType.md} | 4 +- .../generated/docs/StoredJobSubmission.md | 2 +- .../generated/docs/StructureCandidate.md | 3 +- .../docs/StructureCandidateFormula.md | 5 +- .../docs/StructureCandidateOptField.md | 2 + .../docs/StructureCandidateScored.md | 5 +- .../generated/docs/StructureDbSearch.md | 4 +- .../generated/docs/Subscription.md | 1 + client-api_python/generated/docs/Tag.md | 30 + .../generated/docs/TagDefinition.md | 36 + .../generated/docs/TagDefinitionImport.md | 35 + client-api_python/generated/docs/TagGroup.md | 31 + client-api_python/generated/docs/TagsApi.md | 648 ++ .../generated/docs/TraceExperimental.md | 1 + client-api_python/generated/docs/ValueType.md | 22 + .../generated/docs/WebServerNamespace.md | 29 + client-api_python/generated/docs/Zodiac.md | 6 +- .../generated/docs/ZodiacAnalogueNodes.md | 31 + .../generated/docs/ZodiacLibraryScoring.md | 30 + .../generated/test/test_compounds_api.py | 11 +- .../generated/test/test_features_api.py | 38 +- .../generated/test/test_jobs_api.py | 14 + .../generated/test/test_projects_api.py | 7 + client-api_python/sirius_api.py | 38 +- .../generated/.openapi-generator/FILES | 54 +- client-api_r/generated/NAMESPACE | 27 +- client-api_r/generated/R/actuator_api.R | 34 +- client-api_r/generated/R/aligned_feature.R | 34 +- .../R/aligned_feature_quality_experimental.R | 10 + client-api_r/generated/R/allowed_features.R | 244 + .../generated/R/annotated_ms_ms_data.R | 10 + client-api_r/generated/R/annotated_spectrum.R | 130 +- client-api_r/generated/R/basic_spectrum.R | 126 +- .../generated/R/bio_transformer_parameters.R | 280 + .../R/bio_transformer_sequence_step.R | 185 + client-api_r/generated/R/compound.R | 30 +- client-api_r/generated/R/compound_classes.R | 12 +- .../generated/R/compound_statistics_api.R | 576 ++ client-api_r/generated/R/compounds_api.R | 1162 ++- client-api_r/generated/R/computed_subtools.R | 2 +- .../generated/R/consensus_annotations_csi.R | 8 +- .../R/consensus_annotations_de_novo.R | 4 +- .../generated/R/feature_annotations.R | 12 +- client-api_r/generated/R/feature_import.R | 4 +- .../generated/R/feature_statistics_api.R | 576 ++ client-api_r/generated/R/features_api.R | 1798 ++++- client-api_r/generated/R/fold_change.R | 342 + client-api_r/generated/R/formula_candidate.R | 24 +- client-api_r/generated/R/gui_api.R | 342 - client-api_r/generated/R/job.R | 4 +- client-api_r/generated/R/job_submission.R | 28 +- client-api_r/generated/R/jobs_api.R | 151 +- .../generated/R/lcms_submission_parameters.R | 87 +- client-api_r/generated/R/license_info.R | 8 +- client-api_r/generated/R/ms_data.R | 21 +- client-api_r/generated/R/paged_model_run.R | 175 + client-api_r/generated/R/peak_annotation.R | 4 +- client-api_r/generated/R/peak_pair.R | 212 + client-api_r/generated/R/project_info.R | 12 +- client-api_r/generated/R/projects_api.R | 142 +- ...erimental.R => quant_table_experimental.R} | 132 +- client-api_r/generated/R/rsirius_api.R | 20 +- client-api_r/generated/R/run.R | 276 + client-api_r/generated/R/run_opt_field.R | 90 + client-api_r/generated/R/runs_api.R | 1130 +++ .../R/sample_type_fold_change_request.R | 190 + .../generated/R/searchable_databases_api.R | 25 +- client-api_r/generated/R/security_context.R | 159 + .../generated/R/security_context_principal.R | 159 + client-api_r/generated/R/sirius.R | 8 +- .../generated/R/spectral_library_match.R | 110 +- .../generated/R/spectral_library_search.R | 137 +- .../generated/R/spectrum_annotation.R | 44 +- client-api_r/generated/R/statistics_table.R | 326 + .../generated/R/stored_job_submission.R | 4 +- .../generated/R/structure_candidate.R | 45 +- .../generated/R/structure_candidate_formula.R | 49 +- .../generated/R/structure_candidate_scored.R | 49 +- client-api_r/generated/R/subscription.R | 19 +- client-api_r/generated/R/tag.R | 194 + client-api_r/generated/R/tag_definition.R | 322 + .../generated/R/tag_definition_import.R | 305 + client-api_r/generated/R/tag_group.R | 193 + client-api_r/generated/R/tags_api.R | 1124 +++ client-api_r/generated/R/trace_experimental.R | 19 +- .../R/{gui_info.R => web_server_namespace.R} | 72 +- client-api_r/generated/R/zodiac.R | 44 +- .../generated/R/zodiac_analogue_nodes.R | 193 + .../generated/R/zodiac_library_scoring.R | 176 + client-api_r/generated/README.md | 100 +- client-api_r/generated/docs/ActuatorApi.md | 16 +- client-api_r/generated/docs/AlignedFeature.md | 9 +- .../generated/docs/AllowedFeatures.md | 14 + .../generated/docs/AnnotatedSpectrum.md | 10 +- client-api_r/generated/docs/BasicSpectrum.md | 8 +- .../docs/BioTransformerParameters.md | 12 + .../docs/BioTransformerSequenceStep.md | 10 + client-api_r/generated/docs/Compound.md | 7 +- .../generated/docs/CompoundClasses.md | 6 +- .../generated/docs/CompoundStatisticsApi.md | 221 + client-api_r/generated/docs/CompoundsApi.md | 421 +- .../generated/docs/ComputedSubtools.md | 1 - .../generated/docs/ConsensusAnnotationsCSI.md | 4 +- .../docs/ConsensusAnnotationsDeNovo.md | 2 +- .../generated/docs/FeatureAnnotations.md | 6 +- client-api_r/generated/docs/FeatureImport.md | 2 +- .../generated/docs/FeatureStatisticsApi.md | 221 + client-api_r/generated/docs/FeaturesApi.md | 731 +- client-api_r/generated/docs/FoldChange.md | 15 + .../generated/docs/FormulaCandidate.md | 12 +- client-api_r/generated/docs/GuiApi.md | 146 - client-api_r/generated/docs/Job.md | 2 +- client-api_r/generated/docs/JobSubmission.md | 14 +- client-api_r/generated/docs/JobsApi.md | 76 +- .../docs/LcmsSubmissionParameters.md | 5 + client-api_r/generated/docs/LicenseInfo.md | 4 +- client-api_r/generated/docs/MsData.md | 3 +- client-api_r/generated/docs/PagedModelRun.md | 10 + client-api_r/generated/docs/PeakAnnotation.md | 2 +- .../docs/{GuiInfo.md => PeakPair.md} | 5 +- client-api_r/generated/docs/ProjectInfo.md | 2 +- client-api_r/generated/docs/ProjectsApi.md | 74 +- ...erimental.md => QuantTableExperimental.md} | 7 +- client-api_r/generated/docs/Run.md | 16 + client-api_r/generated/docs/RunOptField.md | 8 + client-api_r/generated/docs/RunsApi.md | 435 ++ .../docs/SampleTypeFoldChangeRequest.md | 11 + .../generated/docs/SearchableDatabasesApi.md | 14 +- .../generated/docs/SecurityContext.md | 9 + .../docs/SecurityContextPrincipal.md | 9 + client-api_r/generated/docs/Sirius.md | 4 +- .../generated/docs/SpectralLibraryMatch.md | 10 +- .../generated/docs/SpectralLibrarySearch.md | 9 +- .../generated/docs/SpectrumAnnotation.md | 6 +- .../generated/docs/StatisticsTable.md | 17 + .../generated/docs/StoredJobSubmission.md | 2 +- .../generated/docs/StructureCandidate.md | 3 +- .../docs/StructureCandidateFormula.md | 5 +- .../docs/StructureCandidateScored.md | 5 +- client-api_r/generated/docs/Subscription.md | 1 + client-api_r/generated/docs/Tag.md | 10 + client-api_r/generated/docs/TagDefinition.md | 16 + .../generated/docs/TagDefinitionImport.md | 15 + client-api_r/generated/docs/TagGroup.md | 11 + client-api_r/generated/docs/TagsApi.md | 458 ++ .../generated/docs/TraceExperimental.md | 1 + .../generated/docs/WebServerNamespace.md | 9 + client-api_r/generated/docs/Zodiac.md | 6 +- .../generated/docs/ZodiacAnalogueNodes.md | 11 + .../generated/docs/ZodiacLibraryScoring.md | 10 + client-api_r/generated/man/ActuatorApi.Rd | 17 +- client-api_r/generated/man/AlignedFeature.Rd | 21 +- client-api_r/generated/man/AllowedFeatures.Rd | 299 + .../generated/man/AnnotatedSpectrum.Rd | 38 +- client-api_r/generated/man/BasicSpectrum.Rd | 34 +- .../generated/man/BioTransformerParameters.Rd | 289 + .../man/BioTransformerSequenceStep.Rd | 279 + client-api_r/generated/man/Compound.Rd | 17 +- client-api_r/generated/man/CompoundClasses.Rd | 12 +- .../generated/man/CompoundStatisticsApi.Rd | 436 ++ client-api_r/generated/man/CompoundsApi.Rd | 710 +- .../generated/man/ComputedSubtools.Rd | 2 +- .../generated/man/ConsensusAnnotationsCSI.Rd | 8 +- .../man/ConsensusAnnotationsDeNovo.Rd | 4 +- .../generated/man/FeatureAnnotations.Rd | 12 +- client-api_r/generated/man/FeatureImport.Rd | 4 +- .../generated/man/FeatureStatisticsApi.Rd | 436 ++ client-api_r/generated/man/FeaturesApi.Rd | 1159 ++- client-api_r/generated/man/FoldChange.Rd | 304 + .../generated/man/FormulaCandidate.Rd | 24 +- client-api_r/generated/man/GuiApi.Rd | 263 - client-api_r/generated/man/GuiInfo.Rd | 271 - client-api_r/generated/man/Job.Rd | 4 +- client-api_r/generated/man/JobSubmission.Rd | 28 +- client-api_r/generated/man/JobsApi.Rd | 104 +- .../generated/man/LcmsSubmissionParameters.Rd | 30 +- client-api_r/generated/man/LicenseInfo.Rd | 8 +- client-api_r/generated/man/MsData.Rd | 7 +- client-api_r/generated/man/PagedModelRun.Rd | 275 + client-api_r/generated/man/PeakAnnotation.Rd | 4 +- client-api_r/generated/man/PeakPair.Rd | 275 + client-api_r/generated/man/ProjectsApi.Rd | 133 +- .../generated/man/QuantTableExperimental.Rd | 304 + .../man/QuantificationTableExperimental.Rd | 309 - client-api_r/generated/man/Run.Rd | 309 + client-api_r/generated/man/RunOptField.Rd | 124 + client-api_r/generated/man/RunsApi.Rd | 791 ++ .../man/SampleTypeFoldChangeRequest.Rd | 284 + .../generated/man/SearchableDatabasesApi.Rd | 21 +- client-api_r/generated/man/SecurityContext.Rd | 271 + .../generated/man/SecurityContextPrincipal.Rd | 271 + client-api_r/generated/man/Sirius.Rd | 8 +- .../generated/man/SpectralLibraryMatch.Rd | 30 +- .../generated/man/SpectralLibrarySearch.Rd | 39 +- .../generated/man/SpectrumAnnotation.Rd | 18 +- client-api_r/generated/man/StatisticsTable.Rd | 314 + .../generated/man/StoredJobSubmission.Rd | 4 +- .../generated/man/StructureCandidate.Rd | 11 +- .../man/StructureCandidateFormula.Rd | 15 +- .../generated/man/StructureCandidateScored.Rd | 15 +- client-api_r/generated/man/Subscription.Rd | 5 + client-api_r/generated/man/Tag.Rd | 275 + client-api_r/generated/man/TagDefinition.Rd | 309 + .../generated/man/TagDefinitionImport.Rd | 304 + client-api_r/generated/man/TagGroup.Rd | 279 + client-api_r/generated/man/TagsApi.Rd | 729 ++ .../generated/man/TraceExperimental.Rd | 5 + .../generated/man/WebServerNamespace.Rd | 271 + client-api_r/generated/man/Zodiac.Rd | 18 +- .../generated/man/ZodiacAnalogueNodes.Rd | 284 + .../generated/man/ZodiacLibraryScoring.Rd | 275 + client-api_r/generated/man/rsirius_api.Rd | 10 +- .../tests/testthat/test_compounds_api.R | 23 +- .../tests/testthat/test_features_api.R | 68 +- .../generated/tests/testthat/test_jobs_api.R | 23 + .../tests/testthat/test_projects_api.R | 15 + 390 files changed, 46062 insertions(+), 8450 deletions(-) create mode 100644 client-api_python/generated/PySirius/api/compound_statistics_api.py create mode 100644 client-api_python/generated/PySirius/api/feature_statistics_api.py delete mode 100644 client-api_python/generated/PySirius/api/gui_api.py create mode 100644 client-api_python/generated/PySirius/api/runs_api.py create mode 100644 client-api_python/generated/PySirius/api/tags_api.py rename client-api_python/generated/PySirius/models/{quantification_measure.py => aggregation_type.py} (71%) create mode 100644 client-api_python/generated/PySirius/models/allowed_features.py rename client-api_python/generated/PySirius/models/{quantification_column_type.py => api_version.py} (71%) create mode 100644 client-api_python/generated/PySirius/models/bio_transformer_parameters.py create mode 100644 client-api_python/generated/PySirius/models/bio_transformer_sequence_step.py create mode 100644 client-api_python/generated/PySirius/models/cyp450_mode.py create mode 100644 client-api_python/generated/PySirius/models/fold_change.py create mode 100644 client-api_python/generated/PySirius/models/metabolic_transformation.py create mode 100644 client-api_python/generated/PySirius/models/p2_mode.py create mode 100644 client-api_python/generated/PySirius/models/paged_model_run.py create mode 100644 client-api_python/generated/PySirius/models/peak_pair.py create mode 100644 client-api_python/generated/PySirius/models/quant_measure.py rename client-api_python/generated/PySirius/models/{quantification_row_type.py => quant_row_type.py} (76%) rename client-api_python/generated/PySirius/models/{quantification_table_experimental.py => quant_table_experimental.py} (52%) create mode 100644 client-api_python/generated/PySirius/models/run.py create mode 100644 client-api_python/generated/PySirius/models/run_opt_field.py create mode 100644 client-api_python/generated/PySirius/models/sample_type_fold_change_request.py create mode 100644 client-api_python/generated/PySirius/models/security_context.py rename client-api_python/generated/PySirius/models/{gui_info.py => security_context_principal.py} (81%) create mode 100644 client-api_python/generated/PySirius/models/spectral_match_type.py create mode 100644 client-api_python/generated/PySirius/models/spectrum_type.py create mode 100644 client-api_python/generated/PySirius/models/statistics_table.py create mode 100644 client-api_python/generated/PySirius/models/statistics_type.py create mode 100644 client-api_python/generated/PySirius/models/tag.py create mode 100644 client-api_python/generated/PySirius/models/tag_definition.py create mode 100644 client-api_python/generated/PySirius/models/tag_definition_import.py create mode 100644 client-api_python/generated/PySirius/models/tag_group.py create mode 100644 client-api_python/generated/PySirius/models/value_type.py create mode 100644 client-api_python/generated/PySirius/models/web_server_namespace.py create mode 100644 client-api_python/generated/PySirius/models/zodiac_analogue_nodes.py create mode 100644 client-api_python/generated/PySirius/models/zodiac_library_scoring.py create mode 100644 client-api_python/generated/docs/AggregationType.md create mode 100644 client-api_python/generated/docs/AllowedFeatures.md rename client-api_python/generated/docs/{QuantificationColumnType.md => ApiVersion.md} (74%) create mode 100644 client-api_python/generated/docs/BioTransformerParameters.md create mode 100644 client-api_python/generated/docs/BioTransformerSequenceStep.md create mode 100644 client-api_python/generated/docs/CompoundStatisticsApi.md create mode 100644 client-api_python/generated/docs/Cyp450Mode.md create mode 100644 client-api_python/generated/docs/FeatureStatisticsApi.md create mode 100644 client-api_python/generated/docs/FoldChange.md delete mode 100644 client-api_python/generated/docs/GuiApi.md create mode 100644 client-api_python/generated/docs/MetabolicTransformation.md create mode 100644 client-api_python/generated/docs/P2Mode.md create mode 100644 client-api_python/generated/docs/PagedModelRun.md rename client-api_python/generated/docs/{GuiInfo.md => PeakPair.md} (52%) create mode 100644 client-api_python/generated/docs/QuantMeasure.md rename client-api_python/generated/docs/{QuantificationRowType.md => QuantRowType.md} (79%) create mode 100644 client-api_python/generated/docs/QuantTableExperimental.md delete mode 100644 client-api_python/generated/docs/QuantificationTableExperimental.md create mode 100644 client-api_python/generated/docs/Run.md create mode 100644 client-api_python/generated/docs/RunOptField.md create mode 100644 client-api_python/generated/docs/RunsApi.md create mode 100644 client-api_python/generated/docs/SampleTypeFoldChangeRequest.md create mode 100644 client-api_python/generated/docs/SecurityContext.md create mode 100644 client-api_python/generated/docs/SecurityContextPrincipal.md create mode 100644 client-api_python/generated/docs/SpectralMatchType.md create mode 100644 client-api_python/generated/docs/SpectrumType.md create mode 100644 client-api_python/generated/docs/StatisticsTable.md rename client-api_python/generated/docs/{QuantificationMeasure.md => StatisticsType.md} (73%) create mode 100644 client-api_python/generated/docs/Tag.md create mode 100644 client-api_python/generated/docs/TagDefinition.md create mode 100644 client-api_python/generated/docs/TagDefinitionImport.md create mode 100644 client-api_python/generated/docs/TagGroup.md create mode 100644 client-api_python/generated/docs/TagsApi.md create mode 100644 client-api_python/generated/docs/ValueType.md create mode 100644 client-api_python/generated/docs/WebServerNamespace.md create mode 100644 client-api_python/generated/docs/ZodiacAnalogueNodes.md create mode 100644 client-api_python/generated/docs/ZodiacLibraryScoring.md create mode 100644 client-api_r/generated/R/allowed_features.R create mode 100644 client-api_r/generated/R/bio_transformer_parameters.R create mode 100644 client-api_r/generated/R/bio_transformer_sequence_step.R create mode 100644 client-api_r/generated/R/compound_statistics_api.R create mode 100644 client-api_r/generated/R/feature_statistics_api.R create mode 100644 client-api_r/generated/R/fold_change.R delete mode 100644 client-api_r/generated/R/gui_api.R create mode 100644 client-api_r/generated/R/paged_model_run.R create mode 100644 client-api_r/generated/R/peak_pair.R rename client-api_r/generated/R/{quantification_table_experimental.R => quant_table_experimental.R} (60%) create mode 100644 client-api_r/generated/R/run.R create mode 100644 client-api_r/generated/R/run_opt_field.R create mode 100644 client-api_r/generated/R/runs_api.R create mode 100644 client-api_r/generated/R/sample_type_fold_change_request.R create mode 100644 client-api_r/generated/R/security_context.R create mode 100644 client-api_r/generated/R/security_context_principal.R create mode 100644 client-api_r/generated/R/statistics_table.R create mode 100644 client-api_r/generated/R/tag.R create mode 100644 client-api_r/generated/R/tag_definition.R create mode 100644 client-api_r/generated/R/tag_definition_import.R create mode 100644 client-api_r/generated/R/tag_group.R create mode 100644 client-api_r/generated/R/tags_api.R rename client-api_r/generated/R/{gui_info.R => web_server_namespace.R} (65%) create mode 100644 client-api_r/generated/R/zodiac_analogue_nodes.R create mode 100644 client-api_r/generated/R/zodiac_library_scoring.R create mode 100644 client-api_r/generated/docs/AllowedFeatures.md create mode 100644 client-api_r/generated/docs/BioTransformerParameters.md create mode 100644 client-api_r/generated/docs/BioTransformerSequenceStep.md create mode 100644 client-api_r/generated/docs/CompoundStatisticsApi.md create mode 100644 client-api_r/generated/docs/FeatureStatisticsApi.md create mode 100644 client-api_r/generated/docs/FoldChange.md delete mode 100644 client-api_r/generated/docs/GuiApi.md create mode 100644 client-api_r/generated/docs/PagedModelRun.md rename client-api_r/generated/docs/{GuiInfo.md => PeakPair.md} (51%) rename client-api_r/generated/docs/{QuantificationTableExperimental.md => QuantTableExperimental.md} (67%) create mode 100644 client-api_r/generated/docs/Run.md create mode 100644 client-api_r/generated/docs/RunOptField.md create mode 100644 client-api_r/generated/docs/RunsApi.md create mode 100644 client-api_r/generated/docs/SampleTypeFoldChangeRequest.md create mode 100644 client-api_r/generated/docs/SecurityContext.md create mode 100644 client-api_r/generated/docs/SecurityContextPrincipal.md create mode 100644 client-api_r/generated/docs/StatisticsTable.md create mode 100644 client-api_r/generated/docs/Tag.md create mode 100644 client-api_r/generated/docs/TagDefinition.md create mode 100644 client-api_r/generated/docs/TagDefinitionImport.md create mode 100644 client-api_r/generated/docs/TagGroup.md create mode 100644 client-api_r/generated/docs/TagsApi.md create mode 100644 client-api_r/generated/docs/WebServerNamespace.md create mode 100644 client-api_r/generated/docs/ZodiacAnalogueNodes.md create mode 100644 client-api_r/generated/docs/ZodiacLibraryScoring.md create mode 100644 client-api_r/generated/man/AllowedFeatures.Rd create mode 100644 client-api_r/generated/man/BioTransformerParameters.Rd create mode 100644 client-api_r/generated/man/BioTransformerSequenceStep.Rd create mode 100644 client-api_r/generated/man/CompoundStatisticsApi.Rd create mode 100644 client-api_r/generated/man/FeatureStatisticsApi.Rd create mode 100644 client-api_r/generated/man/FoldChange.Rd delete mode 100644 client-api_r/generated/man/GuiApi.Rd delete mode 100644 client-api_r/generated/man/GuiInfo.Rd create mode 100644 client-api_r/generated/man/PagedModelRun.Rd create mode 100644 client-api_r/generated/man/PeakPair.Rd create mode 100644 client-api_r/generated/man/QuantTableExperimental.Rd delete mode 100644 client-api_r/generated/man/QuantificationTableExperimental.Rd create mode 100644 client-api_r/generated/man/Run.Rd create mode 100644 client-api_r/generated/man/RunOptField.Rd create mode 100644 client-api_r/generated/man/RunsApi.Rd create mode 100644 client-api_r/generated/man/SampleTypeFoldChangeRequest.Rd create mode 100644 client-api_r/generated/man/SecurityContext.Rd create mode 100644 client-api_r/generated/man/SecurityContextPrincipal.Rd create mode 100644 client-api_r/generated/man/StatisticsTable.Rd create mode 100644 client-api_r/generated/man/Tag.Rd create mode 100644 client-api_r/generated/man/TagDefinition.Rd create mode 100644 client-api_r/generated/man/TagDefinitionImport.Rd create mode 100644 client-api_r/generated/man/TagGroup.Rd create mode 100644 client-api_r/generated/man/TagsApi.Rd create mode 100644 client-api_r/generated/man/WebServerNamespace.Rd create mode 100644 client-api_r/generated/man/ZodiacAnalogueNodes.Rd create mode 100644 client-api_r/generated/man/ZodiacLibraryScoring.Rd diff --git a/.updater/api/api-docs-enums.json b/.updater/api/api-docs-enums.json index 202bdfe6..62dbb30a 100644 --- a/.updater/api/api-docs-enums.json +++ b/.updater/api/api-docs-enums.json @@ -1 +1 @@ -{"openapi":"3.0.1","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Info","description":"Status und Information"},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Gui","description":"Basic GUI Control: Open and close SIRIUS Graphical User Interface (GUI) on specified projects."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from application","description":"Close project-space and remove it from application. Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["command","progress"]}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["command","progress"]}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"description":"files to import into project","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Files to import into project.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"description":"Files to import into project.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}}}},"required":true},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/gui":{"post":{"tags":["Gui"],"summary":"Open GUI instance on specified project-space and bring the GUI window to foreground.","description":"Open GUI instance on specified project-space and bring the GUI window to foreground.","operationId":"openGui","parameters":[{"name":"projectId","in":"path","description":"of project-space the GUI instance will connect to.","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created"}}},"delete":{"tags":["Gui"],"summary":"Close GUI instance of given project-space if available.","description":"Close GUI instance of given project-space if available.","operationId":"closeGui","parameters":[{"name":"projectId","in":"path","description":"if project-space the GUI instance is connected to.","required":true,"schema":{"type":"string"}},{"name":"closeProject","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"description":"files to be imported","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"description":"Job of the import command to be executed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns the traces of the given compound. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns a single quantification table row for the given feature. The quantification table contains the intensity of the feature within all\n samples it is contained in.","operationId":"getQuantificationExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"$ref":"#/components/schemas/QuantificationMeasure"}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantificationTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeaturesQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belong sto.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable.","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n These annotations are only available if a fragmentation tree is available.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable.","description":"Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formula result identifier.","description":"Returns Lipid annotation (ElGordo) for the given formula result identifier.\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier.","description":"Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n This tree is used to rank formula candidates (treeScore).","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier\n This fingerprint is used to perform structure database search and predict compound classes.","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Best matching compound classes,\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","description":"Best matching compound classes,\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n These annotations are only available if a fragmentation tree is available.","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","description":"Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns the adduct network for a given aligned feature id together with all merged traces contained in the network.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"DEPRECATED: use /job-configs to get all configs with names.","description":"Get all (non-default) job configuration names","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/guis":{"get":{"tags":["Gui"],"summary":"Get list of currently running gui windows, managed by this SIRIUS instance.","description":"Get list of currently running gui windows, managed by this SIRIUS instance.\n Note this will not show any Clients that are connected from a separate process!","operationId":"getGuis","responses":{"200":{"description":"List of GUI windows that are currently managed by this SIRIUS instance.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GuiInfo"}}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search contains also all available custom DB.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"ProjectChangeEvent":{"type":"object","properties":{"eventType":{"$ref":"#/components/schemas/ProjectEventType"},"projectId":{"type":"string"},"compoundId":{"type":"string","nullable":true},"featuredId":{"type":"string","nullable":true},"formulaId":{"type":"string","nullable":true},"structureInChIKey":{"type":"string","nullable":true}}},"DataImportEvent":{"required":["importedCompoundIds","importedFeatureIds"],"type":"object","properties":{"importJobId":{"type":"string","nullable":true},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}}},"BackgroundComputationsStateEvent":{"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"],"type":"object","properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}}},"ProjectEventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"ProjectInfoOptField":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project.","nullable":true},"type":{"$ref":"#/components/schemas/ProjectType"},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.","nullable":true},"numOfFeatures":{"type":"integer","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').","format":"int32","nullable":true},"numOfCompounds":{"type":"integer","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.","format":"int32","nullable":true},"numOfBytes":{"type":"integer","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').","format":"int64","nullable":true}}},"ProjectType":{"type":"string","nullable":true,"enum":["DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false}}},"SearchableDatabase":{"required":["customDb","databaseId","searchable","updateNeeded"],"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created.","nullable":true},"dbVersion":{"type":"integer","description":"database schema version","format":"int32","nullable":true},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","description":"Number of unique compounds available in this database.","format":"int64","nullable":true},"numberOfFormulas":{"type":"integer","description":"Number of different molecular formulas available in this database.","format":"int64","nullable":true},"numberOfReferenceSpectra":{"type":"integer","description":"Number of reference spectra available in this database","format":"int64","nullable":true},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded","nullable":true}}},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string","nullable":true},"userEmail":{"type":"string"},"gravatarURL":{"type":"string","nullable":true},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string","nullable":true}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription","nullable":true},"expirationDate":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"countQueries":{"type":"boolean","nullable":true},"instanceLimit":{"type":"integer","description":"Limit of instances (features) that can be computed with this subscription","format":"int32","nullable":true},"instanceHashRecordingTime":{"type":"integer","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is","format":"int32","nullable":true},"maxQueriesPerInstance":{"type":"integer","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.","format":"int32","nullable":true},"maxUserAccounts":{"type":"integer","format":"int32","nullable":true},"serviceUrl":{"type":"string"},"description":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"tos":{"type":"string","nullable":true},"pp":{"type":"string","nullable":true}}},"Canopus":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}},"description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","nullable":true},"ConfidenceMode":{"type":"string","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]},"FingerprintPrediction":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.","nullable":true},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.","nullable":true}},"description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","nullable":true},"InstrumentProfile":{"type":"string","description":"Select the profile that is the closest to your instrumental setup. If nothing fits, use QTOF.","nullable":true,"enum":["QTOF","ORBITRAP"]},"IsotopeMs2Strategy":{"type":"string","nullable":true,"enum":["IGNORE","FILTER","SCORE"]},"JobSubmission":{"type":"object","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not.","nullable":true},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch"},"formulaIdParams":{"$ref":"#/components/schemas/Sirius"},"zodiacParams":{"$ref":"#/components/schemas/Zodiac"},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction"},"canopusParams":{"$ref":"#/components/schemas/Canopus"},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch"},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist"},"configMap":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.","nullable":true}},"description":"Object to submit a job to be executed by SIRIUS"},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.","format":"int32","nullable":true}},"nullable":true},"Sirius":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"$ref":"#/components/schemas/InstrumentProfile"},"numberOfCandidates":{"type":"integer","description":"Number of formula candidates to keep as result list (Formula Candidates).","format":"int32","nullable":true},"numberOfCandidatesPerIonization":{"type":"integer","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.","format":"int32","nullable":true},"massAccuracyMS2ppm":{"type":"number","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.","format":"double","nullable":true},"isotopeMs2Settings":{"$ref":"#/components/schemas/IsotopeMs2Strategy"},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.","nullable":true},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.","nullable":true},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled.","nullable":true},"performDenovoBelowMz":{"type":"number","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.","format":"double","nullable":true},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","nullable":true,"items":{"type":"string","nullable":true}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.","nullable":true},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered","nullable":true},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)","nullable":true},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","nullable":true,"items":{"type":"string","nullable":true}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic"},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied","nullable":true},"minScoreToInjectSpecLibMatch":{"type":"number","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.","format":"double","nullable":true},"minPeaksToInjectSpecLibMatch":{"type":"integer","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.","format":"int32","nullable":true}},"description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","nullable":true},"SpectralLibrarySearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"peakDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching peaks.","format":"double","nullable":true},"precursorDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.","format":"double","nullable":true},"scoring":{"$ref":"#/components/schemas/SpectralMatchingType"}},"description":"User/developer friendly parameter subset for the Spectral library search tool.","nullable":true},"SpectralMatchingType":{"type":"string","nullable":true,"enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE"]},"StructureDbSearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.","nullable":true},"expansiveSearchConfidenceMode":{"$ref":"#/components/schemas/ConfidenceMode"}},"description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","nullable":true},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}},"nullable":true},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}},"nullable":true},"Zodiac":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.","format":"int32","nullable":true},"consideredCandidatesAt800Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.","format":"int32","nullable":true},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.","nullable":true},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds"},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs"}},"description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","nullable":true},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}},"nullable":true},"JobOptField":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"Job":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task","nullable":true},"progress":{"$ref":"#/components/schemas/JobProgress"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"jobEffect":{"$ref":"#/components/schemas/JobEffect"}},"description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal."},"JobEffect":{"type":"string","nullable":true,"enum":["IMPORT","COMPUTATION","DELETION"]},"JobProgress":{"type":"object","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not","nullable":true},"state":{"$ref":"#/components/schemas/JobState"},"currentProgress":{"type":"integer","description":"Current progress value of the job.","format":"int64","nullable":true},"maxProgress":{"type":"integer","description":"Progress value to reach (might also change during execution)","format":"int64","nullable":true},"message":{"type":"string","description":"Progress information and warnings.","nullable":true},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed.","nullable":true}},"description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","nullable":true},"JobState":{"type":"string","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"ImportResult":{"required":["affectedAlignedFeatureIds","affectedCompoundIds"],"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}}},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","description":"Specifies whether LC/MS runs should be aligned","default":true}}},"BasicSpectrum":{"required":["peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)","format":"double","nullable":true}},"nullable":true},"CompoundImport":{"required":["features"],"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"DataQuality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"FeatureImport":{"required":["charge","ionMass"],"type":"object","properties":{"name":{"type":"string","nullable":true},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.","nullable":true},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","nullable":true,"items":{"type":"string","nullable":true}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"dataQuality":{"$ref":"#/components/schemas/DataQuality"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail."},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"CompoundOptField":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations"]},"AlignedFeatureOptField":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"AlignedFeature":{"required":["charge","detectedAdducts"],"type":"object","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","description":"Ion mode (charge) this feature has been measured in.","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"quality":{"$ref":"#/components/schemas/DataQuality"},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations"},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations"},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools"}},"description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view."},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"required":["peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)","format":"double","nullable":true},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation"}},"description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","nullable":true},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits","format":"int32"}},"nullable":true},"CanopusPrediction":{"type":"object","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","nullable":true},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"rtStartSeconds":{"type":"number","description":"The merged/consensus retention time start (earliest rt) of this compound","format":"double","nullable":true},"rtEndSeconds":{"type":"number","description":"The merged/consensus retention time end (latest rt) of this compound","format":"double","nullable":true},"neutralMass":{"type":"number","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass","format":"double","nullable":true},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"}}},"CompoundClass":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/CompoundClassType"},"level":{"type":"string","description":"Name of the level this compound class belongs to","nullable":true},"levelIndex":{"type":"integer","description":"Index of the level this compound class belongs to","format":"int32","nullable":true},"name":{"type":"string","description":"Name of the compound class.","nullable":true},"description":{"type":"string","description":"Description of the compound class.","nullable":true},"id":{"type":"integer","description":"Unique id of the class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"probability":{"type":"number","description":"prediction probability","format":"double"},"index":{"type":"integer","description":"Absolute index of this property in the predicted vector/embedding","format":"int32"},"parentId":{"type":"integer","description":"Unique id of the parent class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"parentName":{"type":"string","description":"Name of the parent compound class.","nullable":true}},"description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","nullable":true},"CompoundClassType":{"type":"string","description":"Defines compound class ontologies that are available.","nullable":true,"enum":["ClassyFire","NPC"]},"CompoundClasses":{"type":"object","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass"},"npcClass":{"$ref":"#/components/schemas/CompoundClass"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","nullable":true},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}},"description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.","nullable":true},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionCSI"},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate"},"confidenceExactMatch":{"type":"number","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true}},"nullable":true},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionDeNovo"}},"nullable":true},"ConsensusCriterionCSI":{"type":"string","nullable":true,"enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"ConsensusCriterionDeNovo":{"type":"string","nullable":true,"enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"DBLink":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"nullable":true},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}},"nullable":true},"FeatureAnnotations":{"type":"object","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate"},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored"},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses"},"confidenceExactMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit is correct.","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.","format":"double","nullable":true},"expansiveSearchState":{"$ref":"#/components/schemas/ConfidenceMode"},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}}},"description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","nullable":true},"FormulaCandidate":{"type":"object","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"siriusScore":{"type":"number","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"isotopeScore":{"type":"number","format":"double","nullable":true},"treeScore":{"type":"number","format":"double","nullable":true},"zodiacScore":{"type":"number","description":"Zodiac Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"numOfExplainedPeaks":{"type":"integer","format":"int32","nullable":true},"numOfExplainablePeaks":{"type":"integer","format":"int32","nullable":true},"totalExplainedIntensity":{"type":"number","format":"double","nullable":true},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree"},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation"},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","nullable":true,"items":{"type":"number","format":"double","nullable":true}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction"}},"description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","nullable":true},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct","nullable":true},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.","nullable":true},"massDeviationDa":{"type":"number","format":"double","nullable":true},"massDeviationPpm":{"type":"number","format":"double","nullable":true},"score":{"type":"number","format":"double","nullable":true},"intensity":{"type":"number","format":"double","nullable":true},"mz":{"type":"number","format":"double","nullable":true}}},"FragmentationTree":{"type":"object","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}},"description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","nullable":true},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.","nullable":true},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class.","nullable":true},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class.","nullable":true},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.","nullable":true},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS.","nullable":true}},"nullable":true},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","properties":{"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","nullable":true},"ParentPeak":{"required":["lossFormula","parentFragmentId","parentIdx"],"type":"object","properties":{"parentIdx":{"type":"integer","description":"Index to the parent peak connected by this loss in this particular spectrum","format":"int32"},"parentFragmentId":{"type":"integer","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","nullable":true},"PeakAnnotation":{"required":["fragmentId"],"type":"object","properties":{"fragmentId":{"type":"integer","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak","nullable":true},"exactMass":{"type":"number","description":"Exact mass of the annotated molecular formula and adduct","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm","format":"double","nullable":true},"recalibratedMassDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa","format":"double","nullable":true},"recalibratedMassDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm","format":"double","nullable":true},"parentPeak":{"$ref":"#/components/schemas/ParentPeak"},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.","format":"float","nullable":true},"hydrogenRearrangements":{"type":"integer","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.","format":"int32","nullable":true}},"nullable":true},"SpectralLibraryMatch":{"required":["inchiKey","querySpectrumIndex","similarity","uuid"],"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","format":"double"},"sharedPeaks":{"type":"integer","format":"int32"},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"string"},"smiles":{"type":"string"},"inchiKey":{"type":"string"},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum","nullable":true},"exactMass":{"type":"number","description":"Exact mass based on the annotated molecular formula and ionization","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm","format":"double","nullable":true},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n\n Null if substructure annotation not available or not requested.","format":"double","nullable":true}},"nullable":true},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"xlogP":{"type":"number","format":"double","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}},"nullable":true},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"xlogP":{"type":"number","format":"double","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"}},"nullable":true},"StoredJobSubmission":{"required":["editable","jobSubmission","name"],"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission"}}},"AccountCredentials":{"type":"object","properties":{"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"refreshToken":{"type":"string","nullable":true}},"description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service."},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNetworkExperimental":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNodeExperimental":{"type":"object","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/TraceAnnotationTypeExperimental"},"description":{"type":"string","nullable":true},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32","nullable":true},"to":{"type":"integer","format":"int32","nullable":true}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceAnnotationTypeExperimental":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"TraceExperimental":{"type":"object","properties":{"id":{"type":"string"},"sampleId":{"type":"string","nullable":true},"sampleName":{"type":"string","nullable":true},"label":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.","format":"double"},"noiseLevel":{"type":"number","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.","format":"double"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceSetExperimental":{"type":"object","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"SpectralLibraryMatchOptField":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"SpectralLibraryMatchSummary":{"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"],"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}}},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"QuantificationMeasure":{"type":"string","enum":["APEX_HEIGHT"]},"QuantificationColumnType":{"type":"string","enum":["SAMPLES"]},"QuantificationRowType":{"type":"string","enum":["FEATURES"]},"QuantificationTableExperimental":{"type":"object","properties":{"quantificationType":{"$ref":"#/components/schemas/QuantificationMeasure"},"rowType":{"$ref":"#/components/schemas/QuantificationRowType"},"columnType":{"$ref":"#/components/schemas/QuantificationColumnType"},"rowIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"columnIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"rowNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"columnNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AlignedFeatureQualityExperimental":{"required":["alignedFeatureId","categories","overallQuality"],"type":"object","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"$ref":"#/components/schemas/DataQuality"},"weight":{"$ref":"#/components/schemas/QualityWeight"}}},"QualityWeight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]},"FormulaCandidateOptField":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"AnnotatedMsMsData":{"required":["mergedMs2","ms2Spectra"],"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}},"StructureCandidateOptField":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"xlogP":{"type":"number","format":"double","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"required":["availableILPSolvers","supportedILPSolvers"],"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API","nullable":true},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application","nullable":true},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application","nullable":true},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application","nullable":true},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries","nullable":true},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries","nullable":true},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services","nullable":true},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.","nullable":true},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS","nullable":true},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"$ref":"#/components/schemas/Solver"}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}}},"Solver":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]},"GuiInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"The project this instance is running on"}}},"ConnectionCheck":{"required":["errors","licenseInfo"],"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}}},"ConnectionError":{"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"],"type":"object","properties":{"errorType":{"$ref":"#/components/schemas/ConnectionErrorType"},"errorKlass":{"$ref":"#/components/schemas/ConnectionErrorClass"},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32","nullable":true},"serverResponseErrorMessage":{"type":"string","nullable":true},"error":{"type":"boolean"},"warning":{"type":"boolean"}}},"ConnectionErrorClass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"ConnectionErrorType":{"type":"string","enum":["WARNING","ERROR"]},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to.","nullable":true},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to.","nullable":true},"subscription":{"$ref":"#/components/schemas/Subscription"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables"},"terms":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}},"nullable":true},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}},"nullable":true}}}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/ProjectInfoOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/ProjectInfoOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/ProjectInfoOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-zA-Z0-9-_]+$"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters","description":"configuration for biotransformer execution. If null, BioTransformer is not applied."}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n \n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n \n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/CompoundOptField"}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"}}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/FormulaCandidateOptField"}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/FormulaCandidateOptField"}}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/FormulaCandidateOptField"}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n \n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"properties":{"eventType":{"$ref":"#/components/schemas/ProjectEventType"},"projectId":{"type":"string"},"compoundId":{"type":"string"},"featuredId":{"type":"string"},"formulaId":{"type":"string"},"structureInChIKey":{"type":"string"}}},"DataImportEvent":{"properties":{"importJobId":{"type":"string"},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}},"required":["importedCompoundIds","importedFeatureIds"]},"BackgroundComputationsStateEvent":{"properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}},"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"]},"ProjectEventType":{"enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"ProjectInfoOptField":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project."},"type":{"$ref":"#/components/schemas/ProjectType","description":"Type of this project.\n NULL if project type has not yet been specified by importing data."},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested."},"numOfFeatures":{"type":"integer","format":"int32","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation')."},"numOfCompounds":{"type":"integer","format":"int32","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type."},"numOfBytes":{"type":"integer","format":"int64","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation')."}}},"ProjectType":{"type":"string","enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"TagDefinitionImport":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{}},"required":["tagName","valueType"]},"ValueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"TagDefinition":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{},"editable":{"type":"boolean"}},"required":["tagName","valueType"]},"Tag":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss)."}},"required":["tagName"]},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"JobOptField":{"type":"string","enum":["none","command","progress","affectedIds"]},"Job":{"type":"object","description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal.","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task"},"progress":{"$ref":"#/components/schemas/JobProgress","description":"Optional progress information of this job"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"jobEffect":{"$ref":"#/components/schemas/JobEffect","description":"Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested"}}},"JobEffect":{"type":"string","enum":["IMPORT","COMPUTATION","DELETION"]},"JobProgress":{"type":"object","description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not"},"state":{"$ref":"#/components/schemas/JobState","description":"Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully."},"currentProgress":{"type":"integer","format":"int64","description":"Current progress value of the job."},"maxProgress":{"type":"integer","format":"int64","description":"Progress value to reach (might also change during execution)"},"message":{"type":"string","description":"Progress information and warnings."},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed."}}},"JobState":{"type":"string","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"AggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"QuantMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"BasicSpectrum":{"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."}},"required":["cosineQuery","peaks"]},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","format":"int32","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits"}}},"DBLink":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"required":["name"]},"PeakPair":{"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}},"required":["queryPeak","referencePeak"]},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","format":"float","description":"Similarity between query and reference spectrum"},"sharedPeaks":{"type":"integer","format":"int32","description":"Number of shared/matched peaks"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"$ref":"#/components/schemas/SpectralMatchType","default":"IDENTITY"},"inchiKey":{"type":"string"},"referenceSpectrumType":{"$ref":"#/components/schemas/SpectrumType","default":"SPECTRUM"},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"$ref":"#/components/schemas/SpectrumType"}},"required":["inchiKey","querySpectrumIndex","similarity","uuid"]},"SpectralMatchType":{"type":"string","enum":["IDENTITY","ANALOG"]},"SpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"}}},"SearchableDatabase":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created."},"dbVersion":{"type":"integer","format":"int32","description":"database schema version"},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","format":"int64","description":"Number of unique compounds available in this database."},"numberOfFormulas":{"type":"integer","format":"int64","description":"Number of different molecular formulas available in this database."},"numberOfReferenceSpectra":{"type":"integer","format":"int64","description":"Number of reference spectra available in this database"},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded"}},"required":["customDb","databaseId","searchable","updateNeeded"]},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string"},"userEmail":{"type":"string"},"gravatarURL":{"type":"string"},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string"}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription"},"expirationDate":{"type":"string","format":"date-time"},"startDate":{"type":"string","format":"date-time"},"countQueries":{"type":"boolean"},"instanceLimit":{"type":"integer","format":"int32","description":"Limit of instances (features) that can be computed with this subscription"},"instanceHashRecordingTime":{"type":"integer","format":"int32","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is"},"maxQueriesPerInstance":{"type":"integer","format":"int32","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time."},"maxUserAccounts":{"type":"integer","format":"int32"},"serviceUrl":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"tos":{"type":"string"},"pp":{"type":"string"},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}}},"ConfidenceMode":{"type":"string","enum":["OFF","EXACT","APPROXIMATE"]},"FingerprintPrediction":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended."},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used."}}},"InstrumentProfile":{"type":"string","description":"Select the profile that is the closest to your instrumental setup. If nothing fits, use QTOF.","enum":["QTOF","ORBITRAP"]},"IsotopeMs2Strategy":{"type":"string","enum":["IGNORE","FILTER","SCORE"]},"JobSubmission":{"type":"object","description":"Object to submit a job to be executed by SIRIUS","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not."},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch","description":"Parameter Object for spectral library search tool (CLI-Tool: spectra-search).\n Library search results can be used to enhance formula search results\n If NULL the tool will not be executed."},"formulaIdParams":{"$ref":"#/components/schemas/Sirius","description":"Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius).\n If NULL the tool will not be executed."},"zodiacParams":{"$ref":"#/components/schemas/Zodiac","description":"Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac).\n If NULL the tool will not be executed."},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction","description":"Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint).\n If NULL the tool will not be executed."},"canopusParams":{"$ref":"#/components/schemas/Canopus","description":"Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus).\n If NULL the tool will not be executed."},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch","description":"Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure).\n If NULL the tool will not be executed."},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist","description":"Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist)\n If NULL the tool will not be executed."},"configMap":{"type":"object","additionalProperties":{"type":"string"},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint."}}},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","format":"int32","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist."}}},"Sirius":{"type":"object","description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"$ref":"#/components/schemas/InstrumentProfile","description":"Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data."},"numberOfCandidates":{"type":"integer","format":"int32","description":"Number of formula candidates to keep as result list (Formula Candidates)."},"numberOfCandidatesPerIonization":{"type":"integer","format":"int32","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported."},"massAccuracyMS2ppm":{"type":"number","format":"double","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered."},"isotopeMs2Settings":{"$ref":"#/components/schemas/IsotopeMs2Strategy","description":"Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS"},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score."},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate."},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled."},"performDenovoBelowMz":{"type":"number","format":"double","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation."},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","items":{"type":"string"}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search."},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered"},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)"},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","items":{"type":"string"}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout","description":"Timout settings for the ILP solver used for fragmentation tree computation\n secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint.\n secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic","description":"Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations.\n useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly\n useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically."},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied"},"minScoreToInjectSpecLibMatch":{"type":"number","format":"double","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected."},"minPeaksToInjectSpecLibMatch":{"type":"integer","format":"int32","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied."}}},"SpectralLibrarySearch":{"type":"object","description":"User/developer friendly parameter subset for the Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"precursorDeviationPpm":{"type":"number","format":"double","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used."},"minSimilarity":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered a hit."},"minNumOfPeaks":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered a hit."},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit."},"minNumOfPeaksAnalogue":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit."},"scoring":{"$ref":"#/components/schemas/SpectralMatchingType","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses."},"peakDeviationPpm":{"type":"number","format":"double","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks."}}},"SpectralMatchingType":{"type":"string","enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"StructureDbSearch":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class."},"expansiveSearchConfidenceMode":{"$ref":"#/components/schemas/ConfidenceMode","description":"Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification."}}},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}}},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}}},"Zodiac":{"type":"object","description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z."},"consideredCandidatesAt800Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z."},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining."},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds","description":"thresholdFilter = Defines the proportion of edges of the complete network which will be ignored.\n minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to."},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs","description":"iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\"\n burnInPeriod: \"Number of epochs considered as 'burn-in period'.\n numberOfMarkovChains: Number of separate Gibbs sampling runs."},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring","description":"Configure the use of identity spectral library search results as anchors in ZODIAC network"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes","description":"Configure the use of analogue spectral library search results as anchors in ZODIAC network"}}},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}}},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}}},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}}},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}}},"ImportResult":{"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}},"required":["affectedAlignedFeatureIds","affectedCompoundIds"]},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}}},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","default":true,"description":"Specifies whether LC/MS runs should be aligned"},"noiseIntensity":{"type":"number","format":"double","default":-1,"description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient."},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace."},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data."},"alignMaxRetentionTimeDeviation":{"type":"number","format":"double","default":-1,"description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data."},"minSNR":{"type":"number","format":"double","default":3,"description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory"}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name"},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}},"required":["features"]},"DataQuality":{"type":"string","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"FeatureImport":{"type":"object","description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail.","properties":{"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"dataQuality":{"$ref":"#/components/schemas/DataQuality","description":"A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis."},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum","description":"Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion.\n Note: 'ms1Spectra' will be ignored if given."},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"required":["charge","ionMass"]},"CompoundOptField":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"AlignedFeatureOptField":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"AlignedFeature":{"type":"object","description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view.","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32","description":"Ion mode (charge) this feature has been measured in."},"detectedAdducts":{"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"quality":{"$ref":"#/components/schemas/DataQuality","description":"Quality of this feature."},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData","description":"Mass Spec data of this feature (input data)"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top annotations of this feature.\n If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the\n structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned.\n CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected\n\n Null if it was not requested und non-null otherwise."},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top de novo annotations of this feature.\n The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and\n CANOPUS compoundClasses correspond to the FormulaCandidate.\n\n Null if it was not requested und non-null otherwise."},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools","description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}},"required":["charge","detectedAdducts"]},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"type":"object","description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation","description":"Optional Annotations of this spectrum."}},"required":["cosineQuery","peaks"]},"CanopusPrediction":{"type":"object","description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name"},"rtStartSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time start (earliest rt) of this compound"},"rtEndSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time end (latest rt) of this compound"},"neutralMass":{"type":"number","format":"double","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass"},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"The consensus of the top annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo","description":"The consensus of the top de novo annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"Alternative annotations selected by the User."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"CompoundClass":{"type":"object","description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","properties":{"type":{"$ref":"#/components/schemas/CompoundClassType","description":"Specifies the classification ontology the CompoundClass belongs to."},"level":{"type":"string","description":"Name of the level this compound class belongs to"},"levelIndex":{"type":"integer","format":"int32","description":"Index of the level this compound class belongs to"},"name":{"type":"string","description":"Name of the compound class."},"description":{"type":"string","description":"Description of the compound class."},"id":{"type":"integer","format":"int32","description":"Unique id of the class. Might be undefined for certain classification ontologies."},"probability":{"type":"number","format":"double","description":"prediction probability"},"index":{"type":"integer","format":"int32","description":"Absolute index of this property in the predicted vector/embedding"},"parentId":{"type":"integer","format":"int32","description":"Unique id of the parent class. Might be undefined for certain classification ontologies."},"parentName":{"type":"string","description":"Name of the parent compound class."}}},"CompoundClassType":{"type":"string","description":"Defines compound class ontologies that are available.","enum":["ClassyFire","NPC"]},"CompoundClasses":{"type":"object","description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass","description":"Pathway level NPC class with the highest probability"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass","description":"Superclass level NPC class with the highest probability"},"npcClass":{"$ref":"#/components/schemas/CompoundClass","description":"Class level NPC class with the highest probability"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}}},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionCSI","description":"Null if this is a custom selection"},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate","description":"Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula\n Might be null if no consensus structure is available."},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported"},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported"}}},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionDeNovo","description":"Criterion that was used to select the consensus annotation."}}},"ConsensusCriterionCSI":{"type":"string","enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"ConsensusCriterionDeNovo":{"type":"string","enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"FeatureAnnotations":{"type":"object","description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate","description":"Best matching FormulaCandidate."},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored","description":"Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates."},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses","description":"Best matching compound classes that correspond to the formulaAnnotation"},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit is correct."},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct."},"expansiveSearchState":{"$ref":"#/components/schemas/ConfidenceMode","description":"Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)"},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","items":{"type":"string"}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","items":{"type":"string"}}}},"FormulaCandidate":{"type":"object","description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","format":"double","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available"},"siriusScore":{"type":"number","format":"double","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available"},"isotopeScore":{"type":"number","format":"double"},"treeScore":{"type":"number","format":"double"},"zodiacScore":{"type":"number","format":"double","description":"Zodiac Score of the formula candidate.\n If NULL result is not available"},"numOfExplainedPeaks":{"type":"integer","format":"int32"},"numOfExplainablePeaks":{"type":"integer","format":"int32"},"totalExplainedIntensity":{"type":"number","format":"double"},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree","description":"The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore)."},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum","description":"Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation","description":"The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore."},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation","description":"ElGordo lipid annotation of this candidate.\n NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","items":{"type":"number","format":"double"}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction","description":"All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)"}}},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct"},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss."},"massDeviationDa":{"type":"number","format":"double"},"massDeviationPpm":{"type":"number","format":"double"},"score":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"mz":{"type":"number","format":"double"}}},"FragmentationTree":{"type":"object","description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}}},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}}},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid."},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class."},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class."},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available."},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS."}}},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}}},"ParentPeak":{"type":"object","description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","properties":{"parentIdx":{"type":"integer","format":"int32","description":"Index to the parent peak connected by this loss in this particular spectrum"},"parentFragmentId":{"type":"integer","format":"int32","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"required":["lossFormula","parentFragmentId","parentIdx"]},"PeakAnnotation":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak"},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak"},"exactMass":{"type":"number","format":"double","description":"Exact mass of the annotated molecular formula and adduct"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm"},"recalibratedMassDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa"},"recalibratedMassDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm"},"parentPeak":{"$ref":"#/components/schemas/ParentPeak","description":"Link to the parent peak connected via the neutral loss from the fragmentation tree."},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","items":{"type":"integer","format":"int32"}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureScore":{"type":"number","format":"float","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested."},"hydrogenRearrangements":{"type":"integer","format":"int32","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested."}},"required":["fragmentId"]},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum"},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum"},"exactMass":{"type":"number","format":"double","description":"Exact mass based on the annotated molecular formula and ionization"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm"},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationScore":{"type":"number","format":"double","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested."}}},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"}}},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"}}},"StoredJobSubmission":{"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission","description":"The JobSubmission identified by the name"}},"required":["editable","jobSubmission","name"]},"BioTransformerParameters":{"type":"object","properties":{"cyp450Mode":{"$ref":"#/components/schemas/Cyp450Mode","default":"COMBINED","description":"Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Cyp450 mode."},"p2Mode":{"$ref":"#/components/schemas/P2Mode","default":"BT_RULE_BASED","description":"Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Phase II mode."},"useDB":{"type":"boolean","default":true,"description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\""},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}},"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"]},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"$ref":"#/components/schemas/MetabolicTransformation"},"iterations":{"type":"integer","format":"int32"}}},"Cyp450Mode":{"type":"string","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"MetabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"P2Mode":{"type":"string","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"AccountCredentials":{"type":"object","description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service.","properties":{"username":{"type":"string"},"password":{"type":"string"},"refreshToken":{"type":"string"}}},"RunOptField":{"type":"string","enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string"},"ionization":{"type":"string"},"fragmentation":{"type":"string"},"massAnalyzers":{"type":"array","items":{"type":"string"}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}}},"AdductNetworkExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}}},"AdductNodeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}}},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"type":{"$ref":"#/components/schemas/TraceAnnotationTypeExperimental"},"description":{"type":"string"},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"}}},"TraceAnnotationTypeExperimental":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"TraceExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"id":{"type":"string"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","format":"double","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared."},"noiseLevel":{"type":"number","format":"double","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios."}}},"TraceSetExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}}},"QuantRowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"QuantTableExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","items":{"type":"integer","format":"int64"}},"columnIds":{"type":"array","items":{"type":"integer","format":"int64"}},"rowNames":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"$ref":"#/components/schemas/AggregationType"},"quantification":{"$ref":"#/components/schemas/QuantMeasure"},"quantType":{"$ref":"#/components/schemas/QuantRowType"},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}},"required":["foldChange","objectId","quantType"]},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"$ref":"#/components/schemas/StatisticsType"},"aggregationType":{"$ref":"#/components/schemas/AggregationType"},"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"StatisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"SpectralLibraryMatchOptField":{"type":"string","enum":["none","referenceSpectrum"]},"SpectralLibraryMatchSummary":{"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}},"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"]},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"$ref":"#/components/schemas/DataQuality","description":"Overall Quality"},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"required":["alignedFeatureId","categories","overallQuality"]},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"$ref":"#/components/schemas/DataQuality"},"weight":{"$ref":"#/components/schemas/QualityWeight"}}},"QualityWeight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]},"FormulaCandidateOptField":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"AnnotatedMsMsData":{"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}},"required":["mergedMs2","ms2Spectra"]},"StructureCandidateOptField":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API"},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application"},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application"},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application"},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries"},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries"},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services"},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable."},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS"},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"$ref":"#/components/schemas/Solver"}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}},"required":["availableILPSolvers","supportedILPSolvers"]},"Solver":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]},"ConnectionCheck":{"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}},"required":["errors","licenseInfo"]},"ConnectionError":{"type":"object","properties":{"errorType":{"$ref":"#/components/schemas/ConnectionErrorType"},"errorKlass":{"$ref":"#/components/schemas/ConnectionErrorClass"},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32"},"serverResponseErrorMessage":{"type":"string"},"error":{"type":"boolean"},"warning":{"type":"boolean"}},"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"]},"ConnectionErrorClass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"ConnectionErrorType":{"type":"string","enum":["WARNING","ERROR"]},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to."},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The active subscription that was used the requested the information"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables","description":"Status of the consumable resources of the {@link Subscription Subscription}."},"terms":{"type":"array","items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}}},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}}},"ApiVersion":{"type":"string","enum":["V2","V3"]},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file diff --git a/.updater/api/api-docs-strings.json b/.updater/api/api-docs-strings.json index c5dd1a32..b9aec43b 100644 --- a/.updater/api/api-docs-strings.json +++ b/.updater/api/api-docs-strings.json @@ -1 +1 @@ -{"openapi":"3.0.1","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Info","description":"Status und Information"},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Gui","description":"Basic GUI Control: Open and close SIRIUS Graphical User Interface (GUI) on specified projects."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from application","description":"Close project-space and remove it from application. Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["command","progress"]}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["command","progress"]}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"description":"files to import into project","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Files to import into project.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"description":"Files to import into project.","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}}}},"required":true},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/gui":{"post":{"tags":["Gui"],"summary":"Open GUI instance on specified project-space and bring the GUI window to foreground.","description":"Open GUI instance on specified project-space and bring the GUI window to foreground.","operationId":"openGui","parameters":[{"name":"projectId","in":"path","description":"of project-space the GUI instance will connect to.","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created"}}},"delete":{"tags":["Gui"],"summary":"Close GUI instance of given project-space if available.","description":"Close GUI instance of given project-space if available.","operationId":"closeGui","parameters":[{"name":"projectId","in":"path","description":"if project-space the GUI instance is connected to.","required":true,"schema":{"type":"string"}},{"name":"closeProject","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","nullable":true,"enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","nullable":true,"enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"description":"files to be imported","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"description":"Job of the import command to be executed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns the traces of the given compound. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns a single quantification table row for the given feature. The quantification table contains the intensity of the feature within all\n samples it is contained in.","operationId":"getQuantificationExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_HEIGHT"]}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantificationTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeaturesQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belong sto.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable.","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n These annotations are only available if a fragmentation tree is available.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable.","description":"Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formula result identifier.","description":"Returns Lipid annotation (ElGordo) for the given formula result identifier.\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier.","description":"Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n This tree is used to rank formula candidates (treeScore).","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier\n This fingerprint is used to perform structure database search and predict compound classes.","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Best matching compound classes,\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","description":"Best matching compound classes,\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n These annotations are only available if a fragmentation tree is available.","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","description":"Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable.","description":"Returns the adduct network for a given aligned feature id together with all merged traces contained in the network.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotations","topAnnotationsDeNovo","computedTools"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"DEPRECATED: use /job-configs to get all configs with names.","description":"Get all (non-default) job configuration names","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/guis":{"get":{"tags":["Gui"],"summary":"Get list of currently running gui windows, managed by this SIRIUS instance.","description":"Get list of currently running gui windows, managed by this SIRIUS instance.\n Note this will not show any Clients that are connected from a separate process!","operationId":"getGuis","responses":{"200":{"description":"List of GUI windows that are currently managed by this SIRIUS instance.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GuiInfo"}}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search contains also all available custom DB.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"ProjectChangeEvent":{"type":"object","properties":{"eventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"projectId":{"type":"string"},"compoundId":{"type":"string","nullable":true},"featuredId":{"type":"string","nullable":true},"formulaId":{"type":"string","nullable":true},"structureInChIKey":{"type":"string","nullable":true}}},"DataImportEvent":{"required":["importedCompoundIds","importedFeatureIds"],"type":"object","properties":{"importJobId":{"type":"string","nullable":true},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}}},"BackgroundComputationsStateEvent":{"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"],"type":"object","properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}}},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project.","nullable":true},"type":{"type":"string","description":"Type of this project.\n NULL if project type has not yet been specified by importing data.","nullable":true,"enum":["DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.","nullable":true},"numOfFeatures":{"type":"integer","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').","format":"int32","nullable":true},"numOfCompounds":{"type":"integer","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.","format":"int32","nullable":true},"numOfBytes":{"type":"integer","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').","format":"int64","nullable":true}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false}}},"SearchableDatabase":{"required":["customDb","databaseId","searchable","updateNeeded"],"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created.","nullable":true},"dbVersion":{"type":"integer","description":"database schema version","format":"int32","nullable":true},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","description":"Number of unique compounds available in this database.","format":"int64","nullable":true},"numberOfFormulas":{"type":"integer","description":"Number of different molecular formulas available in this database.","format":"int64","nullable":true},"numberOfReferenceSpectra":{"type":"integer","description":"Number of reference spectra available in this database","format":"int64","nullable":true},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded","nullable":true}}},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string","nullable":true},"userEmail":{"type":"string"},"gravatarURL":{"type":"string","nullable":true},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string","nullable":true}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription","nullable":true},"expirationDate":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"countQueries":{"type":"boolean","nullable":true},"instanceLimit":{"type":"integer","description":"Limit of instances (features) that can be computed with this subscription","format":"int32","nullable":true},"instanceHashRecordingTime":{"type":"integer","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is","format":"int32","nullable":true},"maxQueriesPerInstance":{"type":"integer","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.","format":"int32","nullable":true},"maxUserAccounts":{"type":"integer","format":"int32","nullable":true},"serviceUrl":{"type":"string"},"description":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"tos":{"type":"string","nullable":true},"pp":{"type":"string","nullable":true}}},"Canopus":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}},"description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","nullable":true},"FingerprintPrediction":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.","nullable":true},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.","nullable":true}},"description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","nullable":true},"JobSubmission":{"type":"object","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not.","nullable":true},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch"},"formulaIdParams":{"$ref":"#/components/schemas/Sirius"},"zodiacParams":{"$ref":"#/components/schemas/Zodiac"},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction"},"canopusParams":{"$ref":"#/components/schemas/Canopus"},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch"},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist"},"configMap":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.","nullable":true}},"description":"Object to submit a job to be executed by SIRIUS"},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.","format":"int32","nullable":true}},"nullable":true},"Sirius":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"type":"string","description":"Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data.","nullable":true,"enum":["QTOF","ORBITRAP"]},"numberOfCandidates":{"type":"integer","description":"Number of formula candidates to keep as result list (Formula Candidates).","format":"int32","nullable":true},"numberOfCandidatesPerIonization":{"type":"integer","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.","format":"int32","nullable":true},"massAccuracyMS2ppm":{"type":"number","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.","format":"double","nullable":true},"isotopeMs2Settings":{"type":"string","description":"Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS","nullable":true,"enum":["IGNORE","FILTER","SCORE"]},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.","nullable":true},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.","nullable":true},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled.","nullable":true},"performDenovoBelowMz":{"type":"number","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.","format":"double","nullable":true},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","nullable":true,"items":{"type":"string","nullable":true}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.","nullable":true},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered","nullable":true},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)","nullable":true},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","nullable":true,"items":{"type":"string","nullable":true}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic"},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied","nullable":true},"minScoreToInjectSpecLibMatch":{"type":"number","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.","format":"double","nullable":true},"minPeaksToInjectSpecLibMatch":{"type":"integer","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.","format":"int32","nullable":true}},"description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","nullable":true},"SpectralLibrarySearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"peakDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching peaks.","format":"double","nullable":true},"precursorDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.","format":"double","nullable":true},"scoring":{"type":"string","description":"Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.","nullable":true,"enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE"]}},"description":"User/developer friendly parameter subset for the Spectral library search tool.","nullable":true},"StructureDbSearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.","nullable":true},"expansiveSearchConfidenceMode":{"type":"string","description":"Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]}},"description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","nullable":true},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}},"nullable":true},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}},"nullable":true},"Zodiac":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.","format":"int32","nullable":true},"consideredCandidatesAt800Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.","format":"int32","nullable":true},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.","nullable":true},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds"},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs"}},"description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","nullable":true},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}},"nullable":true},"Job":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task","nullable":true},"progress":{"$ref":"#/components/schemas/JobProgress"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"jobEffect":{"type":"string","description":"Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested","nullable":true,"enum":["IMPORT","COMPUTATION","DELETION"]}},"description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal."},"JobProgress":{"type":"object","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not","nullable":true},"state":{"type":"string","description":"Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully.","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"currentProgress":{"type":"integer","description":"Current progress value of the job.","format":"int64","nullable":true},"maxProgress":{"type":"integer","description":"Progress value to reach (might also change during execution)","format":"int64","nullable":true},"message":{"type":"string","description":"Progress information and warnings.","nullable":true},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed.","nullable":true}},"description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","nullable":true},"ImportResult":{"required":["affectedAlignedFeatureIds","affectedCompoundIds"],"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}}},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","description":"Specifies whether LC/MS runs should be aligned","default":true}}},"BasicSpectrum":{"required":["peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)","format":"double","nullable":true}},"nullable":true},"CompoundImport":{"required":["features"],"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"FeatureImport":{"required":["charge","ionMass"],"type":"object","properties":{"name":{"type":"string","nullable":true},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.","nullable":true},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","nullable":true,"items":{"type":"string","nullable":true}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"dataQuality":{"type":"string","description":"A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail."},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"AlignedFeature":{"required":["charge","detectedAdducts"],"type":"object","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","description":"Ion mode (charge) this feature has been measured in.","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"quality":{"type":"string","description":"Quality of this feature.","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations"},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations"},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools"}},"description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view."},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"required":["peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)","format":"double","nullable":true},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation"}},"description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","nullable":true},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits","format":"int32"}},"nullable":true},"CanopusPrediction":{"type":"object","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","nullable":true},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"rtStartSeconds":{"type":"number","description":"The merged/consensus retention time start (earliest rt) of this compound","format":"double","nullable":true},"rtEndSeconds":{"type":"number","description":"The merged/consensus retention time end (latest rt) of this compound","format":"double","nullable":true},"neutralMass":{"type":"number","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass","format":"double","nullable":true},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"}}},"CompoundClass":{"type":"object","properties":{"type":{"type":"string","description":"Specifies the classification ontology the CompoundClass belongs to.","nullable":true,"enum":["ClassyFire","NPC"]},"level":{"type":"string","description":"Name of the level this compound class belongs to","nullable":true},"levelIndex":{"type":"integer","description":"Index of the level this compound class belongs to","format":"int32","nullable":true},"name":{"type":"string","description":"Name of the compound class.","nullable":true},"description":{"type":"string","description":"Description of the compound class.","nullable":true},"id":{"type":"integer","description":"Unique id of the class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"probability":{"type":"number","description":"prediction probability","format":"double"},"index":{"type":"integer","description":"Absolute index of this property in the predicted vector/embedding","format":"int32"},"parentId":{"type":"integer","description":"Unique id of the parent class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"parentName":{"type":"string","description":"Name of the parent compound class.","nullable":true}},"description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","nullable":true},"CompoundClasses":{"type":"object","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass"},"npcClass":{"$ref":"#/components/schemas/CompoundClass"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","nullable":true},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}},"description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.","nullable":true},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"type":"string","description":"Null if this is a custom selection","nullable":true,"enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate"},"confidenceExactMatch":{"type":"number","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true}},"nullable":true},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"type":"string","description":"Criterion that was used to select the consensus annotation.","nullable":true,"enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]}},"nullable":true},"DBLink":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"nullable":true},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}},"nullable":true},"FeatureAnnotations":{"type":"object","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate"},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored"},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses"},"confidenceExactMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit is correct.","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.","format":"double","nullable":true},"expansiveSearchState":{"type":"string","description":"Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}}},"description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","nullable":true},"FormulaCandidate":{"type":"object","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"siriusScore":{"type":"number","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"isotopeScore":{"type":"number","format":"double","nullable":true},"treeScore":{"type":"number","format":"double","nullable":true},"zodiacScore":{"type":"number","description":"Zodiac Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"numOfExplainedPeaks":{"type":"integer","format":"int32","nullable":true},"numOfExplainablePeaks":{"type":"integer","format":"int32","nullable":true},"totalExplainedIntensity":{"type":"number","format":"double","nullable":true},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree"},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation"},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","nullable":true,"items":{"type":"number","format":"double","nullable":true}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction"}},"description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","nullable":true},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct","nullable":true},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.","nullable":true},"massDeviationDa":{"type":"number","format":"double","nullable":true},"massDeviationPpm":{"type":"number","format":"double","nullable":true},"score":{"type":"number","format":"double","nullable":true},"intensity":{"type":"number","format":"double","nullable":true},"mz":{"type":"number","format":"double","nullable":true}}},"FragmentationTree":{"type":"object","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}},"description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","nullable":true},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.","nullable":true},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class.","nullable":true},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class.","nullable":true},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.","nullable":true},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS.","nullable":true}},"nullable":true},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","properties":{"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","nullable":true},"ParentPeak":{"required":["lossFormula","parentFragmentId","parentIdx"],"type":"object","properties":{"parentIdx":{"type":"integer","description":"Index to the parent peak connected by this loss in this particular spectrum","format":"int32"},"parentFragmentId":{"type":"integer","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","nullable":true},"PeakAnnotation":{"required":["fragmentId"],"type":"object","properties":{"fragmentId":{"type":"integer","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak","nullable":true},"exactMass":{"type":"number","description":"Exact mass of the annotated molecular formula and adduct","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm","format":"double","nullable":true},"recalibratedMassDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa","format":"double","nullable":true},"recalibratedMassDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm","format":"double","nullable":true},"parentPeak":{"$ref":"#/components/schemas/ParentPeak"},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.","format":"float","nullable":true},"hydrogenRearrangements":{"type":"integer","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.","format":"int32","nullable":true}},"nullable":true},"SpectralLibraryMatch":{"required":["inchiKey","querySpectrumIndex","similarity","uuid"],"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","format":"double"},"sharedPeaks":{"type":"integer","format":"int32"},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"string"},"smiles":{"type":"string"},"inchiKey":{"type":"string"},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum","nullable":true},"exactMass":{"type":"number","description":"Exact mass based on the annotated molecular formula and ionization","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm","format":"double","nullable":true},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n\n Null if substructure annotation not available or not requested.","format":"double","nullable":true}},"nullable":true},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"xlogP":{"type":"number","format":"double","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}},"nullable":true},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"xlogP":{"type":"number","format":"double","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"}},"nullable":true},"StoredJobSubmission":{"required":["editable","jobSubmission","name"],"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission"}}},"AccountCredentials":{"type":"object","properties":{"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"refreshToken":{"type":"string","nullable":true}},"description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service."},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNetworkExperimental":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNodeExperimental":{"type":"object","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","properties":{"type":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"description":{"type":"string","nullable":true},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32","nullable":true},"to":{"type":"integer","format":"int32","nullable":true}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceExperimental":{"type":"object","properties":{"id":{"type":"string"},"sampleId":{"type":"string","nullable":true},"sampleName":{"type":"string","nullable":true},"label":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.","format":"double"},"noiseLevel":{"type":"number","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.","format":"double"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceSetExperimental":{"type":"object","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"SpectralLibraryMatchSummary":{"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"],"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}}},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"QuantificationTableExperimental":{"type":"object","properties":{"quantificationType":{"type":"string","enum":["APEX_HEIGHT"]},"rowType":{"type":"string","enum":["FEATURES"]},"columnType":{"type":"string","enum":["SAMPLES"]},"rowIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"columnIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"rowNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"columnNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AlignedFeatureQualityExperimental":{"required":["alignedFeatureId","categories","overallQuality"],"type":"object","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"type":"string","description":"Overall Quality","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"weight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]}}},"AnnotatedMsMsData":{"required":["mergedMs2","ms2Spectra"],"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"xlogP":{"type":"number","format":"double","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"required":["availableILPSolvers","supportedILPSolvers"],"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API","nullable":true},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application","nullable":true},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application","nullable":true},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application","nullable":true},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries","nullable":true},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries","nullable":true},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services","nullable":true},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.","nullable":true},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS","nullable":true},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}}},"GuiInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"The project this instance is running on"}}},"ConnectionCheck":{"required":["errors","licenseInfo"],"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}}},"ConnectionError":{"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"],"type":"object","properties":{"errorType":{"type":"string","enum":["WARNING","ERROR"]},"errorKlass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32","nullable":true},"serverResponseErrorMessage":{"type":"string","nullable":true},"error":{"type":"boolean"},"warning":{"type":"boolean"}}},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to.","nullable":true},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to.","nullable":true},"subscription":{"$ref":"#/components/schemas/Subscription"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables"},"terms":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}},"nullable":true},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}},"nullable":true}}}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-zA-Z0-9-_]+$"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters","description":"configuration for biotransformer execution. If null, BioTransformer is not applied."}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n \n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n \n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","referenceSpectrum"]}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","referenceSpectrum"]}}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","referenceSpectrum"]}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]}}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n \n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"properties":{"eventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"projectId":{"type":"string"},"compoundId":{"type":"string"},"featuredId":{"type":"string"},"formulaId":{"type":"string"},"structureInChIKey":{"type":"string"}}},"DataImportEvent":{"properties":{"importJobId":{"type":"string"},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}},"required":["importedCompoundIds","importedFeatureIds"]},"BackgroundComputationsStateEvent":{"properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}},"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"]},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project."},"type":{"type":"string","description":"Type of this project.\n NULL if project type has not yet been specified by importing data.","enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested."},"numOfFeatures":{"type":"integer","format":"int32","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation')."},"numOfCompounds":{"type":"integer","format":"int32","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type."},"numOfBytes":{"type":"integer","format":"int64","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation')."}}},"TagDefinitionImport":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{}},"required":["tagName","valueType"]},"TagDefinition":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{},"editable":{"type":"boolean"}},"required":["tagName","valueType"]},"Tag":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss)."}},"required":["tagName"]},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"Job":{"type":"object","description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal.","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task"},"progress":{"$ref":"#/components/schemas/JobProgress","description":"Optional progress information of this job"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"jobEffect":{"type":"string","description":"Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested","enum":["IMPORT","COMPUTATION","DELETION"]}}},"JobProgress":{"type":"object","description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not"},"state":{"type":"string","description":"Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully.","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"currentProgress":{"type":"integer","format":"int64","description":"Current progress value of the job."},"maxProgress":{"type":"integer","format":"int64","description":"Progress value to reach (might also change during execution)"},"message":{"type":"string","description":"Progress information and warnings."},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed."}}},"BasicSpectrum":{"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."}},"required":["cosineQuery","peaks"]},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","format":"int32","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits"}}},"DBLink":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"required":["name"]},"PeakPair":{"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}},"required":["queryPeak","referencePeak"]},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","format":"float","description":"Similarity between query and reference spectrum"},"sharedPeaks":{"type":"integer","format":"int32","description":"Number of shared/matched peaks"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"type":"string","default":"IDENTITY","enum":["IDENTITY","ANALOG"]},"inchiKey":{"type":"string"},"referenceSpectrumType":{"type":"string","default":"SPECTRUM","enum":["SPECTRUM","MERGED_SPECTRUM"]},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]}},"required":["inchiKey","querySpectrumIndex","similarity","uuid"]},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"}}},"SearchableDatabase":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created."},"dbVersion":{"type":"integer","format":"int32","description":"database schema version"},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","format":"int64","description":"Number of unique compounds available in this database."},"numberOfFormulas":{"type":"integer","format":"int64","description":"Number of different molecular formulas available in this database."},"numberOfReferenceSpectra":{"type":"integer","format":"int64","description":"Number of reference spectra available in this database"},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded"}},"required":["customDb","databaseId","searchable","updateNeeded"]},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string"},"userEmail":{"type":"string"},"gravatarURL":{"type":"string"},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string"}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription"},"expirationDate":{"type":"string","format":"date-time"},"startDate":{"type":"string","format":"date-time"},"countQueries":{"type":"boolean"},"instanceLimit":{"type":"integer","format":"int32","description":"Limit of instances (features) that can be computed with this subscription"},"instanceHashRecordingTime":{"type":"integer","format":"int32","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is"},"maxQueriesPerInstance":{"type":"integer","format":"int32","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time."},"maxUserAccounts":{"type":"integer","format":"int32"},"serviceUrl":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"tos":{"type":"string"},"pp":{"type":"string"},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}}},"FingerprintPrediction":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended."},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used."}}},"JobSubmission":{"type":"object","description":"Object to submit a job to be executed by SIRIUS","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not."},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch","description":"Parameter Object for spectral library search tool (CLI-Tool: spectra-search).\n Library search results can be used to enhance formula search results\n If NULL the tool will not be executed."},"formulaIdParams":{"$ref":"#/components/schemas/Sirius","description":"Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius).\n If NULL the tool will not be executed."},"zodiacParams":{"$ref":"#/components/schemas/Zodiac","description":"Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac).\n If NULL the tool will not be executed."},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction","description":"Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint).\n If NULL the tool will not be executed."},"canopusParams":{"$ref":"#/components/schemas/Canopus","description":"Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus).\n If NULL the tool will not be executed."},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch","description":"Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure).\n If NULL the tool will not be executed."},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist","description":"Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist)\n If NULL the tool will not be executed."},"configMap":{"type":"object","additionalProperties":{"type":"string"},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint."}}},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","format":"int32","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist."}}},"Sirius":{"type":"object","description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"type":"string","description":"Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data.","enum":["QTOF","ORBITRAP"]},"numberOfCandidates":{"type":"integer","format":"int32","description":"Number of formula candidates to keep as result list (Formula Candidates)."},"numberOfCandidatesPerIonization":{"type":"integer","format":"int32","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported."},"massAccuracyMS2ppm":{"type":"number","format":"double","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered."},"isotopeMs2Settings":{"type":"string","description":"Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS","enum":["IGNORE","FILTER","SCORE"]},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score."},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate."},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled."},"performDenovoBelowMz":{"type":"number","format":"double","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation."},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","items":{"type":"string"}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search."},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered"},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)"},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","items":{"type":"string"}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout","description":"Timout settings for the ILP solver used for fragmentation tree computation\n secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint.\n secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic","description":"Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations.\n useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly\n useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically."},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied"},"minScoreToInjectSpecLibMatch":{"type":"number","format":"double","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected."},"minPeaksToInjectSpecLibMatch":{"type":"integer","format":"int32","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied."}}},"SpectralLibrarySearch":{"type":"object","description":"User/developer friendly parameter subset for the Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"precursorDeviationPpm":{"type":"number","format":"double","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used."},"minSimilarity":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered a hit."},"minNumOfPeaks":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered a hit."},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit."},"minNumOfPeaksAnalogue":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit."},"scoring":{"type":"string","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.","enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"peakDeviationPpm":{"type":"number","format":"double","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks."}}},"StructureDbSearch":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class."},"expansiveSearchConfidenceMode":{"type":"string","description":"Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.","enum":["OFF","EXACT","APPROXIMATE"]}}},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}}},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}}},"Zodiac":{"type":"object","description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z."},"consideredCandidatesAt800Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z."},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining."},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds","description":"thresholdFilter = Defines the proportion of edges of the complete network which will be ignored.\n minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to."},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs","description":"iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\"\n burnInPeriod: \"Number of epochs considered as 'burn-in period'.\n numberOfMarkovChains: Number of separate Gibbs sampling runs."},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring","description":"Configure the use of identity spectral library search results as anchors in ZODIAC network"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes","description":"Configure the use of analogue spectral library search results as anchors in ZODIAC network"}}},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}}},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}}},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}}},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}}},"ImportResult":{"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}},"required":["affectedAlignedFeatureIds","affectedCompoundIds"]},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}}},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","default":true,"description":"Specifies whether LC/MS runs should be aligned"},"noiseIntensity":{"type":"number","format":"double","default":-1,"description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient."},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace."},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data."},"alignMaxRetentionTimeDeviation":{"type":"number","format":"double","default":-1,"description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data."},"minSNR":{"type":"number","format":"double","default":3,"description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory"}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name"},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}},"required":["features"]},"FeatureImport":{"type":"object","description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail.","properties":{"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"dataQuality":{"type":"string","description":"A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum","description":"Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion.\n Note: 'ms1Spectra' will be ignored if given."},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"required":["charge","ionMass"]},"AlignedFeature":{"type":"object","description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view.","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32","description":"Ion mode (charge) this feature has been measured in."},"detectedAdducts":{"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"quality":{"type":"string","description":"Quality of this feature.","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData","description":"Mass Spec data of this feature (input data)"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top annotations of this feature.\n If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the\n structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned.\n CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected\n\n Null if it was not requested und non-null otherwise."},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top de novo annotations of this feature.\n The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and\n CANOPUS compoundClasses correspond to the FormulaCandidate.\n\n Null if it was not requested und non-null otherwise."},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools","description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}},"required":["charge","detectedAdducts"]},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"type":"object","description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation","description":"Optional Annotations of this spectrum."}},"required":["cosineQuery","peaks"]},"CanopusPrediction":{"type":"object","description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name"},"rtStartSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time start (earliest rt) of this compound"},"rtEndSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time end (latest rt) of this compound"},"neutralMass":{"type":"number","format":"double","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass"},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"The consensus of the top annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo","description":"The consensus of the top de novo annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"Alternative annotations selected by the User."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"CompoundClass":{"type":"object","description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","properties":{"type":{"type":"string","description":"Specifies the classification ontology the CompoundClass belongs to.","enum":["ClassyFire","NPC"]},"level":{"type":"string","description":"Name of the level this compound class belongs to"},"levelIndex":{"type":"integer","format":"int32","description":"Index of the level this compound class belongs to"},"name":{"type":"string","description":"Name of the compound class."},"description":{"type":"string","description":"Description of the compound class."},"id":{"type":"integer","format":"int32","description":"Unique id of the class. Might be undefined for certain classification ontologies."},"probability":{"type":"number","format":"double","description":"prediction probability"},"index":{"type":"integer","format":"int32","description":"Absolute index of this property in the predicted vector/embedding"},"parentId":{"type":"integer","format":"int32","description":"Unique id of the parent class. Might be undefined for certain classification ontologies."},"parentName":{"type":"string","description":"Name of the parent compound class."}}},"CompoundClasses":{"type":"object","description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass","description":"Pathway level NPC class with the highest probability"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass","description":"Superclass level NPC class with the highest probability"},"npcClass":{"$ref":"#/components/schemas/CompoundClass","description":"Class level NPC class with the highest probability"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}}},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"type":"string","description":"Null if this is a custom selection","enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate","description":"Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula\n Might be null if no consensus structure is available."},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported"},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported"}}},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"type":"string","description":"Criterion that was used to select the consensus annotation.","enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]}}},"FeatureAnnotations":{"type":"object","description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate","description":"Best matching FormulaCandidate."},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored","description":"Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates."},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses","description":"Best matching compound classes that correspond to the formulaAnnotation"},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit is correct."},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct."},"expansiveSearchState":{"type":"string","description":"Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)","enum":["OFF","EXACT","APPROXIMATE"]},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","items":{"type":"string"}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","items":{"type":"string"}}}},"FormulaCandidate":{"type":"object","description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","format":"double","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available"},"siriusScore":{"type":"number","format":"double","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available"},"isotopeScore":{"type":"number","format":"double"},"treeScore":{"type":"number","format":"double"},"zodiacScore":{"type":"number","format":"double","description":"Zodiac Score of the formula candidate.\n If NULL result is not available"},"numOfExplainedPeaks":{"type":"integer","format":"int32"},"numOfExplainablePeaks":{"type":"integer","format":"int32"},"totalExplainedIntensity":{"type":"number","format":"double"},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree","description":"The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore)."},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum","description":"Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation","description":"The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore."},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation","description":"ElGordo lipid annotation of this candidate.\n NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","items":{"type":"number","format":"double"}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction","description":"All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)"}}},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct"},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss."},"massDeviationDa":{"type":"number","format":"double"},"massDeviationPpm":{"type":"number","format":"double"},"score":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"mz":{"type":"number","format":"double"}}},"FragmentationTree":{"type":"object","description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}}},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}}},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid."},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class."},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class."},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available."},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS."}}},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}}},"ParentPeak":{"type":"object","description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","properties":{"parentIdx":{"type":"integer","format":"int32","description":"Index to the parent peak connected by this loss in this particular spectrum"},"parentFragmentId":{"type":"integer","format":"int32","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"required":["lossFormula","parentFragmentId","parentIdx"]},"PeakAnnotation":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak"},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak"},"exactMass":{"type":"number","format":"double","description":"Exact mass of the annotated molecular formula and adduct"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm"},"recalibratedMassDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa"},"recalibratedMassDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm"},"parentPeak":{"$ref":"#/components/schemas/ParentPeak","description":"Link to the parent peak connected via the neutral loss from the fragmentation tree."},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","items":{"type":"integer","format":"int32"}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureScore":{"type":"number","format":"float","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested."},"hydrogenRearrangements":{"type":"integer","format":"int32","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested."}},"required":["fragmentId"]},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum"},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum"},"exactMass":{"type":"number","format":"double","description":"Exact mass based on the annotated molecular formula and ionization"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm"},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationScore":{"type":"number","format":"double","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested."}}},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"}}},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"}}},"StoredJobSubmission":{"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission","description":"The JobSubmission identified by the name"}},"required":["editable","jobSubmission","name"]},"BioTransformerParameters":{"type":"object","properties":{"cyp450Mode":{"type":"string","default":"COMBINED","description":"Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Cyp450 mode.","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"p2Mode":{"type":"string","default":"BT_RULE_BASED","description":"Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Phase II mode.","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"useDB":{"type":"boolean","default":true,"description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\""},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}},"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"]},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"iterations":{"type":"integer","format":"int32"}}},"AccountCredentials":{"type":"object","description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service.","properties":{"username":{"type":"string"},"password":{"type":"string"},"refreshToken":{"type":"string"}}},"RunOptField":{"type":"string","enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string"},"ionization":{"type":"string"},"fragmentation":{"type":"string"},"massAnalyzers":{"type":"array","items":{"type":"string"}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}}},"AdductNetworkExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}}},"AdductNodeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}}},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"type":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"description":{"type":"string"},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"}}},"TraceExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"id":{"type":"string"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","format":"double","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared."},"noiseLevel":{"type":"number","format":"double","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios."}}},"TraceSetExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}}},"QuantTableExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","items":{"type":"integer","format":"int64"}},"columnIds":{"type":"array","items":{"type":"integer","format":"int64"}},"rowNames":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"type":"string","enum":["AVG","MIN","MAX"]},"quantification":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"quantType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}},"required":["foldChange","objectId","quantType"]},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"aggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"SpectralLibraryMatchSummary":{"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}},"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"]},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"type":"string","description":"Overall Quality","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"required":["alignedFeatureId","categories","overallQuality"]},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"type":"string","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"type":"string","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"weight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]}}},"AnnotatedMsMsData":{"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}},"required":["mergedMs2","ms2Spectra"]},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API"},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application"},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application"},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application"},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries"},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries"},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services"},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable."},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS"},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}},"required":["availableILPSolvers","supportedILPSolvers"]},"ConnectionCheck":{"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}},"required":["errors","licenseInfo"]},"ConnectionError":{"type":"object","properties":{"errorType":{"type":"string","enum":["WARNING","ERROR"]},"errorKlass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32"},"serverResponseErrorMessage":{"type":"string"},"error":{"type":"boolean"},"warning":{"type":"boolean"}},"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"]},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to."},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The active subscription that was used the requested the information"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables","description":"Status of the consumable resources of the {@link Subscription Subscription}."},"terms":{"type":"array","items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}}},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}}},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file diff --git a/client-api_python/generated/.openapi-generator/FILES b/client-api_python/generated/.openapi-generator/FILES index 7da3e962..2e38d3b6 100644 --- a/client-api_python/generated/.openapi-generator/FILES +++ b/client-api_python/generated/.openapi-generator/FILES @@ -2,14 +2,17 @@ PySirius/__init__.py PySirius/api/__init__.py PySirius/api/actuator_api.py +PySirius/api/compound_statistics_api.py PySirius/api/compounds_api.py +PySirius/api/feature_statistics_api.py PySirius/api/features_api.py -PySirius/api/gui_api.py PySirius/api/info_api.py PySirius/api/jobs_api.py PySirius/api/login_and_account_api.py PySirius/api/projects_api.py +PySirius/api/runs_api.py PySirius/api/searchable_databases_api.py +PySirius/api/tags_api.py PySirius/api_client.py PySirius/api_response.py PySirius/configuration.py @@ -20,16 +23,21 @@ PySirius/models/account_info.py PySirius/models/adduct_edge_experimental.py PySirius/models/adduct_network_experimental.py PySirius/models/adduct_node_experimental.py +PySirius/models/aggregation_type.py PySirius/models/aligned_feature.py PySirius/models/aligned_feature_opt_field.py PySirius/models/aligned_feature_quality_experimental.py +PySirius/models/allowed_features.py PySirius/models/annotated_ms_ms_data.py PySirius/models/annotated_peak.py PySirius/models/annotated_spectrum.py +PySirius/models/api_version.py PySirius/models/axes.py PySirius/models/background_computations_state_event.py PySirius/models/basic_spectrum.py PySirius/models/binary_fingerprint.py +PySirius/models/bio_transformer_parameters.py +PySirius/models/bio_transformer_sequence_step.py PySirius/models/canopus.py PySirius/models/canopus_prediction.py PySirius/models/category.py @@ -49,6 +57,7 @@ PySirius/models/consensus_annotations_csi.py PySirius/models/consensus_annotations_de_novo.py PySirius/models/consensus_criterion_csi.py PySirius/models/consensus_criterion_de_novo.py +PySirius/models/cyp450_mode.py PySirius/models/data_import_event.py PySirius/models/data_quality.py PySirius/models/db_link.py @@ -56,11 +65,11 @@ PySirius/models/deviation.py PySirius/models/feature_annotations.py PySirius/models/feature_import.py PySirius/models/fingerprint_prediction.py +PySirius/models/fold_change.py PySirius/models/formula_candidate.py PySirius/models/formula_candidate_opt_field.py PySirius/models/fragment_node.py PySirius/models/fragmentation_tree.py -PySirius/models/gui_info.py PySirius/models/import_result.py PySirius/models/info.py PySirius/models/instrument_profile.py @@ -76,18 +85,22 @@ PySirius/models/lcms_submission_parameters.py PySirius/models/license_info.py PySirius/models/lipid_annotation.py PySirius/models/loss_edge.py +PySirius/models/metabolic_transformation.py PySirius/models/ms_data.py PySirius/models/ms_novelist.py +PySirius/models/p2_mode.py PySirius/models/page_metadata.py PySirius/models/paged_model_aligned_feature.py PySirius/models/paged_model_compound.py PySirius/models/paged_model_formula_candidate.py PySirius/models/paged_model_job.py +PySirius/models/paged_model_run.py PySirius/models/paged_model_spectral_library_match.py PySirius/models/paged_model_structure_candidate_formula.py PySirius/models/paged_model_structure_candidate_scored.py PySirius/models/parent_peak.py PySirius/models/peak_annotation.py +PySirius/models/peak_pair.py PySirius/models/project_change_event.py PySirius/models/project_event_type.py PySirius/models/project_info.py @@ -95,12 +108,16 @@ PySirius/models/project_info_opt_field.py PySirius/models/project_type.py PySirius/models/quality_item.py PySirius/models/quality_weight.py -PySirius/models/quantification_column_type.py -PySirius/models/quantification_measure.py -PySirius/models/quantification_row_type.py -PySirius/models/quantification_table_experimental.py +PySirius/models/quant_measure.py +PySirius/models/quant_row_type.py +PySirius/models/quant_table_experimental.py +PySirius/models/run.py +PySirius/models/run_opt_field.py +PySirius/models/sample_type_fold_change_request.py PySirius/models/searchable_database.py PySirius/models/searchable_database_parameters.py +PySirius/models/security_context.py +PySirius/models/security_context_principal.py PySirius/models/simple_peak.py PySirius/models/sirius.py PySirius/models/solver.py @@ -108,8 +125,12 @@ PySirius/models/spectral_library_match.py PySirius/models/spectral_library_match_opt_field.py PySirius/models/spectral_library_match_summary.py PySirius/models/spectral_library_search.py +PySirius/models/spectral_match_type.py PySirius/models/spectral_matching_type.py PySirius/models/spectrum_annotation.py +PySirius/models/spectrum_type.py +PySirius/models/statistics_table.py +PySirius/models/statistics_type.py PySirius/models/stored_job_submission.py PySirius/models/structure_candidate.py PySirius/models/structure_candidate_formula.py @@ -118,6 +139,10 @@ PySirius/models/structure_candidate_scored.py PySirius/models/structure_db_search.py PySirius/models/subscription.py PySirius/models/subscription_consumables.py +PySirius/models/tag.py +PySirius/models/tag_definition.py +PySirius/models/tag_definition_import.py +PySirius/models/tag_group.py PySirius/models/term.py PySirius/models/timeout.py PySirius/models/trace_annotation_experimental.py @@ -125,9 +150,13 @@ PySirius/models/trace_annotation_type_experimental.py PySirius/models/trace_experimental.py PySirius/models/trace_set_experimental.py PySirius/models/use_heuristic.py +PySirius/models/value_type.py +PySirius/models/web_server_namespace.py PySirius/models/zodiac.py +PySirius/models/zodiac_analogue_nodes.py PySirius/models/zodiac_edge_filter_thresholds.py PySirius/models/zodiac_epochs.py +PySirius/models/zodiac_library_scoring.py PySirius/py.typed PySirius/rest.py README.md @@ -137,16 +166,21 @@ docs/ActuatorApi.md docs/AdductEdgeExperimental.md docs/AdductNetworkExperimental.md docs/AdductNodeExperimental.md +docs/AggregationType.md docs/AlignedFeature.md docs/AlignedFeatureOptField.md docs/AlignedFeatureQualityExperimental.md +docs/AllowedFeatures.md docs/AnnotatedMsMsData.md docs/AnnotatedPeak.md docs/AnnotatedSpectrum.md +docs/ApiVersion.md docs/Axes.md docs/BackgroundComputationsStateEvent.md docs/BasicSpectrum.md docs/BinaryFingerprint.md +docs/BioTransformerParameters.md +docs/BioTransformerSequenceStep.md docs/Canopus.md docs/CanopusPrediction.md docs/Category.md @@ -156,6 +190,7 @@ docs/CompoundClassType.md docs/CompoundClasses.md docs/CompoundImport.md docs/CompoundOptField.md +docs/CompoundStatisticsApi.md docs/CompoundsApi.md docs/ComputedSubtools.md docs/ConfidenceMode.md @@ -167,20 +202,21 @@ docs/ConsensusAnnotationsCSI.md docs/ConsensusAnnotationsDeNovo.md docs/ConsensusCriterionCSI.md docs/ConsensusCriterionDeNovo.md +docs/Cyp450Mode.md docs/DBLink.md docs/DataImportEvent.md docs/DataQuality.md docs/Deviation.md docs/FeatureAnnotations.md docs/FeatureImport.md +docs/FeatureStatisticsApi.md docs/FeaturesApi.md docs/FingerprintPrediction.md +docs/FoldChange.md docs/FormulaCandidate.md docs/FormulaCandidateOptField.md docs/FragmentNode.md docs/FragmentationTree.md -docs/GuiApi.md -docs/GuiInfo.md docs/ImportResult.md docs/Info.md docs/InfoApi.md @@ -199,18 +235,22 @@ docs/LicenseInfo.md docs/LipidAnnotation.md docs/LoginAndAccountApi.md docs/LossEdge.md +docs/MetabolicTransformation.md docs/MsData.md docs/MsNovelist.md +docs/P2Mode.md docs/PageMetadata.md docs/PagedModelAlignedFeature.md docs/PagedModelCompound.md docs/PagedModelFormulaCandidate.md docs/PagedModelJob.md +docs/PagedModelRun.md docs/PagedModelSpectralLibraryMatch.md docs/PagedModelStructureCandidateFormula.md docs/PagedModelStructureCandidateScored.md docs/ParentPeak.md docs/PeakAnnotation.md +docs/PeakPair.md docs/ProjectChangeEvent.md docs/ProjectEventType.md docs/ProjectInfo.md @@ -219,13 +259,18 @@ docs/ProjectType.md docs/ProjectsApi.md docs/QualityItem.md docs/QualityWeight.md -docs/QuantificationColumnType.md -docs/QuantificationMeasure.md -docs/QuantificationRowType.md -docs/QuantificationTableExperimental.md +docs/QuantMeasure.md +docs/QuantRowType.md +docs/QuantTableExperimental.md +docs/Run.md +docs/RunOptField.md +docs/RunsApi.md +docs/SampleTypeFoldChangeRequest.md docs/SearchableDatabase.md docs/SearchableDatabaseParameters.md docs/SearchableDatabasesApi.md +docs/SecurityContext.md +docs/SecurityContextPrincipal.md docs/SimplePeak.md docs/Sirius.md docs/Solver.md @@ -233,8 +278,12 @@ docs/SpectralLibraryMatch.md docs/SpectralLibraryMatchOptField.md docs/SpectralLibraryMatchSummary.md docs/SpectralLibrarySearch.md +docs/SpectralMatchType.md docs/SpectralMatchingType.md docs/SpectrumAnnotation.md +docs/SpectrumType.md +docs/StatisticsTable.md +docs/StatisticsType.md docs/StoredJobSubmission.md docs/StructureCandidate.md docs/StructureCandidateFormula.md @@ -243,6 +292,11 @@ docs/StructureCandidateScored.md docs/StructureDbSearch.md docs/Subscription.md docs/SubscriptionConsumables.md +docs/Tag.md +docs/TagDefinition.md +docs/TagDefinitionImport.md +docs/TagGroup.md +docs/TagsApi.md docs/Term.md docs/Timeout.md docs/TraceAnnotationExperimental.md @@ -250,9 +304,13 @@ docs/TraceAnnotationTypeExperimental.md docs/TraceExperimental.md docs/TraceSetExperimental.md docs/UseHeuristic.md +docs/ValueType.md +docs/WebServerNamespace.md docs/Zodiac.md +docs/ZodiacAnalogueNodes.md docs/ZodiacEdgeFilterThresholds.md docs/ZodiacEpochs.md +docs/ZodiacLibraryScoring.md pyproject.toml requirements.txt setup.cfg diff --git a/client-api_python/generated/PySirius/__init__.py b/client-api_python/generated/PySirius/__init__.py index 0e44d372..fe9c6e25 100644 --- a/client-api_python/generated/PySirius/__init__.py +++ b/client-api_python/generated/PySirius/__init__.py @@ -16,14 +16,17 @@ # import apis into sdk package from PySirius.api.actuator_api import ActuatorApi +from PySirius.api.compound_statistics_api import CompoundStatisticsApi from PySirius.api.compounds_api import CompoundsApi +from PySirius.api.feature_statistics_api import FeatureStatisticsApi from PySirius.api.features_api import FeaturesApi -from PySirius.api.gui_api import GuiApi from PySirius.api.info_api import InfoApi from PySirius.api.jobs_api import JobsApi from PySirius.api.login_and_account_api import LoginAndAccountApi from PySirius.api.projects_api import ProjectsApi +from PySirius.api.runs_api import RunsApi from PySirius.api.searchable_databases_api import SearchableDatabasesApi +from PySirius.api.tags_api import TagsApi # import ApiClient from PySirius.api_response import ApiResponse @@ -42,16 +45,21 @@ from PySirius.models.adduct_edge_experimental import AdductEdgeExperimental from PySirius.models.adduct_network_experimental import AdductNetworkExperimental from PySirius.models.adduct_node_experimental import AdductNodeExperimental +from PySirius.models.aggregation_type import AggregationType from PySirius.models.aligned_feature import AlignedFeature from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental +from PySirius.models.allowed_features import AllowedFeatures from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData from PySirius.models.annotated_peak import AnnotatedPeak from PySirius.models.annotated_spectrum import AnnotatedSpectrum +from PySirius.models.api_version import ApiVersion from PySirius.models.axes import Axes from PySirius.models.background_computations_state_event import BackgroundComputationsStateEvent from PySirius.models.basic_spectrum import BasicSpectrum from PySirius.models.binary_fingerprint import BinaryFingerprint +from PySirius.models.bio_transformer_parameters import BioTransformerParameters +from PySirius.models.bio_transformer_sequence_step import BioTransformerSequenceStep from PySirius.models.canopus import Canopus from PySirius.models.canopus_prediction import CanopusPrediction from PySirius.models.category import Category @@ -71,6 +79,7 @@ from PySirius.models.consensus_annotations_de_novo import ConsensusAnnotationsDeNovo from PySirius.models.consensus_criterion_csi import ConsensusCriterionCSI from PySirius.models.consensus_criterion_de_novo import ConsensusCriterionDeNovo +from PySirius.models.cyp450_mode import Cyp450Mode from PySirius.models.db_link import DBLink from PySirius.models.data_import_event import DataImportEvent from PySirius.models.data_quality import DataQuality @@ -78,11 +87,11 @@ from PySirius.models.feature_annotations import FeatureAnnotations from PySirius.models.feature_import import FeatureImport from PySirius.models.fingerprint_prediction import FingerprintPrediction +from PySirius.models.fold_change import FoldChange from PySirius.models.formula_candidate import FormulaCandidate from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField from PySirius.models.fragment_node import FragmentNode from PySirius.models.fragmentation_tree import FragmentationTree -from PySirius.models.gui_info import GuiInfo from PySirius.models.import_result import ImportResult from PySirius.models.info import Info from PySirius.models.instrument_profile import InstrumentProfile @@ -98,18 +107,22 @@ from PySirius.models.license_info import LicenseInfo from PySirius.models.lipid_annotation import LipidAnnotation from PySirius.models.loss_edge import LossEdge +from PySirius.models.metabolic_transformation import MetabolicTransformation from PySirius.models.ms_data import MsData from PySirius.models.ms_novelist import MsNovelist +from PySirius.models.p2_mode import P2Mode from PySirius.models.page_metadata import PageMetadata from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature from PySirius.models.paged_model_compound import PagedModelCompound from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate from PySirius.models.paged_model_job import PagedModelJob +from PySirius.models.paged_model_run import PagedModelRun from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored from PySirius.models.parent_peak import ParentPeak from PySirius.models.peak_annotation import PeakAnnotation +from PySirius.models.peak_pair import PeakPair from PySirius.models.project_change_event import ProjectChangeEvent from PySirius.models.project_event_type import ProjectEventType from PySirius.models.project_info import ProjectInfo @@ -117,12 +130,16 @@ from PySirius.models.project_type import ProjectType from PySirius.models.quality_item import QualityItem from PySirius.models.quality_weight import QualityWeight -from PySirius.models.quantification_column_type import QuantificationColumnType -from PySirius.models.quantification_measure import QuantificationMeasure -from PySirius.models.quantification_row_type import QuantificationRowType -from PySirius.models.quantification_table_experimental import QuantificationTableExperimental +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_row_type import QuantRowType +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.models.run import Run +from PySirius.models.run_opt_field import RunOptField +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest from PySirius.models.searchable_database import SearchableDatabase from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters +from PySirius.models.security_context import SecurityContext +from PySirius.models.security_context_principal import SecurityContextPrincipal from PySirius.models.simple_peak import SimplePeak from PySirius.models.sirius import Sirius from PySirius.models.solver import Solver @@ -130,8 +147,12 @@ from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary from PySirius.models.spectral_library_search import SpectralLibrarySearch +from PySirius.models.spectral_match_type import SpectralMatchType from PySirius.models.spectral_matching_type import SpectralMatchingType from PySirius.models.spectrum_annotation import SpectrumAnnotation +from PySirius.models.spectrum_type import SpectrumType +from PySirius.models.statistics_table import StatisticsTable +from PySirius.models.statistics_type import StatisticsType from PySirius.models.stored_job_submission import StoredJobSubmission from PySirius.models.structure_candidate import StructureCandidate from PySirius.models.structure_candidate_formula import StructureCandidateFormula @@ -140,6 +161,10 @@ from PySirius.models.structure_db_search import StructureDbSearch from PySirius.models.subscription import Subscription from PySirius.models.subscription_consumables import SubscriptionConsumables +from PySirius.models.tag import Tag +from PySirius.models.tag_definition import TagDefinition +from PySirius.models.tag_definition_import import TagDefinitionImport +from PySirius.models.tag_group import TagGroup from PySirius.models.term import Term from PySirius.models.timeout import Timeout from PySirius.models.trace_annotation_experimental import TraceAnnotationExperimental @@ -147,8 +172,12 @@ from PySirius.models.trace_experimental import TraceExperimental from PySirius.models.trace_set_experimental import TraceSetExperimental from PySirius.models.use_heuristic import UseHeuristic +from PySirius.models.value_type import ValueType +from PySirius.models.web_server_namespace import WebServerNamespace from PySirius.models.zodiac import Zodiac +from PySirius.models.zodiac_analogue_nodes import ZodiacAnalogueNodes from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds from PySirius.models.zodiac_epochs import ZodiacEpochs +from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring from PySirius.sirius_api import PySiriusAPI from PySirius.sirius import SiriusSDK diff --git a/client-api_python/generated/PySirius/api/__init__.py b/client-api_python/generated/PySirius/api/__init__.py index d9129a5a..1c12f236 100644 --- a/client-api_python/generated/PySirius/api/__init__.py +++ b/client-api_python/generated/PySirius/api/__init__.py @@ -2,12 +2,15 @@ # import apis into api package from PySirius.api.actuator_api import ActuatorApi +from PySirius.api.compound_statistics_api import CompoundStatisticsApi from PySirius.api.compounds_api import CompoundsApi +from PySirius.api.feature_statistics_api import FeatureStatisticsApi from PySirius.api.features_api import FeaturesApi -from PySirius.api.gui_api import GuiApi from PySirius.api.info_api import InfoApi from PySirius.api.jobs_api import JobsApi from PySirius.api.login_and_account_api import LoginAndAccountApi from PySirius.api.projects_api import ProjectsApi +from PySirius.api.runs_api import RunsApi from PySirius.api.searchable_databases_api import SearchableDatabasesApi +from PySirius.api.tags_api import TagsApi diff --git a/client-api_python/generated/PySirius/api/actuator_api.py b/client-api_python/generated/PySirius/api/actuator_api.py index 8fe0602e..89891aab 100644 --- a/client-api_python/generated/PySirius/api/actuator_api.py +++ b/client-api_python/generated/PySirius/api/actuator_api.py @@ -247,8 +247,8 @@ def _health_serialize( _header_params['Accept'] = self.api_client.select_header_accept( [ 'application/vnd.spring-boot.actuator.v3+json', - 'application/json', - 'application/vnd.spring-boot.actuator.v2+json' + 'application/vnd.spring-boot.actuator.v2+json', + 'application/json' ] ) @@ -290,7 +290,7 @@ def shutdown( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> object: + ) -> None: """Actuator web endpoint 'shutdown' @@ -324,7 +324,8 @@ def shutdown( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '204': None, + '400': None, } response_data = self.api_client.call_api( *_param, @@ -352,7 +353,7 @@ def shutdown_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[object]: + ) -> ApiResponse[None]: """Actuator web endpoint 'shutdown' @@ -386,7 +387,8 @@ def shutdown_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '204': None, + '400': None, } response_data = self.api_client.call_api( *_param, @@ -448,7 +450,8 @@ def shutdown_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "object", + '204': None, + '400': None, } response_data = self.api_client.call_api( *_param, @@ -484,14 +487,6 @@ def _shutdown_serialize( # process the body parameter - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/vnd.spring-boot.actuator.v3+json', - 'application/json', - 'application/vnd.spring-boot.actuator.v2+json' - ] - ) # authentication setting diff --git a/client-api_python/generated/PySirius/api/compound_statistics_api.py b/client-api_python/generated/PySirius/api/compound_statistics_api.py new file mode 100644 index 00000000..3f4ec853 --- /dev/null +++ b/client-api_python/generated/PySirius/api/compound_statistics_api.py @@ -0,0 +1,1267 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.fold_change import FoldChange +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class CompoundStatisticsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def compute_compound_fold_changes_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left tag group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Job: + """[EXPERIMENTAL] Compute the fold change between two groups of runs + + [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param left_group_name: name of the left tag group. (required) + :type left_group_name: str + :param right_group_name: name of the right tag group. (required) + :type right_group_name: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_compound_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def compute_compound_fold_changes_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left tag group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Job]: + """[EXPERIMENTAL] Compute the fold change between two groups of runs + + [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param left_group_name: name of the left tag group. (required) + :type left_group_name: str + :param right_group_name: name of the right tag group. (required) + :type right_group_name: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_compound_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def compute_compound_fold_changes_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left tag group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Compute the fold change between two groups of runs + + [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param left_group_name: name of the left tag group. (required) + :type left_group_name: str + :param right_group_name: name of the right tag group. (required) + :type right_group_name: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_compound_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_compound_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchange/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_compound_fold_changes_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right group.")], + aggregation: Optional[AggregationType] = None, + quantification: Optional[QuantMeasure] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """[EXPERIMENTAL] Delete fold changes + + [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param left_group_name: name of the left group. (required) + :type left_group_name: str + :param right_group_name: name of the right group. (required) + :type right_group_name: str + :param aggregation: + :type aggregation: AggregationType + :param quantification: + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_compound_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_compound_fold_changes_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right group.")], + aggregation: Optional[AggregationType] = None, + quantification: Optional[QuantMeasure] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """[EXPERIMENTAL] Delete fold changes + + [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param left_group_name: name of the left group. (required) + :type left_group_name: str + :param right_group_name: name of the right group. (required) + :type right_group_name: str + :param aggregation: + :type aggregation: AggregationType + :param quantification: + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_compound_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_compound_fold_changes_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right group.")], + aggregation: Optional[AggregationType] = None, + quantification: Optional[QuantMeasure] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Delete fold changes + + [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param left_group_name: name of the left group. (required) + :type left_group_name: str + :param right_group_name: name of the right group. (required) + :type right_group_name: str + :param aggregation: + :type aggregation: AggregationType + :param quantification: + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_compound_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_compound_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_compound_fold_change_table_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> StatisticsTable: + """[EXPERIMENTAL] Get table of all fold changes in the project space + + [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compound_fold_change_table_experimental_serialize( + project_id=project_id, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatisticsTable", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_compound_fold_change_table_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[StatisticsTable]: + """[EXPERIMENTAL] Get table of all fold changes in the project space + + [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compound_fold_change_table_experimental_serialize( + project_id=project_id, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatisticsTable", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_compound_fold_change_table_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get table of all fold changes in the project space + + [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compound_fold_change_table_experimental_serialize( + project_id=project_id, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatisticsTable", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_fold_change_table_experimental_serialize( + self, + project_id, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_fold_changes_by_compound_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + object_id: Annotated[StrictStr, Field(description="id of the object the fold changes are assigned to.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[FoldChange]: + """[EXPERIMENTAL] List all fold changes that are associated with an object + + [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param object_id: id of the object the fold changes are assigned to. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_fold_changes_by_compound_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FoldChange]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_fold_changes_by_compound_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + object_id: Annotated[StrictStr, Field(description="id of the object the fold changes are assigned to.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[FoldChange]]: + """[EXPERIMENTAL] List all fold changes that are associated with an object + + [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param object_id: id of the object the fold changes are assigned to. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_fold_changes_by_compound_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FoldChange]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_fold_changes_by_compound_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + object_id: Annotated[StrictStr, Field(description="id of the object the fold changes are assigned to.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] List all fold changes that are associated with an object + + [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param object_id: id of the object the fold changes are assigned to. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_fold_changes_by_compound_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FoldChange]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fold_changes_by_compound_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/compounds_api.py b/client-api_python/generated/PySirius/api/compounds_api.py index 3bc9dee4..bd138c8a 100644 --- a/client-api_python/generated/PySirius/api/compounds_api.py +++ b/client-api_python/generated/PySirius/api/compounds_api.py @@ -14,7 +14,7 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictStr +from pydantic import Field, StrictBool, StrictStr from typing import List, Optional from typing_extensions import Annotated from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField @@ -23,6 +23,9 @@ from PySirius.models.compound_opt_field import CompoundOptField from PySirius.models.instrument_profile import InstrumentProfile from PySirius.models.paged_model_compound import PagedModelCompound +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.models.tag import Tag from PySirius.models.trace_set_experimental import TraceSetExperimental from PySirius.api_client import ApiClient, RequestSerialized @@ -49,8 +52,8 @@ def add_compounds( project_id: Annotated[StrictStr, Field(description="project-space to import into.")], compound_import: Annotated[List[CompoundImport], Field(description="the compound data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, - opt_fields_features: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields_features: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -132,8 +135,8 @@ def add_compounds_with_http_info( project_id: Annotated[StrictStr, Field(description="project-space to import into.")], compound_import: Annotated[List[CompoundImport], Field(description="the compound data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, - opt_fields_features: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields_features: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -215,8 +218,8 @@ def add_compounds_without_preload_content( project_id: Annotated[StrictStr, Field(description="project-space to import into.")], compound_import: Annotated[List[CompoundImport], Field(description="the compound data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, - opt_fields_features: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields_features: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -383,10 +386,11 @@ def _add_compounds_serialize( @validate_call - def delete_compound( + def add_tags_to_compound_experimental( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - compound_id: Annotated[StrictStr, Field(description="identifier of the compound to delete.")], + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + compound_id: Annotated[StrictStr, Field(description="compound (group of ion identities) to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -399,15 +403,17 @@ def delete_compound( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. + ) -> List[Tag]: + """[EXPERIMENTAL] Tags with the same name will be overwritten - Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. + [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to add to. (required) :type project_id: str - :param compound_id: identifier of the compound to delete. (required) + :param compound_id: compound (group of ion identities) to add tags to. (required) :type compound_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -430,9 +436,10 @@ def delete_compound( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_compound_serialize( + _param = self._add_tags_to_compound_experimental_serialize( project_id=project_id, compound_id=compound_id, + tag=tag, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -440,7 +447,7 @@ def delete_compound( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -454,10 +461,11 @@ def delete_compound( @validate_call - def delete_compound_with_http_info( + def add_tags_to_compound_experimental_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - compound_id: Annotated[StrictStr, Field(description="identifier of the compound to delete.")], + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + compound_id: Annotated[StrictStr, Field(description="compound (group of ion identities) to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -470,15 +478,17 @@ def delete_compound_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. + ) -> ApiResponse[List[Tag]]: + """[EXPERIMENTAL] Tags with the same name will be overwritten - Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. + [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to add to. (required) :type project_id: str - :param compound_id: identifier of the compound to delete. (required) + :param compound_id: compound (group of ion identities) to add tags to. (required) :type compound_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -501,9 +511,10 @@ def delete_compound_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_compound_serialize( + _param = self._add_tags_to_compound_experimental_serialize( project_id=project_id, compound_id=compound_id, + tag=tag, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -511,7 +522,7 @@ def delete_compound_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -525,10 +536,11 @@ def delete_compound_with_http_info( @validate_call - def delete_compound_without_preload_content( + def add_tags_to_compound_experimental_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - compound_id: Annotated[StrictStr, Field(description="identifier of the compound to delete.")], + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + compound_id: Annotated[StrictStr, Field(description="compound (group of ion identities) to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -542,14 +554,16 @@ def delete_compound_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. + """[EXPERIMENTAL] Tags with the same name will be overwritten - Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. + [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to add to. (required) :type project_id: str - :param compound_id: identifier of the compound to delete. (required) + :param compound_id: compound (group of ion identities) to add tags to. (required) :type compound_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -572,9 +586,10 @@ def delete_compound_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_compound_serialize( + _param = self._add_tags_to_compound_experimental_serialize( project_id=project_id, compound_id=compound_id, + tag=tag, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -582,7 +597,7 @@ def delete_compound_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -591,10 +606,11 @@ def delete_compound_without_preload_content( return response_data.response - def _delete_compound_serialize( + def _add_tags_to_compound_experimental_serialize( self, project_id, compound_id, + tag, _request_auth, _content_type, _headers, @@ -604,6 +620,7 @@ def _delete_compound_serialize( _host = None _collection_formats: Dict[str, str] = { + 'Tag': '', } _path_params: Dict[str, str] = {} @@ -622,17 +639,38 @@ def _delete_compound_serialize( # process the header parameters # process the form parameters # process the body parameter + if tag is not None: + _body_params = tag + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ ] return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/compounds/{compoundId}', + method='PUT', + resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -649,12 +687,10 @@ def _delete_compound_serialize( @validate_call - def get_compound( + def delete_compound( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + compound_id: Annotated[StrictStr, Field(description="identifier of the compound to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -667,19 +703,15 @@ def get_compound( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Compound: - """Get compound (group of ion identities) with the given identifier from the specified project-space. + ) -> None: + """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. - Get compound (group of ion identities) with the given identifier from the specified project-space. + Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param compound_id: identifier of the compound (group of ion identities) to access. (required) + :param compound_id: identifier of the compound to delete. (required) :type compound_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -702,11 +734,9 @@ def get_compound( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compound_serialize( + _param = self._delete_compound_serialize( project_id=project_id, compound_id=compound_id, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -714,7 +744,7 @@ def get_compound( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Compound", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -728,12 +758,10 @@ def get_compound( @validate_call - def get_compound_with_http_info( + def delete_compound_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + compound_id: Annotated[StrictStr, Field(description="identifier of the compound to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -746,19 +774,15 @@ def get_compound_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Compound]: - """Get compound (group of ion identities) with the given identifier from the specified project-space. + ) -> ApiResponse[None]: + """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. - Get compound (group of ion identities) with the given identifier from the specified project-space. + Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param compound_id: identifier of the compound (group of ion identities) to access. (required) + :param compound_id: identifier of the compound to delete. (required) :type compound_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -781,11 +805,9 @@ def get_compound_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compound_serialize( + _param = self._delete_compound_serialize( project_id=project_id, compound_id=compound_id, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -793,7 +815,7 @@ def get_compound_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Compound", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -807,12 +829,10 @@ def get_compound_with_http_info( @validate_call - def get_compound_without_preload_content( + def delete_compound_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + compound_id: Annotated[StrictStr, Field(description="identifier of the compound to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -826,18 +846,14 @@ def get_compound_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get compound (group of ion identities) with the given identifier from the specified project-space. + """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. - Get compound (group of ion identities) with the given identifier from the specified project-space. + Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param compound_id: identifier of the compound (group of ion identities) to access. (required) + :param compound_id: identifier of the compound to delete. (required) :type compound_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -860,11 +876,9 @@ def get_compound_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compound_serialize( + _param = self._delete_compound_serialize( project_id=project_id, compound_id=compound_id, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -872,7 +886,7 @@ def get_compound_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "Compound", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -881,12 +895,10 @@ def get_compound_without_preload_content( return response_data.response - def _get_compound_serialize( + def _delete_compound_serialize( self, project_id, compound_id, - opt_fields, - opt_fields_features, _request_auth, _content_type, _headers, @@ -896,8 +908,6 @@ def _get_compound_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', } _path_params: Dict[str, str] = {} @@ -913,25 +923,11 @@ def _get_compound_serialize( if compound_id is not None: _path_params['compoundId'] = compound_id # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - # process the header parameters # process the form parameters # process the body parameter - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) # authentication setting @@ -939,7 +935,7 @@ def _get_compound_serialize( ] return self.api_client.param_serialize( - method='GET', + method='DELETE', resource_path='/api/projects/{projectId}/compounds/{compoundId}', path_params=_path_params, query_params=_query_params, @@ -957,11 +953,13 @@ def _get_compound_serialize( @validate_call - def get_compound_traces_experimental( + def get_compound( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - compound_id: Annotated[StrictStr, Field(description="compound which intensities should be read out")], - feature_id: Optional[StrictStr] = None, + compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -974,17 +972,21 @@ def get_compound_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> Compound: + """Get compound (group of ion identities) with the given identifier from the specified project-space. - Returns the traces of the given compound. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. + Get compound (group of ion identities) with the given identifier from the specified project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param compound_id: compound which intensities should be read out (required) + :param compound_id: identifier of the compound (group of ion identities) to access. (required) :type compound_id: str - :param feature_id: - :type feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1007,10 +1009,12 @@ def get_compound_traces_experimental( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compound_traces_experimental_serialize( + _param = self._get_compound_serialize( project_id=project_id, compound_id=compound_id, - feature_id=feature_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1018,7 +1022,7 @@ def get_compound_traces_experimental( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': "Compound", } response_data = self.api_client.call_api( *_param, @@ -1032,11 +1036,13 @@ def get_compound_traces_experimental( @validate_call - def get_compound_traces_experimental_with_http_info( + def get_compound_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - compound_id: Annotated[StrictStr, Field(description="compound which intensities should be read out")], - feature_id: Optional[StrictStr] = None, + compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1049,17 +1055,21 @@ def get_compound_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> ApiResponse[Compound]: + """Get compound (group of ion identities) with the given identifier from the specified project-space. - Returns the traces of the given compound. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. + Get compound (group of ion identities) with the given identifier from the specified project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param compound_id: compound which intensities should be read out (required) + :param compound_id: identifier of the compound (group of ion identities) to access. (required) :type compound_id: str - :param feature_id: - :type feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1082,10 +1092,12 @@ def get_compound_traces_experimental_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compound_traces_experimental_serialize( + _param = self._get_compound_serialize( project_id=project_id, compound_id=compound_id, - feature_id=feature_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1093,7 +1105,7 @@ def get_compound_traces_experimental_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': "Compound", } response_data = self.api_client.call_api( *_param, @@ -1107,11 +1119,13 @@ def get_compound_traces_experimental_with_http_info( @validate_call - def get_compound_traces_experimental_without_preload_content( + def get_compound_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - compound_id: Annotated[StrictStr, Field(description="compound which intensities should be read out")], - feature_id: Optional[StrictStr] = None, + compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1125,16 +1139,20 @@ def get_compound_traces_experimental_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + """Get compound (group of ion identities) with the given identifier from the specified project-space. - Returns the traces of the given compound. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. + Get compound (group of ion identities) with the given identifier from the specified project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param compound_id: compound which intensities should be read out (required) + :param compound_id: identifier of the compound (group of ion identities) to access. (required) :type compound_id: str - :param feature_id: - :type feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1157,10 +1175,12 @@ def get_compound_traces_experimental_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compound_traces_experimental_serialize( + _param = self._get_compound_serialize( project_id=project_id, compound_id=compound_id, - feature_id=feature_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1168,7 +1188,7 @@ def get_compound_traces_experimental_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': "Compound", } response_data = self.api_client.call_api( *_param, @@ -1177,11 +1197,13 @@ def get_compound_traces_experimental_without_preload_content( return response_data.response - def _get_compound_traces_experimental_serialize( + def _get_compound_serialize( self, project_id, compound_id, - feature_id, + ms_data_search_prepared, + opt_fields, + opt_fields_features, _request_auth, _content_type, _headers, @@ -1191,6 +1213,8 @@ def _get_compound_traces_experimental_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', } _path_params: Dict[str, str] = {} @@ -1206,9 +1230,17 @@ def _get_compound_traces_experimental_serialize( if compound_id is not None: _path_params['compoundId'] = compound_id # process the query parameters - if feature_id is not None: + if ms_data_search_prepared is not None: - _query_params.append(('featureId', feature_id)) + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) # process the header parameters # process the form parameters @@ -1229,7 +1261,7 @@ def _get_compound_traces_experimental_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/compounds/{compoundId}/traces', + resource_path='/api/projects/{projectId}/compounds/{compoundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1246,11 +1278,10 @@ def _get_compound_traces_experimental_serialize( @validate_call - def get_compounds( + def get_compound_quant_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1263,17 +1294,15 @@ def get_compounds( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Compound]: - """List of all available compounds (group of ion identities) in the given project-space. + ) -> QuantTableExperimental: + """[EXPERIMENTAL] Returns the full quantification table of compounds - List of all available compounds (group of ion identities) in the given project-space. + [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* :param project_id: project-space to read from. (required) :type project_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1296,10 +1325,9 @@ def get_compounds( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compounds_serialize( + _param = self._get_compound_quant_table_experimental_serialize( project_id=project_id, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1307,7 +1335,7 @@ def get_compounds( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[Compound]", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -1321,11 +1349,10 @@ def get_compounds( @validate_call - def get_compounds_with_http_info( + def get_compound_quant_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1338,17 +1365,15 @@ def get_compounds_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Compound]]: - """List of all available compounds (group of ion identities) in the given project-space. + ) -> ApiResponse[QuantTableExperimental]: + """[EXPERIMENTAL] Returns the full quantification table of compounds - List of all available compounds (group of ion identities) in the given project-space. + [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* :param project_id: project-space to read from. (required) :type project_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1371,10 +1396,9 @@ def get_compounds_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compounds_serialize( + _param = self._get_compound_quant_table_experimental_serialize( project_id=project_id, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1382,7 +1406,7 @@ def get_compounds_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[Compound]", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -1396,11 +1420,10 @@ def get_compounds_with_http_info( @validate_call - def get_compounds_without_preload_content( + def get_compound_quant_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1414,16 +1437,14 @@ def get_compounds_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of all available compounds (group of ion identities) in the given project-space. + """[EXPERIMENTAL] Returns the full quantification table of compounds - List of all available compounds (group of ion identities) in the given project-space. + [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* :param project_id: project-space to read from. (required) :type project_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1446,10 +1467,9 @@ def get_compounds_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compounds_serialize( + _param = self._get_compound_quant_table_experimental_serialize( project_id=project_id, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1457,7 +1477,7 @@ def get_compounds_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[Compound]", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -1466,11 +1486,10 @@ def get_compounds_without_preload_content( return response_data.response - def _get_compounds_serialize( + def _get_compound_quant_table_experimental_serialize( self, project_id, - opt_fields, - opt_fields_features, + type, _request_auth, _content_type, _headers, @@ -1480,8 +1499,6 @@ def _get_compounds_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', } _path_params: Dict[str, str] = {} @@ -1495,13 +1512,9 @@ def _get_compounds_serialize( if project_id is not None: _path_params['projectId'] = project_id # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: + if type is not None: - _query_params.append(('optFieldsFeatures', opt_fields_features)) + _query_params.append(('type', type.value)) # process the header parameters # process the form parameters @@ -1522,7 +1535,7 @@ def _get_compounds_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/compounds', + resource_path='/api/projects/{projectId}/compounds/quant-table', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1539,14 +1552,11 @@ def _get_compounds_serialize( @validate_call - def get_compounds_paged( + def get_compound_quant_table_row_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + compound_id: Annotated[StrictStr, Field(description="compound which should be read out")], + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1559,23 +1569,17 @@ def get_compounds_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelCompound: - """Page of available compounds (group of ion identities) in the given project-space. + ) -> QuantTableExperimental: + """[EXPERIMENTAL] Returns a single quantification table row for the given compound - Page of available compounds (group of ion identities) in the given project-space. + [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* :param project_id: project-space to read from. (required) :type project_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] + :param compound_id: compound which should be read out (required) + :type compound_id: str + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1598,13 +1602,10 @@ def get_compounds_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compounds_paged_serialize( + _param = self._get_compound_quant_table_row_experimental_serialize( project_id=project_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, + compound_id=compound_id, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1612,7 +1613,7 @@ def get_compounds_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelCompound", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -1626,14 +1627,11 @@ def get_compounds_paged( @validate_call - def get_compounds_paged_with_http_info( + def get_compound_quant_table_row_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + compound_id: Annotated[StrictStr, Field(description="compound which should be read out")], + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1646,23 +1644,17 @@ def get_compounds_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelCompound]: - """Page of available compounds (group of ion identities) in the given project-space. + ) -> ApiResponse[QuantTableExperimental]: + """[EXPERIMENTAL] Returns a single quantification table row for the given compound - Page of available compounds (group of ion identities) in the given project-space. + [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* :param project_id: project-space to read from. (required) :type project_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] + :param compound_id: compound which should be read out (required) + :type compound_id: str + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1685,13 +1677,10 @@ def get_compounds_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compounds_paged_serialize( + _param = self._get_compound_quant_table_row_experimental_serialize( project_id=project_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, + compound_id=compound_id, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1699,7 +1688,7 @@ def get_compounds_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelCompound", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -1713,14 +1702,11 @@ def get_compounds_paged_with_http_info( @validate_call - def get_compounds_paged_without_preload_content( + def get_compound_quant_table_row_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, + compound_id: Annotated[StrictStr, Field(description="compound which should be read out")], + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1734,22 +1720,16 @@ def get_compounds_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Page of available compounds (group of ion identities) in the given project-space. + """[EXPERIMENTAL] Returns a single quantification table row for the given compound - Page of available compounds (group of ion identities) in the given project-space. + [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* :param project_id: project-space to read from. (required) :type project_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[CompoundOptField] - :param opt_fields_features: - :type opt_fields_features: List[AlignedFeatureOptField] + :param compound_id: compound which should be read out (required) + :type compound_id: str + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1772,13 +1752,10 @@ def get_compounds_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_compounds_paged_serialize( + _param = self._get_compound_quant_table_row_experimental_serialize( project_id=project_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, - opt_fields_features=opt_fields_features, + compound_id=compound_id, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1786,7 +1763,7 @@ def get_compounds_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelCompound", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -1795,14 +1772,11 @@ def get_compounds_paged_without_preload_content( return response_data.response - def _get_compounds_paged_serialize( + def _get_compound_quant_table_row_experimental_serialize( self, project_id, - page, - size, - sort, - opt_fields, - opt_fields_features, + compound_id, + type, _request_auth, _content_type, _headers, @@ -1812,9 +1786,6 @@ def _get_compounds_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', } _path_params: Dict[str, str] = {} @@ -1827,26 +1798,12 @@ def _get_compounds_paged_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: + if type is not None: - _query_params.append(('optFieldsFeatures', opt_fields_features)) + _query_params.append(('type', type.value)) # process the header parameters # process the form parameters @@ -1867,7 +1824,2209 @@ def _get_compounds_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/compounds/page', + resource_path='/api/projects/{projectId}/compounds/{compoundId}/quant-table-row', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_compound_traces_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + compound_id: Annotated[StrictStr, Field(description="compound which intensities should be read out")], + feature_id: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TraceSetExperimental: + """[EXPERIMENTAL] Returns the traces of the given compound + + [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* + + :param project_id: project-space to read from. (required) + :type project_id: str + :param compound_id: compound which intensities should be read out (required) + :type compound_id: str + :param feature_id: + :type feature_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compound_traces_experimental_serialize( + project_id=project_id, + compound_id=compound_id, + feature_id=feature_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSetExperimental", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_compound_traces_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + compound_id: Annotated[StrictStr, Field(description="compound which intensities should be read out")], + feature_id: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TraceSetExperimental]: + """[EXPERIMENTAL] Returns the traces of the given compound + + [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* + + :param project_id: project-space to read from. (required) + :type project_id: str + :param compound_id: compound which intensities should be read out (required) + :type compound_id: str + :param feature_id: + :type feature_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compound_traces_experimental_serialize( + project_id=project_id, + compound_id=compound_id, + feature_id=feature_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSetExperimental", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_compound_traces_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + compound_id: Annotated[StrictStr, Field(description="compound which intensities should be read out")], + feature_id: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Returns the traces of the given compound + + [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* + + :param project_id: project-space to read from. (required) + :type project_id: str + :param compound_id: compound which intensities should be read out (required) + :type compound_id: str + :param feature_id: + :type feature_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compound_traces_experimental_serialize( + project_id=project_id, + compound_id=compound_id, + feature_id=feature_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TraceSetExperimental", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_traces_experimental_serialize( + self, + project_id, + compound_id, + feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + if feature_id is not None: + + _query_params.append(('featureId', feature_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/{compoundId}/traces', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_compounds( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[Compound]: + """List of all available compounds (group of ion identities) in the given project-space. + + List of all available compounds (group of ion identities) in the given project-space. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_serialize( + project_id=project_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Compound]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_compounds_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[Compound]]: + """List of all available compounds (group of ion identities) in the given project-space. + + List of all available compounds (group of ion identities) in the given project-space. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_serialize( + project_id=project_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Compound]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_compounds_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List of all available compounds (group of ion identities) in the given project-space. + + List of all available compounds (group of ion identities) in the given project-space. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_serialize( + project_id=project_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Compound]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_serialize( + self, + project_id, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_compounds_by_group_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PagedModelCompound: + """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group + + [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_by_group_experimental_serialize( + project_id=project_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_compounds_by_group_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PagedModelCompound]: + """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group + + [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_by_group_experimental_serialize( + project_id=project_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_compounds_by_group_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group + + [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_by_group_experimental_serialize( + project_id=project_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_compounds_by_tag_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PagedModelCompound: + """[EXPERIMENTAL] Get compounds (group of ion identities) by tag + + [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project space to get compounds (group of ion identities) from. (required) + :type project_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_by_tag_experimental_serialize( + project_id=project_id, + filter=filter, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_compounds_by_tag_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PagedModelCompound]: + """[EXPERIMENTAL] Get compounds (group of ion identities) by tag + + [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project space to get compounds (group of ion identities) from. (required) + :type project_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_by_tag_experimental_serialize( + project_id=project_id, + filter=filter, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_compounds_by_tag_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get compounds (group of ion identities) by tag + + [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project space to get compounds (group of ion identities) from. (required) + :type project_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_by_tag_experimental_serialize( + project_id=project_id, + filter=filter, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_compounds_paged( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PagedModelCompound: + """Page of available compounds (group of ion identities) in the given project-space. + + Page of available compounds (group of ion identities) in the given project-space. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_paged_serialize( + project_id=project_id, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_compounds_paged_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PagedModelCompound]: + """Page of available compounds (group of ion identities) in the given project-space. + + Page of available compounds (group of ion identities) in the given project-space. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_paged_serialize( + project_id=project_id, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_compounds_paged_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Page of available compounds (group of ion identities) in the given project-space. + + Page of available compounds (group of ion identities) in the given project-space. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[CompoundOptField] + :param opt_fields_features: + :type opt_fields_features: List[AlignedFeatureOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_compounds_paged_serialize( + project_id=project_id, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, + opt_fields_features=opt_fields_features, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelCompound", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_paged_serialize( + self, + project_id, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_tags_for_compound_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="CompoundId to get tags for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[Tag]: + """[EXPERIMENTAL] Get all tags associated with this Compound + + [EXPERIMENTAL] Get all tags associated with this Compound + + :param project_id: project-space to get from. (required) + :type project_id: str + :param object_id: CompoundId to get tags for. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_for_compound_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_tags_for_compound_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="CompoundId to get tags for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[Tag]]: + """[EXPERIMENTAL] Get all tags associated with this Compound + + [EXPERIMENTAL] Get all tags associated with this Compound + + :param project_id: project-space to get from. (required) + :type project_id: str + :param object_id: CompoundId to get tags for. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_for_compound_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_tags_for_compound_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="CompoundId to get tags for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get all tags associated with this Compound + + [EXPERIMENTAL] Get all tags associated with this Compound + + :param project_id: project-space to get from. (required) + :type project_id: str + :param object_id: CompoundId to get tags for. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_for_compound_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_compound_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def remove_tag_from_compound_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + compound_id: Annotated[StrictStr, Field(description="compound (group of ion identities) to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + + [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param compound_id: compound (group of ion identities) to delete tag from. (required) + :type compound_id: str + :param tag_name: name of the tag to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_tag_from_compound_experimental_serialize( + project_id=project_id, + compound_id=compound_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def remove_tag_from_compound_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + compound_id: Annotated[StrictStr, Field(description="compound (group of ion identities) to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + + [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param compound_id: compound (group of ion identities) to delete tag from. (required) + :type compound_id: str + :param tag_name: name of the tag to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_tag_from_compound_experimental_serialize( + project_id=project_id, + compound_id=compound_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def remove_tag_from_compound_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + compound_id: Annotated[StrictStr, Field(description="compound (group of ion identities) to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + + [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param compound_id: compound (group of ion identities) to delete tag from. (required) + :type compound_id: str + :param tag_name: name of the tag to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_tag_from_compound_experimental_serialize( + project_id=project_id, + compound_id=compound_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_compound_experimental_serialize( + self, + project_id, + compound_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/client-api_python/generated/PySirius/api/feature_statistics_api.py b/client-api_python/generated/PySirius/api/feature_statistics_api.py new file mode 100644 index 00000000..f7375296 --- /dev/null +++ b/client-api_python/generated/PySirius/api/feature_statistics_api.py @@ -0,0 +1,1267 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.fold_change import FoldChange +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class FeatureStatisticsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def compute_aligned_feature_fold_changes_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left tag group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Job: + """[EXPERIMENTAL] Compute the fold change between two groups of runs + + [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param left_group_name: name of the left tag group. (required) + :type left_group_name: str + :param right_group_name: name of the right tag group. (required) + :type right_group_name: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_aligned_feature_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def compute_aligned_feature_fold_changes_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left tag group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Job]: + """[EXPERIMENTAL] Compute the fold change between two groups of runs + + [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param left_group_name: name of the left tag group. (required) + :type left_group_name: str + :param right_group_name: name of the right tag group. (required) + :type right_group_name: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_aligned_feature_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def compute_aligned_feature_fold_changes_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left tag group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Compute the fold change between two groups of runs + + [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param left_group_name: name of the left tag group. (required) + :type left_group_name: str + :param right_group_name: name of the right tag group. (required) + :type right_group_name: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_aligned_feature_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_aligned_feature_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchange/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_aligned_feature_fold_changes_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right group.")], + aggregation: Optional[AggregationType] = None, + quantification: Optional[QuantMeasure] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """[EXPERIMENTAL] Delete fold changes + + [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param left_group_name: name of the left group. (required) + :type left_group_name: str + :param right_group_name: name of the right group. (required) + :type right_group_name: str + :param aggregation: + :type aggregation: AggregationType + :param quantification: + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_aligned_feature_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_aligned_feature_fold_changes_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right group.")], + aggregation: Optional[AggregationType] = None, + quantification: Optional[QuantMeasure] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """[EXPERIMENTAL] Delete fold changes + + [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param left_group_name: name of the left group. (required) + :type left_group_name: str + :param right_group_name: name of the right group. (required) + :type right_group_name: str + :param aggregation: + :type aggregation: AggregationType + :param quantification: + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_aligned_feature_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_aligned_feature_fold_changes_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + left_group_name: Annotated[StrictStr, Field(description="name of the left group.")], + right_group_name: Annotated[StrictStr, Field(description="name of the right group.")], + aggregation: Optional[AggregationType] = None, + quantification: Optional[QuantMeasure] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Delete fold changes + + [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param left_group_name: name of the left group. (required) + :type left_group_name: str + :param right_group_name: name of the right group. (required) + :type right_group_name: str + :param aggregation: + :type aggregation: AggregationType + :param quantification: + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_aligned_feature_fold_changes_experimental_serialize( + project_id=project_id, + left_group_name=left_group_name, + right_group_name=right_group_name, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_aligned_feature_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_aligned_feature_fold_change_table_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> StatisticsTable: + """[EXPERIMENTAL] Get table of all fold changes in the project space + + [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_aligned_feature_fold_change_table_experimental_serialize( + project_id=project_id, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatisticsTable", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_aligned_feature_fold_change_table_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[StatisticsTable]: + """[EXPERIMENTAL] Get table of all fold changes in the project space + + [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_aligned_feature_fold_change_table_experimental_serialize( + project_id=project_id, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatisticsTable", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_aligned_feature_fold_change_table_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, + quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get table of all fold changes in the project space + + [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aggregation: aggregation type. + :type aggregation: AggregationType + :param quantification: quantification type. + :type quantification: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_aligned_feature_fold_change_table_experimental_serialize( + project_id=project_id, + aggregation=aggregation, + quantification=quantification, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StatisticsTable", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_feature_fold_change_table_experimental_serialize( + self, + project_id, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_fold_changes_by_aligned_feature_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + object_id: Annotated[StrictStr, Field(description="id of the object the fold changes are assigned to.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[FoldChange]: + """[EXPERIMENTAL] List all fold changes that are associated with an object + + [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param object_id: id of the object the fold changes are assigned to. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_fold_changes_by_aligned_feature_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FoldChange]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_fold_changes_by_aligned_feature_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + object_id: Annotated[StrictStr, Field(description="id of the object the fold changes are assigned to.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[FoldChange]]: + """[EXPERIMENTAL] List all fold changes that are associated with an object + + [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param object_id: id of the object the fold changes are assigned to. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_fold_changes_by_aligned_feature_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FoldChange]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_fold_changes_by_aligned_feature_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + object_id: Annotated[StrictStr, Field(description="id of the object the fold changes are assigned to.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] List all fold changes that are associated with an object + + [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param object_id: id of the object the fold changes are assigned to. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_fold_changes_by_aligned_feature_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[FoldChange]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fold_changes_by_aligned_feature_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/features_api.py b/client-api_python/generated/PySirius/api/features_api.py index d0972dfc..653dd507 100644 --- a/client-api_python/generated/PySirius/api/features_api.py +++ b/client-api_python/generated/PySirius/api/features_api.py @@ -37,14 +37,15 @@ from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored -from PySirius.models.quantification_measure import QuantificationMeasure -from PySirius.models.quantification_table_experimental import QuantificationTableExperimental +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental from PySirius.models.spectral_library_match import SpectralLibraryMatch from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary from PySirius.models.structure_candidate_formula import StructureCandidateFormula from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField from PySirius.models.structure_candidate_scored import StructureCandidateScored +from PySirius.models.tag import Tag from PySirius.models.trace_set_experimental import TraceSetExperimental from PySirius.api_client import ApiClient, RequestSerialized @@ -71,7 +72,7 @@ def add_aligned_features( project_id: Annotated[StrictStr, Field(description="project-space to import into.")], feature_import: Annotated[List[FeatureImport], Field(description="the feature data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -150,7 +151,7 @@ def add_aligned_features_with_http_info( project_id: Annotated[StrictStr, Field(description="project-space to import into.")], feature_import: Annotated[List[FeatureImport], Field(description="the feature data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -229,7 +230,7 @@ def add_aligned_features_without_preload_content( project_id: Annotated[StrictStr, Field(description="project-space to import into.")], feature_import: Annotated[List[FeatureImport], Field(description="the feature data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -387,10 +388,11 @@ def _add_aligned_features_serialize( @validate_call - def delete_aligned_feature( + def add_de_novo_structure_candidate( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to delete.")], + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + smiles: Annotated[Optional[StrictStr], Field(description="smiles")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -403,15 +405,17 @@ def delete_aligned_feature( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """Delete feature (aligned over runs) with the given identifier from the specified project-space. + ) -> List[StructureCandidateFormula]: + """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. - Delete feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: identifier of feature (aligned over runs) to delete. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str + :param smiles: smiles + :type smiles: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -434,9 +438,10 @@ def delete_aligned_feature( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_aligned_feature_serialize( + _param = self._add_de_novo_structure_candidate_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + smiles=smiles, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -444,7 +449,7 @@ def delete_aligned_feature( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -458,10 +463,11 @@ def delete_aligned_feature( @validate_call - def delete_aligned_feature_with_http_info( + def add_de_novo_structure_candidate_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to delete.")], + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + smiles: Annotated[Optional[StrictStr], Field(description="smiles")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -474,15 +480,17 @@ def delete_aligned_feature_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """Delete feature (aligned over runs) with the given identifier from the specified project-space. + ) -> ApiResponse[List[StructureCandidateFormula]]: + """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. - Delete feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: identifier of feature (aligned over runs) to delete. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str + :param smiles: smiles + :type smiles: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -505,9 +513,10 @@ def delete_aligned_feature_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_aligned_feature_serialize( + _param = self._add_de_novo_structure_candidate_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + smiles=smiles, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -515,7 +524,7 @@ def delete_aligned_feature_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -529,10 +538,11 @@ def delete_aligned_feature_with_http_info( @validate_call - def delete_aligned_feature_without_preload_content( + def add_de_novo_structure_candidate_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to delete.")], + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + smiles: Annotated[Optional[StrictStr], Field(description="smiles")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -546,14 +556,16 @@ def delete_aligned_feature_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Delete feature (aligned over runs) with the given identifier from the specified project-space. + """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. - Delete feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: identifier of feature (aligned over runs) to delete. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str + :param smiles: smiles + :type smiles: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -576,9 +588,10 @@ def delete_aligned_feature_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_aligned_feature_serialize( + _param = self._add_de_novo_structure_candidate_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + smiles=smiles, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -586,7 +599,7 @@ def delete_aligned_feature_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -595,10 +608,11 @@ def delete_aligned_feature_without_preload_content( return response_data.response - def _delete_aligned_feature_serialize( + def _add_de_novo_structure_candidate_serialize( self, project_id, aligned_feature_id, + smiles, _request_auth, _content_type, _headers, @@ -623,11 +637,21 @@ def _delete_aligned_feature_serialize( if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters + if smiles is not None: + + _query_params.append(('smiles', smiles)) + # process the header parameters # process the form parameters # process the body parameter + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # authentication setting @@ -635,8 +659,8 @@ def _delete_aligned_feature_serialize( ] return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -653,10 +677,11 @@ def _delete_aligned_feature_serialize( @validate_call - def delete_aligned_features( + def add_tags_to_aligned_feature_experimental( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - request_body: List[StrictStr], + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + aligned_feature_id: Annotated[StrictStr, Field(description="run to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -669,15 +694,17 @@ def delete_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """Delete feature (aligned over runs) with the given identifier from the specified project-space. + ) -> List[Tag]: + """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project - Delete feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to add to. (required) :type project_id: str - :param request_body: (required) - :type request_body: List[str] + :param aligned_feature_id: run to add tags to. (required) + :type aligned_feature_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -700,9 +727,10 @@ def delete_aligned_features( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_aligned_features_serialize( + _param = self._add_tags_to_aligned_feature_experimental_serialize( project_id=project_id, - request_body=request_body, + aligned_feature_id=aligned_feature_id, + tag=tag, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -710,7 +738,7 @@ def delete_aligned_features( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -724,10 +752,11 @@ def delete_aligned_features( @validate_call - def delete_aligned_features_with_http_info( + def add_tags_to_aligned_feature_experimental_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - request_body: List[StrictStr], + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + aligned_feature_id: Annotated[StrictStr, Field(description="run to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -740,15 +769,17 @@ def delete_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """Delete feature (aligned over runs) with the given identifier from the specified project-space. + ) -> ApiResponse[List[Tag]]: + """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project - Delete feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to add to. (required) :type project_id: str - :param request_body: (required) - :type request_body: List[str] + :param aligned_feature_id: run to add tags to. (required) + :type aligned_feature_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -771,9 +802,10 @@ def delete_aligned_features_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_aligned_features_serialize( + _param = self._add_tags_to_aligned_feature_experimental_serialize( project_id=project_id, - request_body=request_body, + aligned_feature_id=aligned_feature_id, + tag=tag, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -781,7 +813,7 @@ def delete_aligned_features_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -795,10 +827,11 @@ def delete_aligned_features_with_http_info( @validate_call - def delete_aligned_features_without_preload_content( + def add_tags_to_aligned_feature_experimental_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], - request_body: List[StrictStr], + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + aligned_feature_id: Annotated[StrictStr, Field(description="run to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -812,14 +845,16 @@ def delete_aligned_features_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Delete feature (aligned over runs) with the given identifier from the specified project-space. + """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project - Delete feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to delete from. (required) + :param project_id: project-space to add to. (required) :type project_id: str - :param request_body: (required) - :type request_body: List[str] + :param aligned_feature_id: run to add tags to. (required) + :type aligned_feature_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -842,9 +877,10 @@ def delete_aligned_features_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._delete_aligned_features_serialize( + _param = self._add_tags_to_aligned_feature_experimental_serialize( project_id=project_id, - request_body=request_body, + aligned_feature_id=aligned_feature_id, + tag=tag, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -852,7 +888,7 @@ def delete_aligned_features_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -861,10 +897,11 @@ def delete_aligned_features_without_preload_content( return response_data.response - def _delete_aligned_features_serialize( + def _add_tags_to_aligned_feature_experimental_serialize( self, project_id, - request_body, + aligned_feature_id, + tag, _request_auth, _content_type, _headers, @@ -874,7 +911,7 @@ def _delete_aligned_features_serialize( _host = None _collection_formats: Dict[str, str] = { - 'request_body': '', + 'Tag': '', } _path_params: Dict[str, str] = {} @@ -887,14 +924,22 @@ def _delete_aligned_features_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if request_body is not None: - _body_params = request_body + if tag is not None: + _body_params = tag + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) # set the HTTP header `Content-Type` if _content_type: @@ -916,7 +961,7 @@ def _delete_aligned_features_serialize( return self.api_client.param_serialize( method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/delete', + resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -933,10 +978,10 @@ def _delete_aligned_features_serialize( @validate_call - def get_adduct_network_with_merged_traces_experimental( + def delete_aligned_feature( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="one feature that is considered the main feature of the adduct network")], + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -949,14 +994,14 @@ def get_adduct_network_with_merged_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> None: + """Delete feature (aligned over runs) with the given identifier from the specified project-space. - Returns the adduct network for a given aligned feature id together with all merged traces contained in the network. + Delete feature (aligned over runs) with the given identifier from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: one feature that is considered the main feature of the adduct network (required) + :param aligned_feature_id: identifier of feature (aligned over runs) to delete. (required) :type aligned_feature_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -980,7 +1025,7 @@ def get_adduct_network_with_merged_traces_experimental( :return: Returns the result object. """ # noqa: E501 - _param = self._get_adduct_network_with_merged_traces_experimental_serialize( + _param = self._delete_aligned_feature_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, @@ -990,7 +1035,7 @@ def get_adduct_network_with_merged_traces_experimental( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -1004,10 +1049,10 @@ def get_adduct_network_with_merged_traces_experimental( @validate_call - def get_adduct_network_with_merged_traces_experimental_with_http_info( + def delete_aligned_feature_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="one feature that is considered the main feature of the adduct network")], + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1020,14 +1065,14 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> ApiResponse[None]: + """Delete feature (aligned over runs) with the given identifier from the specified project-space. - Returns the adduct network for a given aligned feature id together with all merged traces contained in the network. + Delete feature (aligned over runs) with the given identifier from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: one feature that is considered the main feature of the adduct network (required) + :param aligned_feature_id: identifier of feature (aligned over runs) to delete. (required) :type aligned_feature_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1051,7 +1096,7 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_adduct_network_with_merged_traces_experimental_serialize( + _param = self._delete_aligned_feature_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, @@ -1061,7 +1106,7 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -1075,10 +1120,10 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( @validate_call - def get_adduct_network_with_merged_traces_experimental_without_preload_content( + def delete_aligned_feature_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="one feature that is considered the main feature of the adduct network")], + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1092,13 +1137,13 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + """Delete feature (aligned over runs) with the given identifier from the specified project-space. - Returns the adduct network for a given aligned feature id together with all merged traces contained in the network. + Delete feature (aligned over runs) with the given identifier from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: one feature that is considered the main feature of the adduct network (required) + :param aligned_feature_id: identifier of feature (aligned over runs) to delete. (required) :type aligned_feature_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1122,7 +1167,7 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_adduct_network_with_merged_traces_experimental_serialize( + _param = self._delete_aligned_feature_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, @@ -1132,7 +1177,7 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -1141,7 +1186,7 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( return response_data.response - def _get_adduct_network_with_merged_traces_experimental_serialize( + def _delete_aligned_feature_serialize( self, project_id, aligned_feature_id, @@ -1174,12 +1219,6 @@ def _get_adduct_network_with_merged_traces_experimental_serialize( # process the body parameter - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) # authentication setting @@ -1187,8 +1226,8 @@ def _get_adduct_network_with_merged_traces_experimental_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts', + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1205,11 +1244,10 @@ def _get_adduct_network_with_merged_traces_experimental_serialize( @validate_call - def get_aligned_feature( + def delete_aligned_features( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + request_body: List[StrictStr], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1222,17 +1260,15 @@ def get_aligned_feature( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AlignedFeature: - """Get feature (aligned over runs) with the given identifier from the specified project-space. + ) -> None: + """Delete feature (aligned over runs) with the given identifier from the specified project-space. - Get feature (aligned over runs) with the given identifier from the specified project-space. + Delete feature (aligned over runs) with the given identifier from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: identifier of feature (aligned over runs) to access. (required) - :type aligned_feature_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[AlignedFeatureOptField] + :param request_body: (required) + :type request_body: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1255,10 +1291,9 @@ def get_aligned_feature( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_feature_serialize( + _param = self._delete_aligned_features_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - opt_fields=opt_fields, + request_body=request_body, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1266,7 +1301,7 @@ def get_aligned_feature( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AlignedFeature", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -1280,11 +1315,10 @@ def get_aligned_feature( @validate_call - def get_aligned_feature_with_http_info( + def delete_aligned_features_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + request_body: List[StrictStr], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1297,17 +1331,15 @@ def get_aligned_feature_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AlignedFeature]: - """Get feature (aligned over runs) with the given identifier from the specified project-space. + ) -> ApiResponse[None]: + """Delete feature (aligned over runs) with the given identifier from the specified project-space. - Get feature (aligned over runs) with the given identifier from the specified project-space. + Delete feature (aligned over runs) with the given identifier from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: identifier of feature (aligned over runs) to access. (required) - :type aligned_feature_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[AlignedFeatureOptField] + :param request_body: (required) + :type request_body: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1330,10 +1362,9 @@ def get_aligned_feature_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_feature_serialize( + _param = self._delete_aligned_features_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - opt_fields=opt_fields, + request_body=request_body, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1341,7 +1372,7 @@ def get_aligned_feature_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AlignedFeature", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -1355,11 +1386,10 @@ def get_aligned_feature_with_http_info( @validate_call - def get_aligned_feature_without_preload_content( + def delete_aligned_features_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + request_body: List[StrictStr], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1373,16 +1403,14 @@ def get_aligned_feature_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get feature (aligned over runs) with the given identifier from the specified project-space. + """Delete feature (aligned over runs) with the given identifier from the specified project-space. - Get feature (aligned over runs) with the given identifier from the specified project-space. + Delete feature (aligned over runs) with the given identifier from the specified project-space. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: identifier of feature (aligned over runs) to access. (required) - :type aligned_feature_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[AlignedFeatureOptField] + :param request_body: (required) + :type request_body: List[str] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1405,10 +1433,9 @@ def get_aligned_feature_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_feature_serialize( + _param = self._delete_aligned_features_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - opt_fields=opt_fields, + request_body=request_body, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1416,7 +1443,7 @@ def get_aligned_feature_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AlignedFeature", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -1425,11 +1452,10 @@ def get_aligned_feature_without_preload_content( return response_data.response - def _get_aligned_feature_serialize( + def _delete_aligned_features_serialize( self, project_id, - aligned_feature_id, - opt_fields, + request_body, _request_auth, _content_type, _headers, @@ -1439,7 +1465,7 @@ def _get_aligned_feature_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', + 'request_body': '', } _path_params: Dict[str, str] = {} @@ -1452,33 +1478,36 @@ def _get_aligned_feature_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter + if request_body is not None: + _body_params = request_body - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ ] return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/delete', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1495,10 +1524,10 @@ def _get_aligned_feature_serialize( @validate_call - def get_aligned_features( + def get_adduct_network_with_merged_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="one feature that is considered the main feature of the adduct network")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1511,15 +1540,15 @@ def get_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AlignedFeature]: - """Get all available features (aligned over runs) in the given project-space. + ) -> TraceSetExperimental: + """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network - Get all available features (aligned over runs) in the given project-space. + [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[AlignedFeatureOptField] + :param aligned_feature_id: one feature that is considered the main feature of the adduct network (required) + :type aligned_feature_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1542,9 +1571,9 @@ def get_aligned_features( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_serialize( + _param = self._get_adduct_network_with_merged_traces_experimental_serialize( project_id=project_id, - opt_fields=opt_fields, + aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1552,7 +1581,7 @@ def get_aligned_features( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AlignedFeature]", + '200': "TraceSetExperimental", } response_data = self.api_client.call_api( *_param, @@ -1566,10 +1595,10 @@ def get_aligned_features( @validate_call - def get_aligned_features_with_http_info( + def get_adduct_network_with_merged_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="one feature that is considered the main feature of the adduct network")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1582,15 +1611,15 @@ def get_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AlignedFeature]]: - """Get all available features (aligned over runs) in the given project-space. + ) -> ApiResponse[TraceSetExperimental]: + """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network - Get all available features (aligned over runs) in the given project-space. + [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[AlignedFeatureOptField] + :param aligned_feature_id: one feature that is considered the main feature of the adduct network (required) + :type aligned_feature_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1613,9 +1642,9 @@ def get_aligned_features_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_serialize( + _param = self._get_adduct_network_with_merged_traces_experimental_serialize( project_id=project_id, - opt_fields=opt_fields, + aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1623,7 +1652,7 @@ def get_aligned_features_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AlignedFeature]", + '200': "TraceSetExperimental", } response_data = self.api_client.call_api( *_param, @@ -1637,10 +1666,10 @@ def get_aligned_features_with_http_info( @validate_call - def get_aligned_features_without_preload_content( + def get_adduct_network_with_merged_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="one feature that is considered the main feature of the adduct network")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1654,14 +1683,14 @@ def get_aligned_features_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get all available features (aligned over runs) in the given project-space. + """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network - Get all available features (aligned over runs) in the given project-space. + [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[AlignedFeatureOptField] + :param aligned_feature_id: one feature that is considered the main feature of the adduct network (required) + :type aligned_feature_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1684,9 +1713,9 @@ def get_aligned_features_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_serialize( + _param = self._get_adduct_network_with_merged_traces_experimental_serialize( project_id=project_id, - opt_fields=opt_fields, + aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1694,7 +1723,7 @@ def get_aligned_features_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AlignedFeature]", + '200': "TraceSetExperimental", } response_data = self.api_client.call_api( *_param, @@ -1703,10 +1732,10 @@ def get_aligned_features_without_preload_content( return response_data.response - def _get_aligned_features_serialize( + def _get_adduct_network_with_merged_traces_experimental_serialize( self, project_id, - opt_fields, + aligned_feature_id, _request_auth, _content_type, _headers, @@ -1716,7 +1745,6 @@ def _get_aligned_features_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -1729,11 +1757,9 @@ def _get_aligned_features_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter @@ -1753,7 +1779,7 @@ def _get_aligned_features_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1770,13 +1796,12 @@ def _get_aligned_features_serialize( @validate_call - def get_aligned_features_paged( + def get_aligned_feature( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1789,19 +1814,17 @@ def get_aligned_features_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelAlignedFeature: - """Get all available features (aligned over runs) in the given project-space. + ) -> AlignedFeature: + """Get feature (aligned over runs) with the given identifier from the specified project-space. - Get all available features (aligned over runs) in the given project-space. + Get feature (aligned over runs) with the given identifier from the specified project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] + :param aligned_feature_id: identifier of feature (aligned over runs) to access. (required) + :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one @@ -1826,11 +1849,10 @@ def get_aligned_features_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_paged_serialize( + _param = self._get_aligned_feature_serialize( project_id=project_id, - page=page, - size=size, - sort=sort, + aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -1839,7 +1861,7 @@ def get_aligned_features_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelAlignedFeature", + '200': "AlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -1853,13 +1875,12 @@ def get_aligned_features_paged( @validate_call - def get_aligned_features_paged_with_http_info( + def get_aligned_feature_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1872,19 +1893,17 @@ def get_aligned_features_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelAlignedFeature]: - """Get all available features (aligned over runs) in the given project-space. + ) -> ApiResponse[AlignedFeature]: + """Get feature (aligned over runs) with the given identifier from the specified project-space. - Get all available features (aligned over runs) in the given project-space. + Get feature (aligned over runs) with the given identifier from the specified project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] + :param aligned_feature_id: identifier of feature (aligned over runs) to access. (required) + :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one @@ -1909,11 +1928,10 @@ def get_aligned_features_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_paged_serialize( + _param = self._get_aligned_feature_serialize( project_id=project_id, - page=page, - size=size, - sort=sort, + aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -1922,7 +1940,7 @@ def get_aligned_features_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelAlignedFeature", + '200': "AlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -1936,13 +1954,12 @@ def get_aligned_features_paged_with_http_info( @validate_call - def get_aligned_features_paged_without_preload_content( + def get_aligned_feature_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1956,18 +1973,16 @@ def get_aligned_features_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get all available features (aligned over runs) in the given project-space. + """Get feature (aligned over runs) with the given identifier from the specified project-space. - Get all available features (aligned over runs) in the given project-space. + Get feature (aligned over runs) with the given identifier from the specified project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] + :param aligned_feature_id: identifier of feature (aligned over runs) to access. (required) + :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one @@ -1992,11 +2007,10 @@ def get_aligned_features_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_paged_serialize( + _param = self._get_aligned_feature_serialize( project_id=project_id, - page=page, - size=size, - sort=sort, + aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -2005,7 +2019,7 @@ def get_aligned_features_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelAlignedFeature", + '200': "AlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -2014,12 +2028,11 @@ def get_aligned_features_paged_without_preload_content( return response_data.response - def _get_aligned_features_paged_serialize( + def _get_aligned_feature_serialize( self, project_id, - page, - size, - sort, + aligned_feature_id, + ms_data_search_prepared, opt_fields, _request_auth, _content_type, @@ -2030,7 +2043,6 @@ def _get_aligned_features_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', 'optFields': 'multi', } @@ -2044,18 +2056,12 @@ def _get_aligned_features_paged_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) + if ms_data_search_prepared is not None: - if sort is not None: - - _query_params.append(('sort', sort)) + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) if opt_fields is not None: @@ -2080,7 +2086,7 @@ def _get_aligned_features_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/page', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2097,7 +2103,7 @@ def _get_aligned_features_paged_serialize( @validate_call - def get_aligned_features_quality_experimental( + def get_aligned_feature_quality_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], @@ -2114,9 +2120,9 @@ def get_aligned_features_quality_experimental( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AlignedFeatureQualityExperimental: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) - Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str @@ -2144,7 +2150,7 @@ def get_aligned_features_quality_experimental( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_quality_experimental_serialize( + _param = self._get_aligned_feature_quality_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, @@ -2168,7 +2174,7 @@ def get_aligned_features_quality_experimental( @validate_call - def get_aligned_features_quality_experimental_with_http_info( + def get_aligned_feature_quality_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], @@ -2185,9 +2191,9 @@ def get_aligned_features_quality_experimental_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AlignedFeatureQualityExperimental]: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) - Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str @@ -2215,7 +2221,7 @@ def get_aligned_features_quality_experimental_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_quality_experimental_serialize( + _param = self._get_aligned_feature_quality_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, @@ -2239,7 +2245,7 @@ def get_aligned_features_quality_experimental_with_http_info( @validate_call - def get_aligned_features_quality_experimental_without_preload_content( + def get_aligned_feature_quality_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], @@ -2256,9 +2262,9 @@ def get_aligned_features_quality_experimental_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) - Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space. + [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str @@ -2286,7 +2292,7 @@ def get_aligned_features_quality_experimental_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_aligned_features_quality_experimental_serialize( + _param = self._get_aligned_feature_quality_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, _request_auth=_request_auth, @@ -2305,7 +2311,7 @@ def get_aligned_features_quality_experimental_without_preload_content( return response_data.response - def _get_aligned_features_quality_experimental_serialize( + def _get_aligned_feature_quality_experimental_serialize( self, project_id, aligned_feature_id, @@ -2369,11 +2375,11 @@ def _get_aligned_features_quality_experimental_serialize( @validate_call - def get_best_matching_compound_classes( + def get_aligned_features( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2386,17 +2392,17 @@ def get_best_matching_compound_classes( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> CompoundClasses: - """Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + ) -> List[AlignedFeature]: + """Get all available features (aligned over runs) in the given project-space. - Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + Get all available features (aligned over runs) in the given project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2419,10 +2425,10 @@ def get_best_matching_compound_classes( :return: Returns the result object. """ # noqa: E501 - _param = self._get_best_matching_compound_classes_serialize( + _param = self._get_aligned_features_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2430,7 +2436,7 @@ def get_best_matching_compound_classes( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CompoundClasses", + '200': "List[AlignedFeature]", } response_data = self.api_client.call_api( *_param, @@ -2444,11 +2450,11 @@ def get_best_matching_compound_classes( @validate_call - def get_best_matching_compound_classes_with_http_info( + def get_aligned_features_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2461,17 +2467,17 @@ def get_best_matching_compound_classes_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[CompoundClasses]: - """Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + ) -> ApiResponse[List[AlignedFeature]]: + """Get all available features (aligned over runs) in the given project-space. - Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + Get all available features (aligned over runs) in the given project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2494,10 +2500,10 @@ def get_best_matching_compound_classes_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_best_matching_compound_classes_serialize( + _param = self._get_aligned_features_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2505,7 +2511,7 @@ def get_best_matching_compound_classes_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CompoundClasses", + '200': "List[AlignedFeature]", } response_data = self.api_client.call_api( *_param, @@ -2519,11 +2525,11 @@ def get_best_matching_compound_classes_with_http_info( @validate_call - def get_best_matching_compound_classes_without_preload_content( + def get_aligned_features_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2537,16 +2543,16 @@ def get_best_matching_compound_classes_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + """Get all available features (aligned over runs) in the given project-space. - Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + Get all available features (aligned over runs) in the given project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2569,10 +2575,10 @@ def get_best_matching_compound_classes_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_best_matching_compound_classes_serialize( + _param = self._get_aligned_features_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2580,7 +2586,7 @@ def get_best_matching_compound_classes_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CompoundClasses", + '200': "List[AlignedFeature]", } response_data = self.api_client.call_api( *_param, @@ -2589,11 +2595,11 @@ def get_best_matching_compound_classes_without_preload_content( return response_data.response - def _get_best_matching_compound_classes_serialize( + def _get_aligned_features_serialize( self, project_id, - aligned_feature_id, - formula_id, + ms_data_search_prepared, + opt_fields, _request_auth, _content_type, _headers, @@ -2603,6 +2609,7 @@ def _get_best_matching_compound_classes_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -2615,11 +2622,15 @@ def _get_best_matching_compound_classes_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + # process the header parameters # process the form parameters # process the body parameter @@ -2639,7 +2650,7 @@ def _get_best_matching_compound_classes_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes', + resource_path='/api/projects/{projectId}/aligned-features', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2656,11 +2667,14 @@ def _get_best_matching_compound_classes_serialize( @validate_call - def get_canopus_prediction( + def get_aligned_features_by_group_experimental( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2673,17 +2687,23 @@ def get_canopus_prediction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> CanopusPrediction: - """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, + ) -> PagedModelAlignedFeature: + """[EXPERIMENTAL] Get features (aligned over runs) by tag group - All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, + [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2706,10 +2726,13 @@ def get_canopus_prediction( :return: Returns the result object. """ # noqa: E501 - _param = self._get_canopus_prediction_serialize( + _param = self._get_aligned_features_by_group_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2717,7 +2740,7 @@ def get_canopus_prediction( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CanopusPrediction", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -2731,11 +2754,14 @@ def get_canopus_prediction( @validate_call - def get_canopus_prediction_with_http_info( + def get_aligned_features_by_group_experimental_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2748,17 +2774,23 @@ def get_canopus_prediction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[CanopusPrediction]: - """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, + ) -> ApiResponse[PagedModelAlignedFeature]: + """[EXPERIMENTAL] Get features (aligned over runs) by tag group - All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, + [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2781,10 +2813,13 @@ def get_canopus_prediction_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_canopus_prediction_serialize( + _param = self._get_aligned_features_by_group_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2792,7 +2827,7 @@ def get_canopus_prediction_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CanopusPrediction", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -2806,11 +2841,14 @@ def get_canopus_prediction_with_http_info( @validate_call - def get_canopus_prediction_without_preload_content( + def get_aligned_features_by_group_experimental_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2824,16 +2862,22 @@ def get_canopus_prediction_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, + """[EXPERIMENTAL] Get features (aligned over runs) by tag group - All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, + [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2856,10 +2900,13 @@ def get_canopus_prediction_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_canopus_prediction_serialize( + _param = self._get_aligned_features_by_group_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2867,7 +2914,7 @@ def get_canopus_prediction_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CanopusPrediction", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -2876,11 +2923,14 @@ def get_canopus_prediction_without_preload_content( return response_data.response - def _get_canopus_prediction_serialize( + def _get_aligned_features_by_group_experimental_serialize( self, project_id, - aligned_feature_id, - formula_id, + group_name, + page, + size, + sort, + opt_fields, _request_auth, _content_type, _headers, @@ -2890,6 +2940,8 @@ def _get_canopus_prediction_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -2902,11 +2954,27 @@ def _get_canopus_prediction_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + # process the header parameters # process the form parameters # process the body parameter @@ -2926,7 +2994,7 @@ def _get_canopus_prediction_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction', + resource_path='/api/projects/{projectId}/aligned-features/grouped', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2943,11 +3011,14 @@ def _get_canopus_prediction_serialize( @validate_call - def get_de_novo_structure_candidates( + def get_aligned_features_by_tag_experimental( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2960,17 +3031,23 @@ def get_de_novo_structure_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: - """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> PagedModelAlignedFeature: + """[EXPERIMENTAL] Get features (aligned over runs) by tag - List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project space to get features (aligned over runs) from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) - :type aligned_feature_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2993,9 +3070,12 @@ def get_de_novo_structure_candidates( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_serialize( + _param = self._get_aligned_features_by_tag_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, + filter=filter, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -3004,7 +3084,7 @@ def get_de_novo_structure_candidates( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateFormula]", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -3018,11 +3098,14 @@ def get_de_novo_structure_candidates( @validate_call - def get_de_novo_structure_candidates_with_http_info( + def get_aligned_features_by_tag_experimental_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3035,17 +3118,23 @@ def get_de_novo_structure_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: - """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> ApiResponse[PagedModelAlignedFeature]: + """[EXPERIMENTAL] Get features (aligned over runs) by tag - List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project space to get features (aligned over runs) from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) - :type aligned_feature_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3068,9 +3157,12 @@ def get_de_novo_structure_candidates_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_serialize( + _param = self._get_aligned_features_by_tag_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, + filter=filter, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -3079,7 +3171,7 @@ def get_de_novo_structure_candidates_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateFormula]", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -3093,11 +3185,14 @@ def get_de_novo_structure_candidates_with_http_info( @validate_call - def get_de_novo_structure_candidates_without_preload_content( + def get_aligned_features_by_tag_experimental_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3111,16 +3206,22 @@ def get_de_novo_structure_candidates_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + """[EXPERIMENTAL] Get features (aligned over runs) by tag - List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project space to get features (aligned over runs) from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) - :type aligned_feature_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3143,9 +3244,12 @@ def get_de_novo_structure_candidates_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_serialize( + _param = self._get_aligned_features_by_tag_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, + filter=filter, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -3154,7 +3258,7 @@ def get_de_novo_structure_candidates_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateFormula]", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -3163,10 +3267,13 @@ def get_de_novo_structure_candidates_without_preload_content( return response_data.response - def _get_de_novo_structure_candidates_serialize( + def _get_aligned_features_by_tag_experimental_serialize( self, project_id, - aligned_feature_id, + filter, + page, + size, + sort, opt_fields, _request_auth, _content_type, @@ -3177,6 +3284,7 @@ def _get_de_novo_structure_candidates_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -3190,14 +3298,28 @@ def _get_de_novo_structure_candidates_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters - if opt_fields is not None: + if filter is not None: - _query_params.append(('optFields', opt_fields)) + _query_params.append(('filter', filter)) - # process the header parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters # process the form parameters # process the body parameter @@ -3216,7 +3338,7 @@ def _get_de_novo_structure_candidates_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', + resource_path='/api/projects/{projectId}/aligned-features/tagged', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3233,12 +3355,14 @@ def _get_de_novo_structure_candidates_serialize( @validate_call - def get_de_novo_structure_candidates_by_formula( + def get_aligned_features_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3251,19 +3375,23 @@ def get_de_novo_structure_candidates_by_formula( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateScored]: - """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> PagedModelAlignedFeature: + """Get all available features (aligned over runs) in the given project-space. - List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + Get all available features (aligned over runs) in the given project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3286,10 +3414,12 @@ def get_de_novo_structure_candidates_by_formula( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_by_formula_serialize( + _param = self._get_aligned_features_paged_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -3298,7 +3428,7 @@ def get_de_novo_structure_candidates_by_formula( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateScored]", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -3312,12 +3442,14 @@ def get_de_novo_structure_candidates_by_formula( @validate_call - def get_de_novo_structure_candidates_by_formula_with_http_info( + def get_aligned_features_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3330,19 +3462,23 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateScored]]: - """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> ApiResponse[PagedModelAlignedFeature]: + """Get all available features (aligned over runs) in the given project-space. - List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + Get all available features (aligned over runs) in the given project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3365,10 +3501,12 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_by_formula_serialize( + _param = self._get_aligned_features_paged_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -3377,7 +3515,7 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateScored]", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -3391,12 +3529,14 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( @validate_call - def get_de_novo_structure_candidates_by_formula_without_preload_content( + def get_aligned_features_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3410,18 +3550,22 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + """Get all available features (aligned over runs) in the given project-space. - List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + Get all available features (aligned over runs) in the given project-space. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :type opt_fields: List[AlignedFeatureOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3444,10 +3588,12 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_by_formula_serialize( + _param = self._get_aligned_features_paged_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -3456,7 +3602,7 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateScored]", + '200': "PagedModelAlignedFeature", } response_data = self.api_client.call_api( *_param, @@ -3465,11 +3611,13 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( return response_data.response - def _get_de_novo_structure_candidates_by_formula_serialize( + def _get_aligned_features_paged_serialize( self, project_id, - aligned_feature_id, - formula_id, + page, + size, + sort, + ms_data_search_prepared, opt_fields, _request_auth, _content_type, @@ -3480,6 +3628,7 @@ def _get_de_novo_structure_candidates_by_formula_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -3493,11 +3642,23 @@ def _get_de_novo_structure_candidates_by_formula_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + if opt_fields is not None: _query_params.append(('optFields', opt_fields)) @@ -3521,7 +3682,7 @@ def _get_de_novo_structure_candidates_by_formula_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures', + resource_path='/api/projects/{projectId}/aligned-features/page', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3538,15 +3699,11 @@ def _get_de_novo_structure_candidates_by_formula_serialize( @validate_call - def get_de_novo_structure_candidates_by_formula_paged( + def get_best_matching_compound_classes( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3559,10 +3716,10 @@ def get_de_novo_structure_candidates_by_formula_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateScored: - """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> CompoundClasses: + """Return Best matching compound classes for given formulaId - Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, :param project_id: project-space to read from. (required) :type project_id: str @@ -3570,14 +3727,6 @@ def get_de_novo_structure_candidates_by_formula_paged( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3600,14 +3749,10 @@ def get_de_novo_structure_candidates_by_formula_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_by_formula_paged_serialize( + _param = self._get_best_matching_compound_classes_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3615,7 +3760,7 @@ def get_de_novo_structure_candidates_by_formula_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateScored", + '200': "CompoundClasses", } response_data = self.api_client.call_api( *_param, @@ -3629,15 +3774,11 @@ def get_de_novo_structure_candidates_by_formula_paged( @validate_call - def get_de_novo_structure_candidates_by_formula_paged_with_http_info( + def get_best_matching_compound_classes_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3650,10 +3791,10 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateScored]: - """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> ApiResponse[CompoundClasses]: + """Return Best matching compound classes for given formulaId - Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, :param project_id: project-space to read from. (required) :type project_id: str @@ -3661,14 +3802,6 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3691,14 +3824,10 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_by_formula_paged_serialize( + _param = self._get_best_matching_compound_classes_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3706,7 +3835,7 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateScored", + '200': "CompoundClasses", } response_data = self.api_client.call_api( *_param, @@ -3720,15 +3849,11 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( @validate_call - def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( + def get_best_matching_compound_classes_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3742,9 +3867,9 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + """Return Best matching compound classes for given formulaId - Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, :param project_id: project-space to read from. (required) :type project_id: str @@ -3752,14 +3877,6 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3782,14 +3899,10 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_by_formula_paged_serialize( + _param = self._get_best_matching_compound_classes_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3797,7 +3910,7 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateScored", + '200': "CompoundClasses", } response_data = self.api_client.call_api( *_param, @@ -3806,15 +3919,11 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( return response_data.response - def _get_de_novo_structure_candidates_by_formula_paged_serialize( + def _get_best_matching_compound_classes_serialize( self, project_id, aligned_feature_id, formula_id, - page, - size, - sort, - opt_fields, _request_auth, _content_type, _headers, @@ -3824,8 +3933,6 @@ def _get_de_novo_structure_candidates_by_formula_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -3843,22 +3950,6 @@ def _get_de_novo_structure_candidates_by_formula_paged_serialize( if formula_id is not None: _path_params['formulaId'] = formula_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter @@ -3878,7 +3969,7 @@ def _get_de_novo_structure_candidates_by_formula_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3895,14 +3986,11 @@ def _get_de_novo_structure_candidates_by_formula_paged_serialize( @validate_call - def get_de_novo_structure_candidates_paged( + def get_canopus_prediction( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3915,23 +4003,17 @@ def get_de_novo_structure_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateFormula: - """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - - Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> CanopusPrediction: + """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, + + All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3954,13 +4036,10 @@ def get_de_novo_structure_candidates_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_paged_serialize( + _param = self._get_canopus_prediction_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3968,7 +4047,7 @@ def get_de_novo_structure_candidates_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateFormula", + '200': "CanopusPrediction", } response_data = self.api_client.call_api( *_param, @@ -3982,14 +4061,11 @@ def get_de_novo_structure_candidates_paged( @validate_call - def get_de_novo_structure_candidates_paged_with_http_info( + def get_canopus_prediction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4002,23 +4078,17 @@ def get_de_novo_structure_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateFormula]: - """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + ) -> ApiResponse[CanopusPrediction]: + """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, - Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4041,13 +4111,10 @@ def get_de_novo_structure_candidates_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_paged_serialize( + _param = self._get_canopus_prediction_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4055,7 +4122,7 @@ def get_de_novo_structure_candidates_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateFormula", + '200': "CanopusPrediction", } response_data = self.api_client.call_api( *_param, @@ -4069,14 +4136,11 @@ def get_de_novo_structure_candidates_paged_with_http_info( @validate_call - def get_de_novo_structure_candidates_paged_without_preload_content( + def get_canopus_prediction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4090,22 +4154,16 @@ def get_de_novo_structure_candidates_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, - Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4128,13 +4186,10 @@ def get_de_novo_structure_candidates_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_de_novo_structure_candidates_paged_serialize( + _param = self._get_canopus_prediction_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4142,7 +4197,7 @@ def get_de_novo_structure_candidates_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateFormula", + '200': "CanopusPrediction", } response_data = self.api_client.call_api( *_param, @@ -4151,14 +4206,11 @@ def get_de_novo_structure_candidates_paged_without_preload_content( return response_data.response - def _get_de_novo_structure_candidates_paged_serialize( + def _get_canopus_prediction_serialize( self, project_id, aligned_feature_id, - page, - size, - sort, - opt_fields, + formula_id, _request_auth, _content_type, _headers, @@ -4168,8 +4220,6 @@ def _get_de_novo_structure_candidates_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -4184,23 +4234,9 @@ def _get_de_novo_structure_candidates_paged_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter @@ -4220,7 +4256,7 @@ def _get_de_novo_structure_candidates_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -4237,11 +4273,11 @@ def _get_de_novo_structure_candidates_paged_serialize( @validate_call - def get_fingerprint_prediction( + def get_de_novo_structure_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4254,17 +4290,17 @@ def get_fingerprint_prediction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[float]: - """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + ) -> List[StructureCandidateFormula]: + """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4287,10 +4323,10 @@ def get_fingerprint_prediction( :return: Returns the result object. """ # noqa: E501 - _param = self._get_fingerprint_prediction_serialize( + _param = self._get_de_novo_structure_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4298,7 +4334,7 @@ def get_fingerprint_prediction( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[float]", + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -4312,11 +4348,11 @@ def get_fingerprint_prediction( @validate_call - def get_fingerprint_prediction_with_http_info( + def get_de_novo_structure_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4329,17 +4365,17 @@ def get_fingerprint_prediction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[float]]: - """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + ) -> ApiResponse[List[StructureCandidateFormula]]: + """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4362,10 +4398,10 @@ def get_fingerprint_prediction_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_fingerprint_prediction_serialize( + _param = self._get_de_novo_structure_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4373,7 +4409,7 @@ def get_fingerprint_prediction_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[float]", + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -4387,11 +4423,11 @@ def get_fingerprint_prediction_with_http_info( @validate_call - def get_fingerprint_prediction_without_preload_content( + def get_de_novo_structure_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4405,16 +4441,16 @@ def get_fingerprint_prediction_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4437,10 +4473,10 @@ def get_fingerprint_prediction_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_fingerprint_prediction_serialize( + _param = self._get_de_novo_structure_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4448,7 +4484,7 @@ def get_fingerprint_prediction_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[float]", + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -4457,11 +4493,11 @@ def get_fingerprint_prediction_without_preload_content( return response_data.response - def _get_fingerprint_prediction_serialize( + def _get_de_novo_structure_candidates_serialize( self, project_id, aligned_feature_id, - formula_id, + opt_fields, _request_auth, _content_type, _headers, @@ -4471,6 +4507,7 @@ def _get_fingerprint_prediction_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -4485,9 +4522,11 @@ def _get_fingerprint_prediction_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + # process the header parameters # process the form parameters # process the body parameter @@ -4507,7 +4546,7 @@ def _get_fingerprint_prediction_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -4524,11 +4563,12 @@ def _get_fingerprint_prediction_serialize( @validate_call - def get_formula_annotated_ms_ms_data( + def get_de_novo_structure_candidates_by_formula( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4541,10 +4581,10 @@ def get_formula_annotated_ms_ms_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedMsMsData: - """Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + ) -> List[StructureCandidateScored]: + """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str @@ -4552,6 +4592,8 @@ def get_formula_annotated_ms_ms_data( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4574,10 +4616,11 @@ def get_formula_annotated_ms_ms_data( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_annotated_ms_ms_data_serialize( + _param = self._get_de_novo_structure_candidates_by_formula_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4585,7 +4628,7 @@ def get_formula_annotated_ms_ms_data( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedMsMsData", + '200': "List[StructureCandidateScored]", } response_data = self.api_client.call_api( *_param, @@ -4599,11 +4642,12 @@ def get_formula_annotated_ms_ms_data( @validate_call - def get_formula_annotated_ms_ms_data_with_http_info( + def get_de_novo_structure_candidates_by_formula_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4616,10 +4660,10 @@ def get_formula_annotated_ms_ms_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedMsMsData]: - """Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + ) -> ApiResponse[List[StructureCandidateScored]]: + """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str @@ -4627,6 +4671,8 @@ def get_formula_annotated_ms_ms_data_with_http_info( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4649,10 +4695,11 @@ def get_formula_annotated_ms_ms_data_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_annotated_ms_ms_data_serialize( + _param = self._get_de_novo_structure_candidates_by_formula_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4660,7 +4707,7 @@ def get_formula_annotated_ms_ms_data_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedMsMsData", + '200': "List[StructureCandidateScored]", } response_data = self.api_client.call_api( *_param, @@ -4674,11 +4721,12 @@ def get_formula_annotated_ms_ms_data_with_http_info( @validate_call - def get_formula_annotated_ms_ms_data_without_preload_content( + def get_de_novo_structure_candidates_by_formula_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4692,9 +4740,9 @@ def get_formula_annotated_ms_ms_data_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str @@ -4702,6 +4750,8 @@ def get_formula_annotated_ms_ms_data_without_preload_content( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4724,10 +4774,11 @@ def get_formula_annotated_ms_ms_data_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_annotated_ms_ms_data_serialize( + _param = self._get_de_novo_structure_candidates_by_formula_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4735,7 +4786,7 @@ def get_formula_annotated_ms_ms_data_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedMsMsData", + '200': "List[StructureCandidateScored]", } response_data = self.api_client.call_api( *_param, @@ -4744,11 +4795,12 @@ def get_formula_annotated_ms_ms_data_without_preload_content( return response_data.response - def _get_formula_annotated_ms_ms_data_serialize( + def _get_de_novo_structure_candidates_by_formula_serialize( self, project_id, aligned_feature_id, formula_id, + opt_fields, _request_auth, _content_type, _headers, @@ -4758,6 +4810,7 @@ def _get_formula_annotated_ms_ms_data_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -4775,6 +4828,10 @@ def _get_formula_annotated_ms_ms_data_serialize( if formula_id is not None: _path_params['formulaId'] = formula_id # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + # process the header parameters # process the form parameters # process the body parameter @@ -4794,7 +4851,7 @@ def _get_formula_annotated_ms_ms_data_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -4811,12 +4868,15 @@ def _get_formula_annotated_ms_ms_data_serialize( @validate_call - def get_formula_annotated_spectrum( + def get_de_novo_structure_candidates_by_formula_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4829,10 +4889,10 @@ def get_formula_annotated_spectrum( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: - """Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + ) -> PagedModelStructureCandidateScored: + """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str @@ -4840,8 +4900,14 @@ def get_formula_annotated_spectrum( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) - :type spectrum_index: int + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4864,11 +4930,14 @@ def get_formula_annotated_spectrum( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_annotated_spectrum_serialize( + _param = self._get_de_novo_structure_candidates_by_formula_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - spectrum_index=spectrum_index, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4876,7 +4945,7 @@ def get_formula_annotated_spectrum( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedSpectrum", + '200': "PagedModelStructureCandidateScored", } response_data = self.api_client.call_api( *_param, @@ -4890,12 +4959,15 @@ def get_formula_annotated_spectrum( @validate_call - def get_formula_annotated_spectrum_with_http_info( + def get_de_novo_structure_candidates_by_formula_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4908,10 +4980,10 @@ def get_formula_annotated_spectrum_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: - """Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + ) -> ApiResponse[PagedModelStructureCandidateScored]: + """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str @@ -4919,8 +4991,14 @@ def get_formula_annotated_spectrum_with_http_info( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) - :type spectrum_index: int + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4943,11 +5021,14 @@ def get_formula_annotated_spectrum_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_annotated_spectrum_serialize( + _param = self._get_de_novo_structure_candidates_by_formula_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - spectrum_index=spectrum_index, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4955,7 +5036,7 @@ def get_formula_annotated_spectrum_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedSpectrum", + '200': "PagedModelStructureCandidateScored", } response_data = self.api_client.call_api( *_param, @@ -4969,12 +5050,15 @@ def get_formula_annotated_spectrum_with_http_info( @validate_call - def get_formula_annotated_spectrum_without_preload_content( + def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4988,9 +5072,9 @@ def get_formula_annotated_spectrum_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str @@ -4998,8 +5082,14 @@ def get_formula_annotated_spectrum_without_preload_content( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) - :type spectrum_index: int + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5022,11 +5112,14 @@ def get_formula_annotated_spectrum_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_annotated_spectrum_serialize( + _param = self._get_de_novo_structure_candidates_by_formula_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - spectrum_index=spectrum_index, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5034,7 +5127,7 @@ def get_formula_annotated_spectrum_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedSpectrum", + '200': "PagedModelStructureCandidateScored", } response_data = self.api_client.call_api( *_param, @@ -5043,12 +5136,15 @@ def get_formula_annotated_spectrum_without_preload_content( return response_data.response - def _get_formula_annotated_spectrum_serialize( + def _get_de_novo_structure_candidates_by_formula_paged_serialize( self, project_id, aligned_feature_id, formula_id, - spectrum_index, + page, + size, + sort, + opt_fields, _request_auth, _content_type, _headers, @@ -5058,6 +5154,8 @@ def _get_formula_annotated_spectrum_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -5075,9 +5173,21 @@ def _get_formula_annotated_spectrum_serialize( if formula_id is not None: _path_params['formulaId'] = formula_id # process the query parameters - if spectrum_index is not None: + if page is not None: - _query_params.append(('spectrumIndex', spectrum_index)) + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) # process the header parameters # process the form parameters @@ -5098,7 +5208,7 @@ def _get_formula_annotated_spectrum_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -5115,12 +5225,14 @@ def _get_formula_annotated_spectrum_serialize( @validate_call - def get_formula_candidate( + def get_de_novo_structure_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5133,19 +5245,23 @@ def get_formula_candidate( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FormulaCandidate: - """FormulaResultContainers for the given 'formulaId' with minimal information. + ) -> PagedModelStructureCandidateFormula: + """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. + Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5168,10 +5284,12 @@ def get_formula_candidate( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidate_serialize( + _param = self._get_de_novo_structure_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -5180,7 +5298,7 @@ def get_formula_candidate( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FormulaCandidate", + '200': "PagedModelStructureCandidateFormula", } response_data = self.api_client.call_api( *_param, @@ -5194,12 +5312,14 @@ def get_formula_candidate( @validate_call - def get_formula_candidate_with_http_info( + def get_de_novo_structure_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5212,19 +5332,23 @@ def get_formula_candidate_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FormulaCandidate]: - """FormulaResultContainers for the given 'formulaId' with minimal information. + ) -> ApiResponse[PagedModelStructureCandidateFormula]: + """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. + Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5247,10 +5371,12 @@ def get_formula_candidate_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidate_serialize( + _param = self._get_de_novo_structure_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -5259,7 +5385,7 @@ def get_formula_candidate_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FormulaCandidate", + '200': "PagedModelStructureCandidateFormula", } response_data = self.api_client.call_api( *_param, @@ -5273,12 +5399,14 @@ def get_formula_candidate_with_http_info( @validate_call - def get_formula_candidate_without_preload_content( + def get_de_novo_structure_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5292,18 +5420,22 @@ def get_formula_candidate_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """FormulaResultContainers for the given 'formulaId' with minimal information. + """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. + Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5326,10 +5458,12 @@ def get_formula_candidate_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidate_serialize( + _param = self._get_de_novo_structure_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -5338,7 +5472,7 @@ def get_formula_candidate_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FormulaCandidate", + '200': "PagedModelStructureCandidateFormula", } response_data = self.api_client.call_api( *_param, @@ -5347,11 +5481,13 @@ def get_formula_candidate_without_preload_content( return response_data.response - def _get_formula_candidate_serialize( + def _get_de_novo_structure_candidates_paged_serialize( self, project_id, aligned_feature_id, - formula_id, + page, + size, + sort, opt_fields, _request_auth, _content_type, @@ -5362,6 +5498,7 @@ def _get_formula_candidate_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -5377,9 +5514,19 @@ def _get_formula_candidate_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + if opt_fields is not None: _query_params.append(('optFields', opt_fields)) @@ -5403,7 +5550,7 @@ def _get_formula_candidate_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -5420,11 +5567,10 @@ def _get_formula_candidate_serialize( @validate_call - def get_formula_candidates( + def get_feature_quant_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5437,17 +5583,15 @@ def get_formula_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FormulaCandidate]: - """List of FormulaResultContainers available for this feature with minimal information. + ) -> QuantTableExperimental: + """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) - List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. + [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5470,10 +5614,9 @@ def get_formula_candidates( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidates_serialize( + _param = self._get_feature_quant_table_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - opt_fields=opt_fields, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5481,7 +5624,7 @@ def get_formula_candidates( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[FormulaCandidate]", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -5495,11 +5638,10 @@ def get_formula_candidates( @validate_call - def get_formula_candidates_with_http_info( + def get_feature_quant_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5512,17 +5654,15 @@ def get_formula_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FormulaCandidate]]: - """List of FormulaResultContainers available for this feature with minimal information. + ) -> ApiResponse[QuantTableExperimental]: + """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) - List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. + [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5545,10 +5685,9 @@ def get_formula_candidates_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidates_serialize( + _param = self._get_feature_quant_table_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - opt_fields=opt_fields, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5556,7 +5695,7 @@ def get_formula_candidates_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[FormulaCandidate]", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -5570,11 +5709,10 @@ def get_formula_candidates_with_http_info( @validate_call - def get_formula_candidates_without_preload_content( + def get_feature_quant_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + type: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5588,16 +5726,14 @@ def get_formula_candidates_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of FormulaResultContainers available for this feature with minimal information. + """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) - List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. + [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :param type: quantification type. + :type type: QuantMeasure :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5620,10 +5756,9 @@ def get_formula_candidates_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidates_serialize( + _param = self._get_feature_quant_table_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - opt_fields=opt_fields, + type=type, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5631,7 +5766,7 @@ def get_formula_candidates_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[FormulaCandidate]", + '200': "QuantTableExperimental", } response_data = self.api_client.call_api( *_param, @@ -5640,11 +5775,10 @@ def get_formula_candidates_without_preload_content( return response_data.response - def _get_formula_candidates_serialize( + def _get_feature_quant_table_experimental_serialize( self, project_id, - aligned_feature_id, - opt_fields, + type, _request_auth, _content_type, _headers, @@ -5654,7 +5788,6 @@ def _get_formula_candidates_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -5667,12 +5800,10 @@ def _get_formula_candidates_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters - if opt_fields is not None: + if type is not None: - _query_params.append(('optFields', opt_fields)) + _query_params.append(('type', type.value)) # process the header parameters # process the form parameters @@ -5693,7 +5824,7 @@ def _get_formula_candidates_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas', + resource_path='/api/projects/{projectId}/aligned-features/quant-table', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -5710,14 +5841,11 @@ def _get_formula_candidates_serialize( @validate_call - def get_formula_candidates_paged( + def get_fingerprint_prediction( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5730,23 +5858,17 @@ def get_formula_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelFormulaCandidate: - """Page of FormulaResultContainers available for this feature with minimal information. + ) -> List[float]: + """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) - Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. + Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. :param project_id: project-space to read from. (required) :type project_id: str :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5769,13 +5891,10 @@ def get_formula_candidates_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidates_paged_serialize( + _param = self._get_fingerprint_prediction_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5783,7 +5902,7 @@ def get_formula_candidates_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelFormulaCandidate", + '200': "List[float]", } response_data = self.api_client.call_api( *_param, @@ -5797,14 +5916,11 @@ def get_formula_candidates_paged( @validate_call - def get_formula_candidates_paged_with_http_info( + def get_fingerprint_prediction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5817,23 +5933,17 @@ def get_formula_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelFormulaCandidate]: - """Page of FormulaResultContainers available for this feature with minimal information. + ) -> ApiResponse[List[float]]: + """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) - Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. + Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. :param project_id: project-space to read from. (required) :type project_id: str :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5856,13 +5966,10 @@ def get_formula_candidates_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidates_paged_serialize( + _param = self._get_fingerprint_prediction_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5870,7 +5977,7 @@ def get_formula_candidates_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelFormulaCandidate", + '200': "List[float]", } response_data = self.api_client.call_api( *_param, @@ -5884,14 +5991,11 @@ def get_formula_candidates_paged_with_http_info( @validate_call - def get_formula_candidates_paged_without_preload_content( + def get_fingerprint_prediction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5905,22 +6009,16 @@ def get_formula_candidates_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Page of FormulaResultContainers available for this feature with minimal information. + """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) - Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. + Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. :param project_id: project-space to read from. (required) :type project_id: str :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[FormulaCandidateOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -5943,13 +6041,10 @@ def get_formula_candidates_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_formula_candidates_paged_serialize( + _param = self._get_fingerprint_prediction_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -5957,7 +6052,7 @@ def get_formula_candidates_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelFormulaCandidate", + '200': "List[float]", } response_data = self.api_client.call_api( *_param, @@ -5966,14 +6061,11 @@ def get_formula_candidates_paged_without_preload_content( return response_data.response - def _get_formula_candidates_paged_serialize( + def _get_fingerprint_prediction_serialize( self, project_id, aligned_feature_id, - page, - size, - sort, - opt_fields, + formula_id, _request_auth, _content_type, _headers, @@ -5983,8 +6075,6 @@ def _get_formula_candidates_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -5999,23 +6089,9 @@ def _get_formula_candidates_paged_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter @@ -6035,7 +6111,7 @@ def _get_formula_candidates_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -6052,11 +6128,12 @@ def _get_formula_candidates_paged_serialize( @validate_call - def get_frag_tree( + def get_formula_annotated_ms_ms_data( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6069,10 +6146,10 @@ def get_frag_tree( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FragmentationTree: - """Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + ) -> AnnotatedMsMsData: + """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId - Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. :param project_id: project-space to read from. (required) :type project_id: str @@ -6080,6 +6157,8 @@ def get_frag_tree( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6102,10 +6181,11 @@ def get_frag_tree( :return: Returns the result object. """ # noqa: E501 - _param = self._get_frag_tree_serialize( + _param = self._get_formula_annotated_ms_ms_data_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6113,7 +6193,7 @@ def get_frag_tree( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FragmentationTree", + '200': "AnnotatedMsMsData", } response_data = self.api_client.call_api( *_param, @@ -6127,11 +6207,12 @@ def get_frag_tree( @validate_call - def get_frag_tree_with_http_info( + def get_formula_annotated_ms_ms_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6144,10 +6225,10 @@ def get_frag_tree_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FragmentationTree]: - """Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + ) -> ApiResponse[AnnotatedMsMsData]: + """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId - Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. :param project_id: project-space to read from. (required) :type project_id: str @@ -6155,6 +6236,8 @@ def get_frag_tree_with_http_info( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6177,10 +6260,11 @@ def get_frag_tree_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_frag_tree_serialize( + _param = self._get_formula_annotated_ms_ms_data_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6188,7 +6272,7 @@ def get_frag_tree_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FragmentationTree", + '200': "AnnotatedMsMsData", } response_data = self.api_client.call_api( *_param, @@ -6202,11 +6286,12 @@ def get_frag_tree_with_http_info( @validate_call - def get_frag_tree_without_preload_content( + def get_formula_annotated_ms_ms_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6220,9 +6305,9 @@ def get_frag_tree_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId - Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. :param project_id: project-space to read from. (required) :type project_id: str @@ -6230,6 +6315,8 @@ def get_frag_tree_without_preload_content( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6252,10 +6339,11 @@ def get_frag_tree_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_frag_tree_serialize( + _param = self._get_formula_annotated_ms_ms_data_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6263,7 +6351,7 @@ def get_frag_tree_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FragmentationTree", + '200': "AnnotatedMsMsData", } response_data = self.api_client.call_api( *_param, @@ -6272,11 +6360,12 @@ def get_frag_tree_without_preload_content( return response_data.response - def _get_frag_tree_serialize( + def _get_formula_annotated_ms_ms_data_serialize( self, project_id, aligned_feature_id, formula_id, + ms_data_search_prepared, _request_auth, _content_type, _headers, @@ -6303,6 +6392,10 @@ def _get_frag_tree_serialize( if formula_id is not None: _path_params['formulaId'] = formula_id # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + # process the header parameters # process the form parameters # process the body parameter @@ -6322,7 +6415,7 @@ def _get_frag_tree_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -6339,11 +6432,13 @@ def _get_frag_tree_serialize( @validate_call - def get_isotope_pattern_annotation( + def get_formula_annotated_spectrum( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6356,10 +6451,10 @@ def get_isotope_pattern_annotation( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> IsotopePatternAnnotation: - """Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. + ) -> AnnotatedSpectrum: + """Returns a fragmentation spectrum (e - Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). + Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. :param project_id: project-space to read from. (required) :type project_id: str @@ -6367,6 +6462,10 @@ def get_isotope_pattern_annotation( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) + :type spectrum_index: int + :param search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6389,10 +6488,12 @@ def get_isotope_pattern_annotation( :return: Returns the result object. """ # noqa: E501 - _param = self._get_isotope_pattern_annotation_serialize( + _param = self._get_formula_annotated_spectrum_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + spectrum_index=spectrum_index, + search_prepared=search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6400,7 +6501,7 @@ def get_isotope_pattern_annotation( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "IsotopePatternAnnotation", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -6414,11 +6515,13 @@ def get_isotope_pattern_annotation( @validate_call - def get_isotope_pattern_annotation_with_http_info( + def get_formula_annotated_spectrum_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6431,10 +6534,10 @@ def get_isotope_pattern_annotation_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[IsotopePatternAnnotation]: - """Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. + ) -> ApiResponse[AnnotatedSpectrum]: + """Returns a fragmentation spectrum (e - Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). + Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. :param project_id: project-space to read from. (required) :type project_id: str @@ -6442,6 +6545,10 @@ def get_isotope_pattern_annotation_with_http_info( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) + :type spectrum_index: int + :param search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6464,10 +6571,12 @@ def get_isotope_pattern_annotation_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_isotope_pattern_annotation_serialize( + _param = self._get_formula_annotated_spectrum_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + spectrum_index=spectrum_index, + search_prepared=search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6475,7 +6584,7 @@ def get_isotope_pattern_annotation_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "IsotopePatternAnnotation", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -6489,11 +6598,13 @@ def get_isotope_pattern_annotation_with_http_info( @validate_call - def get_isotope_pattern_annotation_without_preload_content( + def get_formula_annotated_spectrum_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6507,9 +6618,9 @@ def get_isotope_pattern_annotation_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. + """Returns a fragmentation spectrum (e - Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). + Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. :param project_id: project-space to read from. (required) :type project_id: str @@ -6517,6 +6628,10 @@ def get_isotope_pattern_annotation_without_preload_content( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) + :type spectrum_index: int + :param search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6539,10 +6654,12 @@ def get_isotope_pattern_annotation_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_isotope_pattern_annotation_serialize( + _param = self._get_formula_annotated_spectrum_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + spectrum_index=spectrum_index, + search_prepared=search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6550,7 +6667,7 @@ def get_isotope_pattern_annotation_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "IsotopePatternAnnotation", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -6559,11 +6676,13 @@ def get_isotope_pattern_annotation_without_preload_content( return response_data.response - def _get_isotope_pattern_annotation_serialize( + def _get_formula_annotated_spectrum_serialize( self, project_id, aligned_feature_id, formula_id, + spectrum_index, + search_prepared, _request_auth, _content_type, _headers, @@ -6590,6 +6709,14 @@ def _get_isotope_pattern_annotation_serialize( if formula_id is not None: _path_params['formulaId'] = formula_id # process the query parameters + if spectrum_index is not None: + + _query_params.append(('spectrumIndex', spectrum_index)) + + if search_prepared is not None: + + _query_params.append(('searchPrepared', search_prepared)) + # process the header parameters # process the form parameters # process the body parameter @@ -6609,7 +6736,7 @@ def _get_isotope_pattern_annotation_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -6626,11 +6753,13 @@ def _get_isotope_pattern_annotation_serialize( @validate_call - def get_lipid_annotation( + def get_formula_candidate( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6643,10 +6772,10 @@ def get_lipid_annotation( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LipidAnnotation: - """Returns Lipid annotation (ElGordo) for the given formula result identifier. + ) -> FormulaCandidate: + """FormulaResultContainers for the given 'formulaId' with minimal information. - Returns Lipid annotation (ElGordo) for the given formula result identifier. ElGordo lipid annotation runs as part of the SIRIUS formula identification step. + FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. :param project_id: project-space to read from. (required) :type project_id: str @@ -6654,6 +6783,10 @@ def get_lipid_annotation( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6676,10 +6809,12 @@ def get_lipid_annotation( :return: Returns the result object. """ # noqa: E501 - _param = self._get_lipid_annotation_serialize( + _param = self._get_formula_candidate_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6687,7 +6822,7 @@ def get_lipid_annotation( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LipidAnnotation", + '200': "FormulaCandidate", } response_data = self.api_client.call_api( *_param, @@ -6701,11 +6836,13 @@ def get_lipid_annotation( @validate_call - def get_lipid_annotation_with_http_info( + def get_formula_candidate_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6718,10 +6855,10 @@ def get_lipid_annotation_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LipidAnnotation]: - """Returns Lipid annotation (ElGordo) for the given formula result identifier. + ) -> ApiResponse[FormulaCandidate]: + """FormulaResultContainers for the given 'formulaId' with minimal information. - Returns Lipid annotation (ElGordo) for the given formula result identifier. ElGordo lipid annotation runs as part of the SIRIUS formula identification step. + FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. :param project_id: project-space to read from. (required) :type project_id: str @@ -6729,6 +6866,10 @@ def get_lipid_annotation_with_http_info( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6751,10 +6892,12 @@ def get_lipid_annotation_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_lipid_annotation_serialize( + _param = self._get_formula_candidate_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6762,7 +6905,7 @@ def get_lipid_annotation_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LipidAnnotation", + '200': "FormulaCandidate", } response_data = self.api_client.call_api( *_param, @@ -6776,11 +6919,13 @@ def get_lipid_annotation_with_http_info( @validate_call - def get_lipid_annotation_without_preload_content( + def get_formula_candidate_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6794,9 +6939,9 @@ def get_lipid_annotation_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Returns Lipid annotation (ElGordo) for the given formula result identifier. + """FormulaResultContainers for the given 'formulaId' with minimal information. - Returns Lipid annotation (ElGordo) for the given formula result identifier. ElGordo lipid annotation runs as part of the SIRIUS formula identification step. + FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. :param project_id: project-space to read from. (required) :type project_id: str @@ -6804,6 +6949,10 @@ def get_lipid_annotation_without_preload_content( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6826,10 +6975,12 @@ def get_lipid_annotation_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_lipid_annotation_serialize( + _param = self._get_formula_candidate_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6837,7 +6988,7 @@ def get_lipid_annotation_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LipidAnnotation", + '200': "FormulaCandidate", } response_data = self.api_client.call_api( *_param, @@ -6846,11 +6997,13 @@ def get_lipid_annotation_without_preload_content( return response_data.response - def _get_lipid_annotation_serialize( + def _get_formula_candidate_serialize( self, project_id, aligned_feature_id, formula_id, + ms_data_search_prepared, + opt_fields, _request_auth, _content_type, _headers, @@ -6860,6 +7013,7 @@ def _get_lipid_annotation_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -6877,6 +7031,14 @@ def _get_lipid_annotation_serialize( if formula_id is not None: _path_params['formulaId'] = formula_id # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + # process the header parameters # process the form parameters # process the body parameter @@ -6896,7 +7058,7 @@ def _get_lipid_annotation_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -6913,10 +7075,12 @@ def _get_lipid_annotation_serialize( @validate_call - def get_ms_data( + def get_formula_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the Mass Spec data belong sto.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6929,15 +7093,19 @@ def get_ms_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> MsData: - """Mass Spec data (input data) for the given 'alignedFeatureId' . + ) -> List[FormulaCandidate]: + """List of FormulaResultContainers available for this feature with minimal information. - Mass Spec data (input data) for the given 'alignedFeatureId' . + List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the Mass Spec data belong sto. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -6960,9 +7128,11 @@ def get_ms_data( :return: Returns the result object. """ # noqa: E501 - _param = self._get_ms_data_serialize( + _param = self._get_formula_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -6970,7 +7140,7 @@ def get_ms_data( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "MsData", + '200': "List[FormulaCandidate]", } response_data = self.api_client.call_api( *_param, @@ -6984,10 +7154,12 @@ def get_ms_data( @validate_call - def get_ms_data_with_http_info( + def get_formula_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the Mass Spec data belong sto.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7000,15 +7172,19 @@ def get_ms_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[MsData]: - """Mass Spec data (input data) for the given 'alignedFeatureId' . + ) -> ApiResponse[List[FormulaCandidate]]: + """List of FormulaResultContainers available for this feature with minimal information. - Mass Spec data (input data) for the given 'alignedFeatureId' . + List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the Mass Spec data belong sto. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7031,9 +7207,11 @@ def get_ms_data_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_ms_data_serialize( + _param = self._get_formula_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7041,7 +7219,7 @@ def get_ms_data_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "MsData", + '200': "List[FormulaCandidate]", } response_data = self.api_client.call_api( *_param, @@ -7055,10 +7233,12 @@ def get_ms_data_with_http_info( @validate_call - def get_ms_data_without_preload_content( + def get_formula_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the Mass Spec data belong sto.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7072,14 +7252,18 @@ def get_ms_data_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Mass Spec data (input data) for the given 'alignedFeatureId' . + """List of FormulaResultContainers available for this feature with minimal information. - Mass Spec data (input data) for the given 'alignedFeatureId' . + List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the Mass Spec data belong sto. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7102,9 +7286,11 @@ def get_ms_data_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_ms_data_serialize( + _param = self._get_formula_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7112,7 +7298,7 @@ def get_ms_data_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "MsData", + '200': "List[FormulaCandidate]", } response_data = self.api_client.call_api( *_param, @@ -7121,10 +7307,12 @@ def get_ms_data_without_preload_content( return response_data.response - def _get_ms_data_serialize( + def _get_formula_candidates_serialize( self, project_id, aligned_feature_id, + ms_data_search_prepared, + opt_fields, _request_auth, _content_type, _headers, @@ -7134,6 +7322,7 @@ def _get_ms_data_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -7149,6 +7338,14 @@ def _get_ms_data_serialize( if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + # process the header parameters # process the form parameters # process the body parameter @@ -7168,7 +7365,7 @@ def _get_ms_data_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -7185,11 +7382,15 @@ def _get_ms_data_serialize( @validate_call - def get_quantification_experimental( + def get_formula_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], - type: Annotated[Optional[QuantificationMeasure], Field(description="quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7202,17 +7403,25 @@ def get_quantification_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantificationTableExperimental: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> PagedModelFormulaCandidate: + """Page of FormulaResultContainers available for this feature with minimal information. - Returns a single quantification table row for the given feature. The quantification table contains the intensity of the feature within all samples it is contained in. + Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature which intensities should be read out (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param type: quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. - :type type: QuantificationMeasure + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7235,10 +7444,14 @@ def get_quantification_experimental( :return: Returns the result object. """ # noqa: E501 - _param = self._get_quantification_experimental_serialize( + _param = self._get_formula_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - type=type, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7246,7 +7459,7 @@ def get_quantification_experimental( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "QuantificationTableExperimental", + '200': "PagedModelFormulaCandidate", } response_data = self.api_client.call_api( *_param, @@ -7260,11 +7473,15 @@ def get_quantification_experimental( @validate_call - def get_quantification_experimental_with_http_info( + def get_formula_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], - type: Annotated[Optional[QuantificationMeasure], Field(description="quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7277,17 +7494,25 @@ def get_quantification_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantificationTableExperimental]: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> ApiResponse[PagedModelFormulaCandidate]: + """Page of FormulaResultContainers available for this feature with minimal information. - Returns a single quantification table row for the given feature. The quantification table contains the intensity of the feature within all samples it is contained in. + Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature which intensities should be read out (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param type: quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. - :type type: QuantificationMeasure + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7310,10 +7535,14 @@ def get_quantification_experimental_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_quantification_experimental_serialize( + _param = self._get_formula_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - type=type, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7321,7 +7550,7 @@ def get_quantification_experimental_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "QuantificationTableExperimental", + '200': "PagedModelFormulaCandidate", } response_data = self.api_client.call_api( *_param, @@ -7335,11 +7564,15 @@ def get_quantification_experimental_with_http_info( @validate_call - def get_quantification_experimental_without_preload_content( + def get_formula_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], - type: Annotated[Optional[QuantificationMeasure], Field(description="quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7353,16 +7586,24 @@ def get_quantification_experimental_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + """Page of FormulaResultContainers available for this feature with minimal information. - Returns a single quantification table row for the given feature. The quantification table contains the intensity of the feature within all samples it is contained in. + Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature which intensities should be read out (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param type: quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. - :type type: QuantificationMeasure + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[FormulaCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7385,10 +7626,14 @@ def get_quantification_experimental_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_quantification_experimental_serialize( + _param = self._get_formula_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - type=type, + page=page, + size=size, + sort=sort, + ms_data_search_prepared=ms_data_search_prepared, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7396,7 +7641,7 @@ def get_quantification_experimental_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "QuantificationTableExperimental", + '200': "PagedModelFormulaCandidate", } response_data = self.api_client.call_api( *_param, @@ -7405,11 +7650,15 @@ def get_quantification_experimental_without_preload_content( return response_data.response - def _get_quantification_experimental_serialize( + def _get_formula_candidates_paged_serialize( self, project_id, aligned_feature_id, - type, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, _request_auth, _content_type, _headers, @@ -7419,6 +7668,8 @@ def _get_quantification_experimental_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -7434,9 +7685,25 @@ def _get_quantification_experimental_serialize( if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters - if type is not None: + if page is not None: - _query_params.append(('type', type.value)) + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) # process the header parameters # process the form parameters @@ -7457,7 +7724,7 @@ def _get_quantification_experimental_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -7474,12 +7741,11 @@ def _get_quantification_experimental_serialize( @validate_call - def get_spectral_library_match( + def get_frag_tree( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - match_id: StrictStr, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7492,19 +7758,17 @@ def get_spectral_library_match( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SpectralLibraryMatch: - """List of spectral library matches for the given 'alignedFeatureId'. + ) -> FragmentationTree: + """Returns fragmentation tree (SIRIUS) for the given formula result identifier - List of spectral library matches for the given 'alignedFeatureId'. + Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param match_id: (required) - :type match_id: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7527,11 +7791,10 @@ def get_spectral_library_match( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_match_serialize( + _param = self._get_frag_tree_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - match_id=match_id, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7539,7 +7802,7 @@ def get_spectral_library_match( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SpectralLibraryMatch", + '200': "FragmentationTree", } response_data = self.api_client.call_api( *_param, @@ -7553,12 +7816,11 @@ def get_spectral_library_match( @validate_call - def get_spectral_library_match_with_http_info( + def get_frag_tree_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - match_id: StrictStr, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7571,19 +7833,17 @@ def get_spectral_library_match_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SpectralLibraryMatch]: - """List of spectral library matches for the given 'alignedFeatureId'. + ) -> ApiResponse[FragmentationTree]: + """Returns fragmentation tree (SIRIUS) for the given formula result identifier - List of spectral library matches for the given 'alignedFeatureId'. + Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param match_id: (required) - :type match_id: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7606,11 +7866,10 @@ def get_spectral_library_match_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_match_serialize( + _param = self._get_frag_tree_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - match_id=match_id, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7618,7 +7877,7 @@ def get_spectral_library_match_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SpectralLibraryMatch", + '200': "FragmentationTree", } response_data = self.api_client.call_api( *_param, @@ -7632,12 +7891,11 @@ def get_spectral_library_match_with_http_info( @validate_call - def get_spectral_library_match_without_preload_content( + def get_frag_tree_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - match_id: StrictStr, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7651,18 +7909,16 @@ def get_spectral_library_match_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of spectral library matches for the given 'alignedFeatureId'. + """Returns fragmentation tree (SIRIUS) for the given formula result identifier - List of spectral library matches for the given 'alignedFeatureId'. + Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param match_id: (required) - :type match_id: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7685,11 +7941,10 @@ def get_spectral_library_match_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_match_serialize( + _param = self._get_frag_tree_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - match_id=match_id, - opt_fields=opt_fields, + formula_id=formula_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7697,7 +7952,7 @@ def get_spectral_library_match_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SpectralLibraryMatch", + '200': "FragmentationTree", } response_data = self.api_client.call_api( *_param, @@ -7706,12 +7961,11 @@ def get_spectral_library_match_without_preload_content( return response_data.response - def _get_spectral_library_match_serialize( + def _get_frag_tree_serialize( self, project_id, aligned_feature_id, - match_id, - opt_fields, + formula_id, _request_auth, _content_type, _headers, @@ -7721,7 +7975,6 @@ def _get_spectral_library_match_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -7736,13 +7989,9 @@ def _get_spectral_library_match_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id - if match_id is not None: - _path_params['matchId'] = match_id + if formula_id is not None: + _path_params['formulaId'] = formula_id # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter @@ -7762,7 +8011,7 @@ def _get_spectral_library_match_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -7779,14 +8028,2370 @@ def _get_spectral_library_match_serialize( @validate_call - def get_spectral_library_matches( + def get_isotope_pattern_annotation( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - min_shared_peaks: Optional[StrictInt] = None, - min_similarity: Optional[float] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> IsotopePatternAnnotation: + """Returns Isotope pattern information for given formulaId + + Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_isotope_pattern_annotation_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "IsotopePatternAnnotation", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_isotope_pattern_annotation_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[IsotopePatternAnnotation]: + """Returns Isotope pattern information for given formulaId + + Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_isotope_pattern_annotation_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "IsotopePatternAnnotation", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_isotope_pattern_annotation_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Returns Isotope pattern information for given formulaId + + Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_isotope_pattern_annotation_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "IsotopePatternAnnotation", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_isotope_pattern_annotation_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_lipid_annotation( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> LipidAnnotation: + """Returns Lipid annotation (ElGordo) for the given formulaId + + Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_lipid_annotation_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LipidAnnotation", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_lipid_annotation_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[LipidAnnotation]: + """Returns Lipid annotation (ElGordo) for the given formulaId + + Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_lipid_annotation_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LipidAnnotation", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_lipid_annotation_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Returns Lipid annotation (ElGordo) for the given formulaId + + Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_lipid_annotation_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LipidAnnotation", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_lipid_annotation_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_ms_data( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the Mass Spec data belongs to.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> MsData: + """Mass Spec data (input data) for the given 'alignedFeatureId' . + + Mass Spec data (input data) for the given 'alignedFeatureId' . + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the Mass Spec data belongs to. (required) + :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_ms_data_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MsData", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_ms_data_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the Mass Spec data belongs to.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[MsData]: + """Mass Spec data (input data) for the given 'alignedFeatureId' . + + Mass Spec data (input data) for the given 'alignedFeatureId' . + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the Mass Spec data belongs to. (required) + :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_ms_data_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MsData", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_ms_data_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the Mass Spec data belongs to.")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Mass Spec data (input data) for the given 'alignedFeatureId' . + + Mass Spec data (input data) for the given 'alignedFeatureId' . + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the Mass Spec data belongs to. (required) + :type aligned_feature_id: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_ms_data_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + ms_data_search_prepared=ms_data_search_prepared, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MsData", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_ms_data_serialize( + self, + project_id, + aligned_feature_id, + ms_data_search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_quant_table_row_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature which quantity should be read out")], + type: Annotated[Optional[QuantMeasure], Field(description="quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> QuantTableExperimental: + """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) + + [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature which quantity should be read out (required) + :type aligned_feature_id: str + :param type: quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. + :type type: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_quant_table_row_experimental_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QuantTableExperimental", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_quant_table_row_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature which quantity should be read out")], + type: Annotated[Optional[QuantMeasure], Field(description="quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[QuantTableExperimental]: + """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) + + [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature which quantity should be read out (required) + :type aligned_feature_id: str + :param type: quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. + :type type: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_quant_table_row_experimental_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QuantTableExperimental", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_quant_table_row_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature which quantity should be read out")], + type: Annotated[Optional[QuantMeasure], Field(description="quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) + + [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature which quantity should be read out (required) + :type aligned_feature_id: str + :param type: quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. + :type type: QuantMeasure + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_quant_table_row_experimental_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QuantTableExperimental", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_quant_table_row_experimental_serialize( + self, + project_id, + aligned_feature_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_spectral_library_match( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SpectralLibraryMatch: + """Spectral library match for the given 'alignedFeatureId'. + + Spectral library match for the given 'alignedFeatureId'. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param match_id: id of the library match to be returned. (required) + :type match_id: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_match_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + match_id=match_id, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SpectralLibraryMatch", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_spectral_library_match_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SpectralLibraryMatch]: + """Spectral library match for the given 'alignedFeatureId'. + + Spectral library match for the given 'alignedFeatureId'. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param match_id: id of the library match to be returned. (required) + :type match_id: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_match_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + match_id=match_id, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SpectralLibraryMatch", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_spectral_library_match_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Spectral library match for the given 'alignedFeatureId'. + + Spectral library match for the given 'alignedFeatureId'. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param match_id: id of the library match to be returned. (required) + :type match_id: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_match_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + match_id=match_id, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SpectralLibraryMatch", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_match_serialize( + self, + project_id, + aligned_feature_id, + match_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if match_id is not None: + _path_params['matchId'] = match_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_spectral_library_matches( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + min_shared_peaks: Optional[StrictInt] = None, + min_similarity: Optional[float] = None, + inchi_key: Optional[StrictStr] = None, + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[SpectralLibraryMatch]: + """List of spectral library matches for the given 'alignedFeatureId'. + + List of spectral library matches for the given 'alignedFeatureId'. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param min_shared_peaks: + :type min_shared_peaks: int + :param min_similarity: + :type min_similarity: float + :param inchi_key: + :type inchi_key: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[SpectralLibraryMatch]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_spectral_library_matches_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + min_shared_peaks: Optional[StrictInt] = None, + min_similarity: Optional[float] = None, + inchi_key: Optional[StrictStr] = None, + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[SpectralLibraryMatch]]: + """List of spectral library matches for the given 'alignedFeatureId'. + + List of spectral library matches for the given 'alignedFeatureId'. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param min_shared_peaks: + :type min_shared_peaks: int + :param min_similarity: + :type min_similarity: float + :param inchi_key: + :type inchi_key: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[SpectralLibraryMatch]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_spectral_library_matches_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + min_shared_peaks: Optional[StrictInt] = None, + min_similarity: Optional[float] = None, + inchi_key: Optional[StrictStr] = None, + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List of spectral library matches for the given 'alignedFeatureId'. + + List of spectral library matches for the given 'alignedFeatureId'. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param min_shared_peaks: + :type min_shared_peaks: int + :param min_similarity: + :type min_similarity: float + :param inchi_key: + :type inchi_key: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[SpectralLibraryMatch]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_serialize( + self, + project_id, + aligned_feature_id, + min_shared_peaks, + min_similarity, + inchi_key, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_spectral_library_matches_paged( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + min_shared_peaks: Optional[StrictInt] = None, + min_similarity: Optional[float] = None, + inchi_key: Optional[StrictStr] = None, + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PagedModelSpectralLibraryMatch: + """Page of spectral library matches for the given 'alignedFeatureId'. + + Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param min_shared_peaks: + :type min_shared_peaks: int + :param min_similarity: + :type min_similarity: float + :param inchi_key: + :type inchi_key: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_paged_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + page=page, + size=size, + sort=sort, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelSpectralLibraryMatch", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_spectral_library_matches_paged_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + min_shared_peaks: Optional[StrictInt] = None, + min_similarity: Optional[float] = None, + inchi_key: Optional[StrictStr] = None, + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PagedModelSpectralLibraryMatch]: + """Page of spectral library matches for the given 'alignedFeatureId'. + + Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param min_shared_peaks: + :type min_shared_peaks: int + :param min_similarity: + :type min_similarity: float + :param inchi_key: + :type inchi_key: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_paged_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + page=page, + size=size, + sort=sort, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelSpectralLibraryMatch", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_spectral_library_matches_paged_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + min_shared_peaks: Optional[StrictInt] = None, + min_similarity: Optional[float] = None, inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Page of spectral library matches for the given 'alignedFeatureId'. + + Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param min_shared_peaks: + :type min_shared_peaks: int + :param min_similarity: + :type min_similarity: float + :param inchi_key: + :type inchi_key: str + :param opt_fields: + :type opt_fields: List[SpectralLibraryMatchOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_paged_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + page=page, + size=size, + sort=sort, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelSpectralLibraryMatch", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + min_shared_peaks, + min_similarity, + inchi_key, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_spectral_library_matches_summary( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + min_shared_peaks: Annotated[Optional[StrictInt], Field(description="min threshold of shared peaks.")] = None, + min_similarity: Annotated[Optional[float], Field(description="min spectral similarity threshold.")] = None, + inchi_key: Annotated[Optional[StrictStr], Field(description="2D inchi key of the compound in the structure database.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SpectralLibraryMatchSummary: + """Summarize matched reference spectra for the given 'alignedFeatureId'. + + Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param min_shared_peaks: min threshold of shared peaks. + :type min_shared_peaks: int + :param min_similarity: min spectral similarity threshold. + :type min_similarity: float + :param inchi_key: 2D inchi key of the compound in the structure database. + :type inchi_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_summary_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SpectralLibraryMatchSummary", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_spectral_library_matches_summary_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + min_shared_peaks: Annotated[Optional[StrictInt], Field(description="min threshold of shared peaks.")] = None, + min_similarity: Annotated[Optional[float], Field(description="min spectral similarity threshold.")] = None, + inchi_key: Annotated[Optional[StrictStr], Field(description="2D inchi key of the compound in the structure database.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SpectralLibraryMatchSummary]: + """Summarize matched reference spectra for the given 'alignedFeatureId'. + + Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :type aligned_feature_id: str + :param min_shared_peaks: min threshold of shared peaks. + :type min_shared_peaks: int + :param min_similarity: min spectral similarity threshold. + :type min_similarity: float + :param inchi_key: 2D inchi key of the compound in the structure database. + :type inchi_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_spectral_library_matches_summary_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + min_shared_peaks=min_shared_peaks, + min_similarity=min_similarity, + inchi_key=inchi_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SpectralLibraryMatchSummary", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_spectral_library_matches_summary_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + min_shared_peaks: Annotated[Optional[StrictInt], Field(description="min threshold of shared peaks.")] = None, + min_similarity: Annotated[Optional[float], Field(description="min spectral similarity threshold.")] = None, + inchi_key: Annotated[Optional[StrictStr], Field(description="2D inchi key of the compound in the structure database.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7799,23 +10404,21 @@ def get_spectral_library_matches( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SpectralLibraryMatch]: - """List of spectral library matches for the given 'alignedFeatureId'. + ) -> RESTResponseType: + """Summarize matched reference spectra for the given 'alignedFeatureId'. - List of spectral library matches for the given 'alignedFeatureId'. + Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. :param project_id: project-space to read from. (required) :type project_id: str :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param min_shared_peaks: + :param min_shared_peaks: min threshold of shared peaks. :type min_shared_peaks: int - :param min_similarity: + :param min_similarity: min spectral similarity threshold. :type min_similarity: float - :param inchi_key: + :param inchi_key: 2D inchi key of the compound in the structure database. :type inchi_key: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7838,13 +10441,12 @@ def get_spectral_library_matches( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_serialize( + _param = self._get_spectral_library_matches_summary_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, min_shared_peaks=min_shared_peaks, min_similarity=min_similarity, inchi_key=inchi_key, - opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7852,7 +10454,164 @@ def get_spectral_library_matches( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[SpectralLibraryMatch]", + '200': "SpectralLibraryMatchSummary", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_summary_serialize( + self, + project_id, + aligned_feature_id, + min_shared_peaks, + min_similarity, + inchi_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_structure_annotated_ms_data_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AnnotatedMsMsData: + """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey + + [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) + :type inchi_key: str + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_structure_annotated_ms_data_experimental_serialize( + project_id=project_id, + aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + inchi_key=inchi_key, + ms_data_search_prepared=ms_data_search_prepared, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AnnotatedMsMsData", } response_data = self.api_client.call_api( *_param, @@ -7866,14 +10625,13 @@ def get_spectral_library_matches( @validate_call - def get_spectral_library_matches_with_http_info( + def get_structure_annotated_ms_data_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - min_shared_peaks: Optional[StrictInt] = None, - min_similarity: Optional[float] = None, - inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7886,23 +10644,21 @@ def get_spectral_library_matches_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SpectralLibraryMatch]]: - """List of spectral library matches for the given 'alignedFeatureId'. + ) -> ApiResponse[AnnotatedMsMsData]: + """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey - List of spectral library matches for the given 'alignedFeatureId'. + [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param min_shared_peaks: - :type min_shared_peaks: int - :param min_similarity: - :type min_similarity: float - :param inchi_key: + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) :type inchi_key: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -7925,13 +10681,12 @@ def get_spectral_library_matches_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_serialize( + _param = self._get_structure_annotated_ms_data_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, + formula_id=formula_id, inchi_key=inchi_key, - opt_fields=opt_fields, + ms_data_search_prepared=ms_data_search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -7939,7 +10694,7 @@ def get_spectral_library_matches_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[SpectralLibraryMatch]", + '200': "AnnotatedMsMsData", } response_data = self.api_client.call_api( *_param, @@ -7953,14 +10708,13 @@ def get_spectral_library_matches_with_http_info( @validate_call - def get_spectral_library_matches_without_preload_content( + def get_structure_annotated_ms_data_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - min_shared_peaks: Optional[StrictInt] = None, - min_similarity: Optional[float] = None, - inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7974,22 +10728,20 @@ def get_spectral_library_matches_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of spectral library matches for the given 'alignedFeatureId'. + """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey - List of spectral library matches for the given 'alignedFeatureId'. + [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param min_shared_peaks: - :type min_shared_peaks: int - :param min_similarity: - :type min_similarity: float - :param inchi_key: + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) :type inchi_key: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param ms_data_search_prepared: Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. + :type ms_data_search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8012,13 +10764,12 @@ def get_spectral_library_matches_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_serialize( + _param = self._get_structure_annotated_ms_data_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, + formula_id=formula_id, inchi_key=inchi_key, - opt_fields=opt_fields, + ms_data_search_prepared=ms_data_search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8026,7 +10777,7 @@ def get_spectral_library_matches_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[SpectralLibraryMatch]", + '200': "AnnotatedMsMsData", } response_data = self.api_client.call_api( *_param, @@ -8035,14 +10786,13 @@ def get_spectral_library_matches_without_preload_content( return response_data.response - def _get_spectral_library_matches_serialize( + def _get_structure_annotated_ms_data_experimental_serialize( self, project_id, aligned_feature_id, - min_shared_peaks, - min_similarity, + formula_id, inchi_key, - opt_fields, + ms_data_search_prepared, _request_auth, _content_type, _headers, @@ -8052,7 +10802,6 @@ def _get_spectral_library_matches_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -8067,22 +10816,14 @@ def _get_spectral_library_matches_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - + if formula_id is not None: + _path_params['formulaId'] = formula_id if inchi_key is not None: + _path_params['inchiKey'] = inchi_key + # process the query parameters + if ms_data_search_prepared is not None: - _query_params.append(('inchiKey', inchi_key)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) # process the header parameters # process the form parameters @@ -8103,7 +10844,7 @@ def _get_spectral_library_matches_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -8120,17 +10861,11 @@ def _get_spectral_library_matches_serialize( @validate_call - def get_spectral_library_matches_paged( + def get_structure_annotated_spectral_library_match_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - min_shared_peaks: Optional[StrictInt] = None, - min_similarity: Optional[float] = None, - inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8143,29 +10878,17 @@ def get_spectral_library_matches_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelSpectralLibraryMatch: - """Page of spectral library matches for the given 'alignedFeatureId'. + ) -> AnnotatedSpectrum: + """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations - Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. + [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param min_shared_peaks: - :type min_shared_peaks: int - :param min_similarity: - :type min_similarity: float - :param inchi_key: - :type inchi_key: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param match_id: id of the library match to be returned. (required) + :type match_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8188,16 +10911,10 @@ def get_spectral_library_matches_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_paged_serialize( + _param = self._get_structure_annotated_spectral_library_match_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, - inchi_key=inchi_key, - opt_fields=opt_fields, + match_id=match_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8205,7 +10922,7 @@ def get_spectral_library_matches_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelSpectralLibraryMatch", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -8219,17 +10936,11 @@ def get_spectral_library_matches_paged( @validate_call - def get_spectral_library_matches_paged_with_http_info( + def get_structure_annotated_spectral_library_match_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - min_shared_peaks: Optional[StrictInt] = None, - min_similarity: Optional[float] = None, - inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8242,29 +10953,17 @@ def get_spectral_library_matches_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelSpectralLibraryMatch]: - """Page of spectral library matches for the given 'alignedFeatureId'. + ) -> ApiResponse[AnnotatedSpectrum]: + """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations - Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. + [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param min_shared_peaks: - :type min_shared_peaks: int - :param min_similarity: - :type min_similarity: float - :param inchi_key: - :type inchi_key: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param match_id: id of the library match to be returned. (required) + :type match_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8287,16 +10986,10 @@ def get_spectral_library_matches_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_paged_serialize( + _param = self._get_structure_annotated_spectral_library_match_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, - inchi_key=inchi_key, - opt_fields=opt_fields, + match_id=match_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8304,7 +10997,7 @@ def get_spectral_library_matches_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelSpectralLibraryMatch", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -8318,17 +11011,11 @@ def get_spectral_library_matches_paged_with_http_info( @validate_call - def get_spectral_library_matches_paged_without_preload_content( + def get_structure_annotated_spectral_library_match_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - min_shared_peaks: Optional[StrictInt] = None, - min_similarity: Optional[float] = None, - inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, + match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8342,28 +11029,16 @@ def get_spectral_library_matches_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Page of spectral library matches for the given 'alignedFeatureId'. + """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations - Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. + [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param min_shared_peaks: - :type min_shared_peaks: int - :param min_similarity: - :type min_similarity: float - :param inchi_key: - :type inchi_key: str - :param opt_fields: - :type opt_fields: List[SpectralLibraryMatchOptField] + :param match_id: id of the library match to be returned. (required) + :type match_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8386,16 +11061,10 @@ def get_spectral_library_matches_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_paged_serialize( + _param = self._get_structure_annotated_spectral_library_match_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, - inchi_key=inchi_key, - opt_fields=opt_fields, + match_id=match_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8403,7 +11072,7 @@ def get_spectral_library_matches_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelSpectralLibraryMatch", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -8412,17 +11081,11 @@ def get_spectral_library_matches_paged_without_preload_content( return response_data.response - def _get_spectral_library_matches_paged_serialize( + def _get_structure_annotated_spectral_library_match_experimental_serialize( self, project_id, aligned_feature_id, - page, - size, - sort, - min_shared_peaks, - min_similarity, - inchi_key, - opt_fields, + match_id, _request_auth, _content_type, _headers, @@ -8432,8 +11095,6 @@ def _get_spectral_library_matches_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -8448,35 +11109,9 @@ def _get_spectral_library_matches_paged_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id + if match_id is not None: + _path_params['matchId'] = match_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - - if inchi_key is not None: - - _query_params.append(('inchiKey', inchi_key)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter @@ -8496,7 +11131,7 @@ def _get_spectral_library_matches_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -8513,13 +11148,14 @@ def _get_spectral_library_matches_paged_serialize( @validate_call - def get_spectral_library_matches_summary( + def get_structure_annotated_spectrum_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - min_shared_peaks: Annotated[Optional[StrictInt], Field(description="min threshold of shared peaks.")] = None, - min_similarity: Annotated[Optional[float], Field(description="min spectral similarity threshold.")] = None, - inchi_key: Annotated[Optional[StrictStr], Field(description="2D inchi key of the compound in the structure database.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + search_prepared: Optional[StrictBool] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8532,21 +11168,23 @@ def get_spectral_library_matches_summary( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SpectralLibraryMatchSummary: - """Summarize matched reference spectra for the given 'alignedFeatureId'. + ) -> AnnotatedSpectrum: + """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey - Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. + [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param min_shared_peaks: min threshold of shared peaks. - :type min_shared_peaks: int - :param min_similarity: min spectral similarity threshold. - :type min_similarity: float - :param inchi_key: 2D inchi key of the compound in the structure database. + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) :type inchi_key: str + :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) + :type spectrum_index: int + :param search_prepared: + :type search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8569,12 +11207,13 @@ def get_spectral_library_matches_summary( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_summary_serialize( + _param = self._get_structure_annotated_spectrum_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, + formula_id=formula_id, inchi_key=inchi_key, + spectrum_index=spectrum_index, + search_prepared=search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8582,7 +11221,7 @@ def get_spectral_library_matches_summary( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SpectralLibraryMatchSummary", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -8596,13 +11235,14 @@ def get_spectral_library_matches_summary( @validate_call - def get_spectral_library_matches_summary_with_http_info( + def get_structure_annotated_spectrum_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - min_shared_peaks: Annotated[Optional[StrictInt], Field(description="min threshold of shared peaks.")] = None, - min_similarity: Annotated[Optional[float], Field(description="min spectral similarity threshold.")] = None, - inchi_key: Annotated[Optional[StrictStr], Field(description="2D inchi key of the compound in the structure database.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + search_prepared: Optional[StrictBool] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8615,21 +11255,23 @@ def get_spectral_library_matches_summary_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SpectralLibraryMatchSummary]: - """Summarize matched reference spectra for the given 'alignedFeatureId'. + ) -> ApiResponse[AnnotatedSpectrum]: + """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey - Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. + [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param min_shared_peaks: min threshold of shared peaks. - :type min_shared_peaks: int - :param min_similarity: min spectral similarity threshold. - :type min_similarity: float - :param inchi_key: 2D inchi key of the compound in the structure database. + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) :type inchi_key: str + :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) + :type spectrum_index: int + :param search_prepared: + :type search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8652,12 +11294,13 @@ def get_spectral_library_matches_summary_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_summary_serialize( + _param = self._get_structure_annotated_spectrum_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, + formula_id=formula_id, inchi_key=inchi_key, + spectrum_index=spectrum_index, + search_prepared=search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8665,7 +11308,7 @@ def get_spectral_library_matches_summary_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SpectralLibraryMatchSummary", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -8679,13 +11322,14 @@ def get_spectral_library_matches_summary_with_http_info( @validate_call - def get_spectral_library_matches_summary_without_preload_content( + def get_structure_annotated_spectrum_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - min_shared_peaks: Annotated[Optional[StrictInt], Field(description="min threshold of shared peaks.")] = None, - min_similarity: Annotated[Optional[float], Field(description="min spectral similarity threshold.")] = None, - inchi_key: Annotated[Optional[StrictStr], Field(description="2D inchi key of the compound in the structure database.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + search_prepared: Optional[StrictBool] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8699,20 +11343,22 @@ def get_spectral_library_matches_summary_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Summarize matched reference spectra for the given 'alignedFeatureId'. + """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey - Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. + [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str - :param min_shared_peaks: min threshold of shared peaks. - :type min_shared_peaks: int - :param min_similarity: min spectral similarity threshold. - :type min_similarity: float - :param inchi_key: 2D inchi key of the compound in the structure database. + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) :type inchi_key: str + :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) + :type spectrum_index: int + :param search_prepared: + :type search_prepared: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8735,12 +11381,13 @@ def get_spectral_library_matches_summary_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_spectral_library_matches_summary_serialize( + _param = self._get_structure_annotated_spectrum_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - min_shared_peaks=min_shared_peaks, - min_similarity=min_similarity, + formula_id=formula_id, inchi_key=inchi_key, + spectrum_index=spectrum_index, + search_prepared=search_prepared, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8748,7 +11395,7 @@ def get_spectral_library_matches_summary_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SpectralLibraryMatchSummary", + '200': "AnnotatedSpectrum", } response_data = self.api_client.call_api( *_param, @@ -8757,13 +11404,14 @@ def get_spectral_library_matches_summary_without_preload_content( return response_data.response - def _get_spectral_library_matches_summary_serialize( + def _get_structure_annotated_spectrum_experimental_serialize( self, project_id, aligned_feature_id, - min_shared_peaks, - min_similarity, + formula_id, inchi_key, + spectrum_index, + search_prepared, _request_auth, _content_type, _headers, @@ -8787,18 +11435,18 @@ def _get_spectral_library_matches_summary_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + if inchi_key is not None: + _path_params['inchiKey'] = inchi_key # process the query parameters - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: + if spectrum_index is not None: - _query_params.append(('minSimilarity', min_similarity)) + _query_params.append(('spectrumIndex', spectrum_index)) - if inchi_key is not None: + if search_prepared is not None: - _query_params.append(('inchiKey', inchi_key)) + _query_params.append(('searchPrepared', search_prepared)) # process the header parameters # process the form parameters @@ -8819,7 +11467,7 @@ def _get_spectral_library_matches_summary_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -8836,12 +11484,11 @@ def _get_spectral_library_matches_summary_serialize( @validate_call - def get_structure_annotated_ms_data_experimental( + def get_structure_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8854,19 +11501,17 @@ def get_structure_annotated_ms_data_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedMsMsData: - """EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + ) -> List[StructureCandidateFormula]: + """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. - Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available. + List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str - :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) - :type inchi_key: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8889,11 +11534,10 @@ def get_structure_annotated_ms_data_experimental( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_annotated_ms_data_experimental_serialize( + _param = self._get_structure_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, - inchi_key=inchi_key, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8901,7 +11545,7 @@ def get_structure_annotated_ms_data_experimental( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedMsMsData", + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -8915,12 +11559,11 @@ def get_structure_annotated_ms_data_experimental( @validate_call - def get_structure_annotated_ms_data_experimental_with_http_info( + def get_structure_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -8933,19 +11576,17 @@ def get_structure_annotated_ms_data_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedMsMsData]: - """EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + ) -> ApiResponse[List[StructureCandidateFormula]]: + """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. - Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available. + List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str - :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) - :type inchi_key: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -8968,11 +11609,10 @@ def get_structure_annotated_ms_data_experimental_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_annotated_ms_data_experimental_serialize( + _param = self._get_structure_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, - inchi_key=inchi_key, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -8980,7 +11620,7 @@ def get_structure_annotated_ms_data_experimental_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedMsMsData", + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -8994,12 +11634,11 @@ def get_structure_annotated_ms_data_experimental_with_http_info( @validate_call - def get_structure_annotated_ms_data_experimental_without_preload_content( + def get_structure_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9013,18 +11652,16 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. - Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available. + List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str - :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) - :type inchi_key: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -9047,11 +11684,10 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_annotated_ms_data_experimental_serialize( + _param = self._get_structure_candidates_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, - inchi_key=inchi_key, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -9059,7 +11695,7 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedMsMsData", + '200': "List[StructureCandidateFormula]", } response_data = self.api_client.call_api( *_param, @@ -9068,12 +11704,11 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( return response_data.response - def _get_structure_annotated_ms_data_experimental_serialize( + def _get_structure_candidates_serialize( self, project_id, aligned_feature_id, - formula_id, - inchi_key, + opt_fields, _request_auth, _content_type, _headers, @@ -9083,6 +11718,7 @@ def _get_structure_annotated_ms_data_experimental_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -9097,11 +11733,11 @@ def _get_structure_annotated_ms_data_experimental_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - if inchi_key is not None: - _path_params['inchiKey'] = inchi_key # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + # process the header parameters # process the form parameters # process the body parameter @@ -9121,7 +11757,7 @@ def _get_structure_annotated_ms_data_experimental_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -9138,13 +11774,12 @@ def _get_structure_annotated_ms_data_experimental_serialize( @validate_call - def get_structure_annotated_spectrum_experimental( + def get_structure_candidates_by_formula( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], - spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9157,10 +11792,10 @@ def get_structure_annotated_spectrum_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: - """EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + ) -> List[StructureCandidateScored]: + """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. - Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str @@ -9168,10 +11803,8 @@ def get_structure_annotated_spectrum_experimental( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) - :type inchi_key: str - :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) - :type spectrum_index: int + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -9194,12 +11827,11 @@ def get_structure_annotated_spectrum_experimental( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_annotated_spectrum_experimental_serialize( + _param = self._get_structure_candidates_by_formula_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - inchi_key=inchi_key, - spectrum_index=spectrum_index, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -9207,7 +11839,7 @@ def get_structure_annotated_spectrum_experimental( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedSpectrum", + '200': "List[StructureCandidateScored]", } response_data = self.api_client.call_api( *_param, @@ -9221,13 +11853,12 @@ def get_structure_annotated_spectrum_experimental( @validate_call - def get_structure_annotated_spectrum_experimental_with_http_info( + def get_structure_candidates_by_formula_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], - spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9240,10 +11871,10 @@ def get_structure_annotated_spectrum_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: - """EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + ) -> ApiResponse[List[StructureCandidateScored]]: + """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. - Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str @@ -9251,10 +11882,8 @@ def get_structure_annotated_spectrum_experimental_with_http_info( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) - :type inchi_key: str - :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) - :type spectrum_index: int + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -9277,12 +11906,11 @@ def get_structure_annotated_spectrum_experimental_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_annotated_spectrum_experimental_serialize( + _param = self._get_structure_candidates_by_formula_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - inchi_key=inchi_key, - spectrum_index=spectrum_index, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -9290,7 +11918,7 @@ def get_structure_annotated_spectrum_experimental_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedSpectrum", + '200': "List[StructureCandidateScored]", } response_data = self.api_client.call_api( *_param, @@ -9304,13 +11932,12 @@ def get_structure_annotated_spectrum_experimental_with_http_info( @validate_call - def get_structure_annotated_spectrum_experimental_without_preload_content( + def get_structure_candidates_by_formula_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - inchi_key: Annotated[StrictStr, Field(description="2d InChIKey of the structure candidate to be used to annotate the spectrum annotation")], - spectrum_index: Annotated[Optional[StrictInt], Field(description="index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9324,9 +11951,9 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. - Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str @@ -9334,10 +11961,8 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( :type aligned_feature_id: str :param formula_id: identifier of the requested formula result (required) :type formula_id: str - :param inchi_key: 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation (required) - :type inchi_key: str - :param spectrum_index: index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) - :type spectrum_index: int + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -9360,12 +11985,11 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_annotated_spectrum_experimental_serialize( + _param = self._get_structure_candidates_by_formula_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, formula_id=formula_id, - inchi_key=inchi_key, - spectrum_index=spectrum_index, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -9373,7 +11997,7 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AnnotatedSpectrum", + '200': "List[StructureCandidateScored]", } response_data = self.api_client.call_api( *_param, @@ -9382,13 +12006,12 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( return response_data.response - def _get_structure_annotated_spectrum_experimental_serialize( + def _get_structure_candidates_by_formula_serialize( self, project_id, aligned_feature_id, formula_id, - inchi_key, - spectrum_index, + opt_fields, _request_auth, _content_type, _headers, @@ -9398,6 +12021,7 @@ def _get_structure_annotated_spectrum_experimental_serialize( _host = None _collection_formats: Dict[str, str] = { + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -9414,12 +12038,10 @@ def _get_structure_annotated_spectrum_experimental_serialize( _path_params['alignedFeatureId'] = aligned_feature_id if formula_id is not None: _path_params['formulaId'] = formula_id - if inchi_key is not None: - _path_params['inchiKey'] = inchi_key # process the query parameters - if spectrum_index is not None: + if opt_fields is not None: - _query_params.append(('spectrumIndex', spectrum_index)) + _query_params.append(('optFields', opt_fields)) # process the header parameters # process the form parameters @@ -9440,7 +12062,7 @@ def _get_structure_annotated_spectrum_experimental_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -9457,11 +12079,15 @@ def _get_structure_annotated_spectrum_experimental_serialize( @validate_call - def get_structure_candidates( + def get_structure_candidates_by_formula_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9474,15 +12100,23 @@ def get_structure_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: - """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + ) -> PagedModelStructureCandidateScored: + """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. - List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one @@ -9507,9 +12141,13 @@ def get_structure_candidates( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_serialize( + _param = self._get_structure_candidates_by_formula_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -9518,7 +12156,7 @@ def get_structure_candidates( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateFormula]", + '200': "PagedModelStructureCandidateScored", } response_data = self.api_client.call_api( *_param, @@ -9532,11 +12170,15 @@ def get_structure_candidates( @validate_call - def get_structure_candidates_with_http_info( + def get_structure_candidates_by_formula_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9549,15 +12191,23 @@ def get_structure_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: - """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + ) -> ApiResponse[PagedModelStructureCandidateScored]: + """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. - List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one @@ -9582,9 +12232,13 @@ def get_structure_candidates_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_serialize( + _param = self._get_structure_candidates_by_formula_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -9593,7 +12247,7 @@ def get_structure_candidates_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateFormula]", + '200': "PagedModelStructureCandidateScored", } response_data = self.api_client.call_api( *_param, @@ -9607,11 +12261,15 @@ def get_structure_candidates_with_http_info( @validate_call - def get_structure_candidates_without_preload_content( + def get_structure_candidates_by_formula_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], + formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9625,14 +12283,22 @@ def get_structure_candidates_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. - List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) :type aligned_feature_id: str + :param formula_id: identifier of the requested formula result (required) + :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one @@ -9657,9 +12323,13 @@ def get_structure_candidates_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_serialize( + _param = self._get_structure_candidates_by_formula_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, + formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -9668,7 +12338,7 @@ def get_structure_candidates_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateFormula]", + '200': "PagedModelStructureCandidateScored", } response_data = self.api_client.call_api( *_param, @@ -9677,10 +12347,14 @@ def get_structure_candidates_without_preload_content( return response_data.response - def _get_structure_candidates_serialize( + def _get_structure_candidates_by_formula_paged_serialize( self, project_id, aligned_feature_id, + formula_id, + page, + size, + sort, opt_fields, _request_auth, _content_type, @@ -9691,6 +12365,7 @@ def _get_structure_candidates_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -9706,7 +12381,21 @@ def _get_structure_candidates_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + if opt_fields is not None: _query_params.append(('optFields', opt_fields)) @@ -9730,7 +12419,7 @@ def _get_structure_candidates_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -9747,12 +12436,14 @@ def _get_structure_candidates_serialize( @validate_call - def get_structure_candidates_by_formula( + def get_structure_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9765,17 +12456,21 @@ def get_structure_candidates_by_formula( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateScored]: - """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. + ) -> PagedModelStructureCandidateFormula: + """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. - List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one @@ -9800,10 +12495,12 @@ def get_structure_candidates_by_formula( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_by_formula_serialize( + _param = self._get_structure_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -9812,7 +12509,7 @@ def get_structure_candidates_by_formula( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateScored]", + '200': "PagedModelStructureCandidateFormula", } response_data = self.api_client.call_api( *_param, @@ -9826,12 +12523,14 @@ def get_structure_candidates_by_formula( @validate_call - def get_structure_candidates_by_formula_with_http_info( + def get_structure_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9844,17 +12543,21 @@ def get_structure_candidates_by_formula_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateScored]]: - """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. + ) -> ApiResponse[PagedModelStructureCandidateFormula]: + """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. - List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one @@ -9879,10 +12582,12 @@ def get_structure_candidates_by_formula_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_by_formula_serialize( + _param = self._get_structure_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -9891,7 +12596,7 @@ def get_structure_candidates_by_formula_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateScored]", + '200': "PagedModelStructureCandidateFormula", } response_data = self.api_client.call_api( *_param, @@ -9905,12 +12610,14 @@ def get_structure_candidates_by_formula_with_http_info( @validate_call - def get_structure_candidates_by_formula_without_preload_content( + def get_structure_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9924,16 +12631,20 @@ def get_structure_candidates_by_formula_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. + """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. - List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) + :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[StructureCandidateOptField] :param _request_timeout: timeout setting for this request. If one @@ -9958,10 +12669,12 @@ def get_structure_candidates_by_formula_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_by_formula_serialize( + _param = self._get_structure_candidates_paged_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - formula_id=formula_id, + page=page, + size=size, + sort=sort, opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, @@ -9970,7 +12683,7 @@ def get_structure_candidates_by_formula_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[StructureCandidateScored]", + '200': "PagedModelStructureCandidateFormula", } response_data = self.api_client.call_api( *_param, @@ -9979,11 +12692,13 @@ def get_structure_candidates_by_formula_without_preload_content( return response_data.response - def _get_structure_candidates_by_formula_serialize( + def _get_structure_candidates_paged_serialize( self, project_id, aligned_feature_id, - formula_id, + page, + size, + sort, opt_fields, _request_auth, _content_type, @@ -9994,6 +12709,7 @@ def _get_structure_candidates_by_formula_serialize( _host = None _collection_formats: Dict[str, str] = { + 'sort': 'multi', 'optFields': 'multi', } @@ -10009,9 +12725,19 @@ def _get_structure_candidates_by_formula_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + if opt_fields is not None: _query_params.append(('optFields', opt_fields)) @@ -10035,7 +12761,7 @@ def _get_structure_candidates_by_formula_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -10052,15 +12778,10 @@ def _get_structure_candidates_by_formula_serialize( @validate_call - def get_structure_candidates_by_formula_paged( + def get_tags_for_aligned_features_experimental( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="object to get tags for.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10073,25 +12794,15 @@ def get_structure_candidates_by_formula_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateScored: - """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. + ) -> List[Tag]: + """[EXPERIMENTAL] Get all tags associated with this Object - Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + [EXPERIMENTAL] Get all tags associated with this Object - :param project_id: project-space to read from. (required) + :param project_id: project-space to get from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param object_id: object to get tags for. (required) + :type object_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10114,14 +12825,9 @@ def get_structure_candidates_by_formula_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_by_formula_paged_serialize( + _param = self._get_tags_for_aligned_features_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + object_id=object_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10129,7 +12835,7 @@ def get_structure_candidates_by_formula_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateScored", + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -10143,15 +12849,10 @@ def get_structure_candidates_by_formula_paged( @validate_call - def get_structure_candidates_by_formula_paged_with_http_info( + def get_tags_for_aligned_features_experimental_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="object to get tags for.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10164,25 +12865,15 @@ def get_structure_candidates_by_formula_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateScored]: - """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. - - Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. - - :param project_id: project-space to read from. (required) - :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + ) -> ApiResponse[List[Tag]]: + """[EXPERIMENTAL] Get all tags associated with this Object + + [EXPERIMENTAL] Get all tags associated with this Object + + :param project_id: project-space to get from. (required) + :type project_id: str + :param object_id: object to get tags for. (required) + :type object_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10205,14 +12896,9 @@ def get_structure_candidates_by_formula_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_by_formula_paged_serialize( + _param = self._get_tags_for_aligned_features_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + object_id=object_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10220,7 +12906,7 @@ def get_structure_candidates_by_formula_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateScored", + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -10234,15 +12920,10 @@ def get_structure_candidates_by_formula_paged_with_http_info( @validate_call - def get_structure_candidates_by_formula_paged_without_preload_content( + def get_tags_for_aligned_features_experimental_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], - formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="object to get tags for.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10256,24 +12937,14 @@ def get_structure_candidates_by_formula_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. + """[EXPERIMENTAL] Get all tags associated with this Object - Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + [EXPERIMENTAL] Get all tags associated with this Object - :param project_id: project-space to read from. (required) + :param project_id: project-space to get from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the formula result belongs to. (required) - :type aligned_feature_id: str - :param formula_id: identifier of the requested formula result (required) - :type formula_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param object_id: object to get tags for. (required) + :type object_id: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10296,14 +12967,9 @@ def get_structure_candidates_by_formula_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_by_formula_paged_serialize( + _param = self._get_tags_for_aligned_features_experimental_serialize( project_id=project_id, - aligned_feature_id=aligned_feature_id, - formula_id=formula_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + object_id=object_id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10311,7 +12977,7 @@ def get_structure_candidates_by_formula_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateScored", + '200': "List[Tag]", } response_data = self.api_client.call_api( *_param, @@ -10320,15 +12986,10 @@ def get_structure_candidates_by_formula_paged_without_preload_content( return response_data.response - def _get_structure_candidates_by_formula_paged_serialize( + def _get_tags_for_aligned_features_experimental_serialize( self, project_id, - aligned_feature_id, - formula_id, - page, - size, - sort, - opt_fields, + object_id, _request_auth, _content_type, _headers, @@ -10338,8 +12999,6 @@ def _get_structure_candidates_by_formula_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -10352,27 +13011,9 @@ def _get_structure_candidates_by_formula_paged_serialize( # process the path parameters if project_id is not None: _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id + if object_id is not None: + _path_params['objectId'] = object_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - # process the header parameters # process the form parameters # process the body parameter @@ -10392,7 +13033,7 @@ def _get_structure_candidates_by_formula_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page', + resource_path='/api/projects/{projectId}/aligned-features/tags/{objectId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -10409,14 +13050,11 @@ def _get_structure_candidates_by_formula_paged_serialize( @validate_call - def get_structure_candidates_paged( + def get_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], + include_all: Annotated[Optional[StrictBool], Field(description="when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10429,23 +13067,17 @@ def get_structure_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateFormula: - """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + ) -> TraceSetExperimental: + """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) - Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature which intensities should be read out (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param include_all: when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. + :type include_all: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10468,13 +13100,10 @@ def get_structure_candidates_paged( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_paged_serialize( + _param = self._get_traces_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + include_all=include_all, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10482,7 +13111,7 @@ def get_structure_candidates_paged( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateFormula", + '200': "TraceSetExperimental", } response_data = self.api_client.call_api( *_param, @@ -10496,14 +13125,11 @@ def get_structure_candidates_paged( @validate_call - def get_structure_candidates_paged_with_http_info( + def get_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], + include_all: Annotated[Optional[StrictBool], Field(description="when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10516,23 +13142,17 @@ def get_structure_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateFormula]: - """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + ) -> ApiResponse[TraceSetExperimental]: + """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) - Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature which intensities should be read out (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param include_all: when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. + :type include_all: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10555,13 +13175,10 @@ def get_structure_candidates_paged_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_paged_serialize( + _param = self._get_traces_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + include_all=include_all, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10569,7 +13186,7 @@ def get_structure_candidates_paged_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateFormula", + '200': "TraceSetExperimental", } response_data = self.api_client.call_api( *_param, @@ -10583,14 +13200,11 @@ def get_structure_candidates_paged_with_http_info( @validate_call - def get_structure_candidates_paged_without_preload_content( + def get_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, - size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, - sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], + include_all: Annotated[Optional[StrictBool], Field(description="when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10604,22 +13218,16 @@ def get_structure_candidates_paged_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) - Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. + [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. :param project_id: project-space to read from. (required) :type project_id: str - :param aligned_feature_id: feature (aligned over runs) the structure candidates belong to. (required) + :param aligned_feature_id: feature which intensities should be read out (required) :type aligned_feature_id: str - :param page: Zero-based page index (0..N) - :type page: int - :param size: The size of the page to be returned - :type size: int - :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - :type sort: List[str] - :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[StructureCandidateOptField] + :param include_all: when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. + :type include_all: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10642,13 +13250,10 @@ def get_structure_candidates_paged_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_structure_candidates_paged_serialize( + _param = self._get_traces_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - page=page, - size=size, - sort=sort, - opt_fields=opt_fields, + include_all=include_all, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10656,7 +13261,7 @@ def get_structure_candidates_paged_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PagedModelStructureCandidateFormula", + '200': "TraceSetExperimental", } response_data = self.api_client.call_api( *_param, @@ -10665,14 +13270,11 @@ def get_structure_candidates_paged_without_preload_content( return response_data.response - def _get_structure_candidates_paged_serialize( + def _get_traces_experimental_serialize( self, project_id, aligned_feature_id, - page, - size, - sort, - opt_fields, + include_all, _request_auth, _content_type, _headers, @@ -10682,8 +13284,6 @@ def _get_structure_candidates_paged_serialize( _host = None _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -10699,21 +13299,9 @@ def _get_structure_candidates_paged_serialize( if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: + if include_all is not None: - _query_params.append(('optFields', opt_fields)) + _query_params.append(('includeAll', include_all)) # process the header parameters # process the form parameters @@ -10734,7 +13322,7 @@ def _get_structure_candidates_paged_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -10751,11 +13339,11 @@ def _get_structure_candidates_paged_serialize( @validate_call - def get_traces_experimental( + def remove_tag_from_aligned_feature_experimental( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], - include_all: Annotated[Optional[StrictBool], Field(description="when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10768,17 +13356,17 @@ def get_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> None: + """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space - Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in. + [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: feature which intensities should be read out (required) + :param aligned_feature_id: feature (aligned over runs) to delete tag from. (required) :type aligned_feature_id: str - :param include_all: when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. - :type include_all: bool + :param tag_name: name of the tag to delete. (required) + :type tag_name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10801,10 +13389,10 @@ def get_traces_experimental( :return: Returns the result object. """ # noqa: E501 - _param = self._get_traces_experimental_serialize( + _param = self._remove_tag_from_aligned_feature_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - include_all=include_all, + tag_name=tag_name, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10812,7 +13400,7 @@ def get_traces_experimental( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -10826,11 +13414,11 @@ def get_traces_experimental( @validate_call - def get_traces_experimental_with_http_info( + def remove_tag_from_aligned_feature_experimental_with_http_info( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], - include_all: Annotated[Optional[StrictBool], Field(description="when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10843,17 +13431,17 @@ def get_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + ) -> ApiResponse[None]: + """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space - Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in. + [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: feature which intensities should be read out (required) + :param aligned_feature_id: feature (aligned over runs) to delete tag from. (required) :type aligned_feature_id: str - :param include_all: when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. - :type include_all: bool + :param tag_name: name of the tag to delete. (required) + :type tag_name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10876,10 +13464,10 @@ def get_traces_experimental_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._get_traces_experimental_serialize( + _param = self._remove_tag_from_aligned_feature_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - include_all=include_all, + tag_name=tag_name, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10887,7 +13475,7 @@ def get_traces_experimental_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -10901,11 +13489,11 @@ def get_traces_experimental_with_http_info( @validate_call - def get_traces_experimental_without_preload_content( + def remove_tag_from_aligned_feature_experimental_without_preload_content( self, - project_id: Annotated[StrictStr, Field(description="project-space to read from.")], - aligned_feature_id: Annotated[StrictStr, Field(description="feature which intensities should be read out")], - include_all: Annotated[Optional[StrictBool], Field(description="when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.")] = None, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10919,16 +13507,16 @@ def get_traces_experimental_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space - Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in. + [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. - :param project_id: project-space to read from. (required) + :param project_id: project-space to delete from. (required) :type project_id: str - :param aligned_feature_id: feature which intensities should be read out (required) + :param aligned_feature_id: feature (aligned over runs) to delete tag from. (required) :type aligned_feature_id: str - :param include_all: when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. - :type include_all: bool + :param tag_name: name of the tag to delete. (required) + :type tag_name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -10951,10 +13539,10 @@ def get_traces_experimental_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._get_traces_experimental_serialize( + _param = self._remove_tag_from_aligned_feature_experimental_serialize( project_id=project_id, aligned_feature_id=aligned_feature_id, - include_all=include_all, + tag_name=tag_name, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -10962,7 +13550,7 @@ def get_traces_experimental_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TraceSetExperimental", + '200': None, } response_data = self.api_client.call_api( *_param, @@ -10971,11 +13559,11 @@ def get_traces_experimental_without_preload_content( return response_data.response - def _get_traces_experimental_serialize( + def _remove_tag_from_aligned_feature_experimental_serialize( self, project_id, aligned_feature_id, - include_all, + tag_name, _request_auth, _content_type, _headers, @@ -10999,22 +13587,14 @@ def _get_traces_experimental_serialize( _path_params['projectId'] = project_id if aligned_feature_id is not None: _path_params['alignedFeatureId'] = aligned_feature_id + if tag_name is not None: + _path_params['tagName'] = tag_name # process the query parameters - if include_all is not None: - - _query_params.append(('includeAll', include_all)) - # process the header parameters # process the form parameters # process the body parameter - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) # authentication setting @@ -11022,8 +13602,8 @@ def _get_traces_experimental_serialize( ] return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces', + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/client-api_python/generated/PySirius/api/gui_api.py b/client-api_python/generated/PySirius/api/gui_api.py deleted file mode 100644 index 17d0b3b0..00000000 --- a/client-api_python/generated/PySirius/api/gui_api.py +++ /dev/null @@ -1,804 +0,0 @@ -# coding: utf-8 - -""" - SIRIUS Nightsky API - - - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.gui_info import GuiInfo - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class GuiApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call - def close_gui( - self, - project_id: Annotated[StrictStr, Field(description="if project-space the GUI instance is connected to.")], - close_project: Optional[StrictBool] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bool: - """Close GUI instance of given project-space if available. - - Close GUI instance of given project-space if available. - - :param project_id: if project-space the GUI instance is connected to. (required) - :type project_id: str - :param close_project: - :type close_project: bool - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._close_gui_serialize( - project_id=project_id, - close_project=close_project, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def close_gui_with_http_info( - self, - project_id: Annotated[StrictStr, Field(description="if project-space the GUI instance is connected to.")], - close_project: Optional[StrictBool] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bool]: - """Close GUI instance of given project-space if available. - - Close GUI instance of given project-space if available. - - :param project_id: if project-space the GUI instance is connected to. (required) - :type project_id: str - :param close_project: - :type close_project: bool - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._close_gui_serialize( - project_id=project_id, - close_project=close_project, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def close_gui_without_preload_content( - self, - project_id: Annotated[StrictStr, Field(description="if project-space the GUI instance is connected to.")], - close_project: Optional[StrictBool] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Close GUI instance of given project-space if available. - - Close GUI instance of given project-space if available. - - :param project_id: if project-space the GUI instance is connected to. (required) - :type project_id: str - :param close_project: - :type close_project: bool - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._close_gui_serialize( - project_id=project_id, - close_project=close_project, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _close_gui_serialize( - self, - project_id, - close_project, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if close_project is not None: - - _query_params.append(('closeProject', close_project)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/gui', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_guis( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[GuiInfo]: - """Get list of currently running gui windows, managed by this SIRIUS instance. - - Get list of currently running gui windows, managed by this SIRIUS instance. Note this will not show any Clients that are connected from a separate process! - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_guis_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[GuiInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_guis_with_http_info( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[GuiInfo]]: - """Get list of currently running gui windows, managed by this SIRIUS instance. - - Get list of currently running gui windows, managed by this SIRIUS instance. Note this will not show any Clients that are connected from a separate process! - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_guis_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[GuiInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_guis_without_preload_content( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Get list of currently running gui windows, managed by this SIRIUS instance. - - Get list of currently running gui windows, managed by this SIRIUS instance. Note this will not show any Clients that are connected from a separate process! - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_guis_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[GuiInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_guis_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/guis', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def open_gui( - self, - project_id: Annotated[StrictStr, Field(description="of project-space the GUI instance will connect to.")], - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """Open GUI instance on specified project-space and bring the GUI window to foreground. - - Open GUI instance on specified project-space and bring the GUI window to foreground. - - :param project_id: of project-space the GUI instance will connect to. (required) - :type project_id: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._open_gui_serialize( - project_id=project_id, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def open_gui_with_http_info( - self, - project_id: Annotated[StrictStr, Field(description="of project-space the GUI instance will connect to.")], - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """Open GUI instance on specified project-space and bring the GUI window to foreground. - - Open GUI instance on specified project-space and bring the GUI window to foreground. - - :param project_id: of project-space the GUI instance will connect to. (required) - :type project_id: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._open_gui_serialize( - project_id=project_id, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def open_gui_without_preload_content( - self, - project_id: Annotated[StrictStr, Field(description="of project-space the GUI instance will connect to.")], - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Open GUI instance on specified project-space and bring the GUI window to foreground. - - Open GUI instance on specified project-space and bring the GUI window to foreground. - - :param project_id: of project-space the GUI instance will connect to. (required) - :type project_id: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._open_gui_serialize( - project_id=project_id, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _open_gui_serialize( - self, - project_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/gui', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/client-api_python/generated/PySirius/api/jobs_api.py b/client-api_python/generated/PySirius/api/jobs_api.py index a859ad04..b0379e8e 100644 --- a/client-api_python/generated/PySirius/api/jobs_api.py +++ b/client-api_python/generated/PySirius/api/jobs_api.py @@ -877,12 +877,282 @@ def _delete_jobs_serialize( + @validate_call + def get_command( + self, + job_submission: JobSubmission, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[str]: + """Get a CLI command for the given job configuration. + + Get a CLI command for the given job configuration. + + :param job_submission: (required) + :type job_submission: JobSubmission + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_command_serialize( + job_submission=job_submission, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[str]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_command_with_http_info( + self, + job_submission: JobSubmission, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[str]]: + """Get a CLI command for the given job configuration. + + Get a CLI command for the given job configuration. + + :param job_submission: (required) + :type job_submission: JobSubmission + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_command_serialize( + job_submission=job_submission, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[str]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_command_without_preload_content( + self, + job_submission: JobSubmission, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get a CLI command for the given job configuration. + + Get a CLI command for the given job configuration. + + :param job_submission: (required) + :type job_submission: JobSubmission + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_command_serialize( + job_submission=job_submission, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[str]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_command_serialize( + self, + job_submission, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if job_submission is not None: + _body_params = job_submission + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/job-configs/get-command', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_default_job_config( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, move_parameters_to_config_map: Annotated[Optional[StrictBool], Field(description="if true, object-based parameters will be converted to and added to the generic configMap parameters")] = None, - include_custom_dbs_for_structure_search: Annotated[Optional[StrictBool], Field(description="if true, default database selection of structure db search contains also all available custom DB.")] = None, + include_custom_dbs_for_structure_search: Annotated[Optional[StrictBool], Field(description="if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -904,7 +1174,7 @@ def get_default_job_config( :type include_config_map: bool :param move_parameters_to_config_map: if true, object-based parameters will be converted to and added to the generic configMap parameters :type move_parameters_to_config_map: bool - :param include_custom_dbs_for_structure_search: if true, default database selection of structure db search contains also all available custom DB. + :param include_custom_dbs_for_structure_search: if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. :type include_custom_dbs_for_structure_search: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -957,7 +1227,7 @@ def get_default_job_config_with_http_info( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, move_parameters_to_config_map: Annotated[Optional[StrictBool], Field(description="if true, object-based parameters will be converted to and added to the generic configMap parameters")] = None, - include_custom_dbs_for_structure_search: Annotated[Optional[StrictBool], Field(description="if true, default database selection of structure db search contains also all available custom DB.")] = None, + include_custom_dbs_for_structure_search: Annotated[Optional[StrictBool], Field(description="if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -979,7 +1249,7 @@ def get_default_job_config_with_http_info( :type include_config_map: bool :param move_parameters_to_config_map: if true, object-based parameters will be converted to and added to the generic configMap parameters :type move_parameters_to_config_map: bool - :param include_custom_dbs_for_structure_search: if true, default database selection of structure db search contains also all available custom DB. + :param include_custom_dbs_for_structure_search: if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. :type include_custom_dbs_for_structure_search: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1032,7 +1302,7 @@ def get_default_job_config_without_preload_content( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, move_parameters_to_config_map: Annotated[Optional[StrictBool], Field(description="if true, object-based parameters will be converted to and added to the generic configMap parameters")] = None, - include_custom_dbs_for_structure_search: Annotated[Optional[StrictBool], Field(description="if true, default database selection of structure db search contains also all available custom DB.")] = None, + include_custom_dbs_for_structure_search: Annotated[Optional[StrictBool], Field(description="if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1054,7 +1324,7 @@ def get_default_job_config_without_preload_content( :type include_config_map: bool :param move_parameters_to_config_map: if true, object-based parameters will be converted to and added to the generic configMap parameters :type move_parameters_to_config_map: bool - :param include_custom_dbs_for_structure_search: if true, default database selection of structure db search contains also all available custom DB. + :param include_custom_dbs_for_structure_search: if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. :type include_custom_dbs_for_structure_search: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1175,7 +1445,7 @@ def get_job( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_id: Annotated[StrictStr, Field(description="of the job to be returned")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1250,7 +1520,7 @@ def get_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_id: Annotated[StrictStr, Field(description="of the job to be returned")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1325,7 +1595,7 @@ def get_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_id: Annotated[StrictStr, Field(description="of the job to be returned")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1750,9 +2020,9 @@ def get_job_config_names( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[str]: - """(Deprecated) DEPRECATED: use /job-configs to get all configs with names. + """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names - Get all (non-default) job configuration names + [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1814,9 +2084,9 @@ def get_job_config_names_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[str]]: - """(Deprecated) DEPRECATED: use /job-configs to get all configs with names. + """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names - Get all (non-default) job configuration names + [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1878,9 +2148,9 @@ def get_job_config_names_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """(Deprecated) DEPRECATED: use /job-configs to get all configs with names. + """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names - Get all (non-default) job configuration names + [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2225,7 +2495,7 @@ def _get_job_configs_serialize( def get_jobs( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2296,7 +2566,7 @@ def get_jobs( def get_jobs_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2367,7 +2637,7 @@ def get_jobs_with_http_info( def get_jobs_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2503,7 +2773,7 @@ def get_jobs_paged( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2586,7 +2856,7 @@ def get_jobs_paged_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2669,7 +2939,7 @@ def get_jobs_paged_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3418,7 +3688,7 @@ def start_job( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_submission: Annotated[JobSubmission, Field(description="configuration of the job that will be submitted of the job to be returned")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3493,7 +3763,7 @@ def start_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_submission: Annotated[JobSubmission, Field(description="configuration of the job that will be submitted of the job to be returned")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3568,7 +3838,7 @@ def start_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_submission: Annotated[JobSubmission, Field(description="configuration of the job that will be submitted of the job to be returned")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3723,7 +3993,7 @@ def start_job_from_config( job_config_name: Annotated[StrictStr, Field(description="name if the config to be used")], request_body: Annotated[List[StrictStr], Field(description="List of alignedFeatureIds to be computed")], recompute: Annotated[Optional[StrictBool], Field(description="enable or disable recompute. If null the stored value will be used.")] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3806,7 +4076,7 @@ def start_job_from_config_with_http_info( job_config_name: Annotated[StrictStr, Field(description="name if the config to be used")], request_body: Annotated[List[StrictStr], Field(description="List of alignedFeatureIds to be computed")], recompute: Annotated[Optional[StrictBool], Field(description="enable or disable recompute. If null the stored value will be used.")] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3889,7 +4159,7 @@ def start_job_from_config_without_preload_content( job_config_name: Annotated[StrictStr, Field(description="name if the config to be used")], request_body: Annotated[List[StrictStr], Field(description="List of alignedFeatureIds to be computed")], recompute: Annotated[Optional[StrictBool], Field(description="enable or disable recompute. If null the stored value will be used.")] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], diff --git a/client-api_python/generated/PySirius/api/projects_api.py b/client-api_python/generated/PySirius/api/projects_api.py index 2fcf6e3a..1ee308cb 100644 --- a/client-api_python/generated/PySirius/api/projects_api.py +++ b/client-api_python/generated/PySirius/api/projects_api.py @@ -46,6 +46,7 @@ def __init__(self, api_client=None) -> None: def close_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], + compact: Annotated[Optional[StrictBool], Field(description="if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -59,12 +60,14 @@ def close_project( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """Close project-space and remove it from application + """Close project-space and remove it from the application - Close project-space and remove it from application. Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. + Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. :param project_id: unique name/identifier of the project-space to be closed. (required) :type project_id: str + :param compact: if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. + :type compact: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -89,6 +92,7 @@ def close_project( _param = self._close_project_serialize( project_id=project_id, + compact=compact, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -113,6 +117,7 @@ def close_project( def close_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], + compact: Annotated[Optional[StrictBool], Field(description="if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -126,12 +131,14 @@ def close_project_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """Close project-space and remove it from application + """Close project-space and remove it from the application - Close project-space and remove it from application. Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. + Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. :param project_id: unique name/identifier of the project-space to be closed. (required) :type project_id: str + :param compact: if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. + :type compact: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -156,6 +163,7 @@ def close_project_with_http_info( _param = self._close_project_serialize( project_id=project_id, + compact=compact, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -180,6 +188,7 @@ def close_project_with_http_info( def close_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], + compact: Annotated[Optional[StrictBool], Field(description="if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -193,12 +202,14 @@ def close_project_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Close project-space and remove it from application + """Close project-space and remove it from the application - Close project-space and remove it from application. Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. + Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. :param project_id: unique name/identifier of the project-space to be closed. (required) :type project_id: str + :param compact: if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. + :type compact: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -223,6 +234,7 @@ def close_project_without_preload_content( _param = self._close_project_serialize( project_id=project_id, + compact=compact, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -242,6 +254,7 @@ def close_project_without_preload_content( def _close_project_serialize( self, project_id, + compact, _request_auth, _content_type, _headers, @@ -264,6 +277,10 @@ def _close_project_serialize( if project_id is not None: _path_params['projectId'] = project_id # process the query parameters + if compact is not None: + + _query_params.append(('compact', compact)) + # process the header parameters # process the form parameters # process the body parameter @@ -298,7 +315,7 @@ def create_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -373,7 +390,7 @@ def create_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -448,7 +465,7 @@ def create_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1405,7 +1422,7 @@ def _get_finger_id_data_serialize( def get_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1476,7 +1493,7 @@ def get_project( def get_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1547,7 +1564,7 @@ def get_project_with_http_info( def get_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1922,8 +1939,8 @@ def _get_projects_serialize( def import_ms_run_data( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1943,9 +1960,9 @@ def import_ms_run_data( :param project_id: Project-space to import into. (required) :type project_id: str - :param input_files: + :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: + :param parameters: Parameters for feature alignment and feature finding. (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1997,8 +2014,8 @@ def import_ms_run_data( def import_ms_run_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2018,9 +2035,9 @@ def import_ms_run_data_with_http_info( :param project_id: Project-space to import into. (required) :type project_id: str - :param input_files: + :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: + :param parameters: Parameters for feature alignment and feature finding. (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2072,8 +2089,8 @@ def import_ms_run_data_with_http_info( def import_ms_run_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2093,9 +2110,9 @@ def import_ms_run_data_without_preload_content( :param project_id: Project-space to import into. (required) :type project_id: str - :param input_files: + :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: + :param parameters: Parameters for feature alignment and feature finding. (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2223,9 +2240,9 @@ def _import_ms_run_data_serialize( def import_ms_run_data_as_job( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2245,12 +2262,12 @@ def import_ms_run_data_as_job( :param project_id: Project-space to import into. (required) :type project_id: str - :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[JobOptField] - :param input_files: + :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: + :param parameters: Parameters for feature alignment and feature finding. (required) :type parameters: LcmsSubmissionParameters + :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[JobOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2275,9 +2292,9 @@ def import_ms_run_data_as_job( _param = self._import_ms_run_data_as_job_serialize( project_id=project_id, - opt_fields=opt_fields, input_files=input_files, parameters=parameters, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2302,9 +2319,9 @@ def import_ms_run_data_as_job( def import_ms_run_data_as_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2324,12 +2341,12 @@ def import_ms_run_data_as_job_with_http_info( :param project_id: Project-space to import into. (required) :type project_id: str - :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[JobOptField] - :param input_files: + :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: + :param parameters: Parameters for feature alignment and feature finding. (required) :type parameters: LcmsSubmissionParameters + :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[JobOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2354,9 +2371,9 @@ def import_ms_run_data_as_job_with_http_info( _param = self._import_ms_run_data_as_job_serialize( project_id=project_id, - opt_fields=opt_fields, input_files=input_files, parameters=parameters, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2381,9 +2398,9 @@ def import_ms_run_data_as_job_with_http_info( def import_ms_run_data_as_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, - parameters: Optional[LcmsSubmissionParameters] = None, + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], + parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2403,12 +2420,12 @@ def import_ms_run_data_as_job_without_preload_content( :param project_id: Project-space to import into. (required) :type project_id: str - :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. - :type opt_fields: List[JobOptField] - :param input_files: + :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: + :param parameters: Parameters for feature alignment and feature finding. (required) :type parameters: LcmsSubmissionParameters + :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[JobOptField] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2433,9 +2450,9 @@ def import_ms_run_data_as_job_without_preload_content( _param = self._import_ms_run_data_as_job_serialize( project_id=project_id, - opt_fields=opt_fields, input_files=input_files, parameters=parameters, + opt_fields=opt_fields, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2455,9 +2472,9 @@ def import_ms_run_data_as_job_without_preload_content( def _import_ms_run_data_as_job_serialize( self, project_id, - opt_fields, input_files, parameters, + opt_fields, _request_auth, _content_type, _headers, @@ -2467,8 +2484,8 @@ def _import_ms_run_data_as_job_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', 'inputFiles': 'csv', + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -2542,9 +2559,9 @@ def _import_ms_run_data_as_job_serialize( def import_preprocessed_data( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to import into project")], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2564,12 +2581,12 @@ def import_preprocessed_data( :param project_id: project-space to import into. (required) :type project_id: str + :param input_files: files to import into project (required) + :type input_files: List[bytearray] :param ignore_formulas: :type ignore_formulas: bool :param allow_ms1_only: :type allow_ms1_only: bool - :param input_files: - :type input_files: List[bytearray] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2594,9 +2611,9 @@ def import_preprocessed_data( _param = self._import_preprocessed_data_serialize( project_id=project_id, + input_files=input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, - input_files=input_files, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2621,9 +2638,9 @@ def import_preprocessed_data( def import_preprocessed_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to import into project")], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2643,12 +2660,12 @@ def import_preprocessed_data_with_http_info( :param project_id: project-space to import into. (required) :type project_id: str + :param input_files: files to import into project (required) + :type input_files: List[bytearray] :param ignore_formulas: :type ignore_formulas: bool :param allow_ms1_only: :type allow_ms1_only: bool - :param input_files: - :type input_files: List[bytearray] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2673,9 +2690,9 @@ def import_preprocessed_data_with_http_info( _param = self._import_preprocessed_data_serialize( project_id=project_id, + input_files=input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, - input_files=input_files, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2700,9 +2717,9 @@ def import_preprocessed_data_with_http_info( def import_preprocessed_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to import into project")], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2722,12 +2739,12 @@ def import_preprocessed_data_without_preload_content( :param project_id: project-space to import into. (required) :type project_id: str + :param input_files: files to import into project (required) + :type input_files: List[bytearray] :param ignore_formulas: :type ignore_formulas: bool :param allow_ms1_only: :type allow_ms1_only: bool - :param input_files: - :type input_files: List[bytearray] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2752,9 +2769,9 @@ def import_preprocessed_data_without_preload_content( _param = self._import_preprocessed_data_serialize( project_id=project_id, + input_files=input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, - input_files=input_files, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2774,9 +2791,9 @@ def import_preprocessed_data_without_preload_content( def _import_preprocessed_data_serialize( self, project_id, + input_files, ignore_formulas, allow_ms1_only, - input_files, _request_auth, _content_type, _headers, @@ -2862,10 +2879,10 @@ def _import_preprocessed_data_serialize( def import_preprocessed_data_as_job( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], + input_files: List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2885,14 +2902,14 @@ def import_preprocessed_data_as_job( :param project_id: project-space to import into. (required) :type project_id: str + :param input_files: (required) + :type input_files: List[bytearray] :param ignore_formulas: :type ignore_formulas: bool :param allow_ms1_only: :type allow_ms1_only: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[JobOptField] - :param input_files: - :type input_files: List[bytearray] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2917,10 +2934,10 @@ def import_preprocessed_data_as_job( _param = self._import_preprocessed_data_as_job_serialize( project_id=project_id, + input_files=input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, opt_fields=opt_fields, - input_files=input_files, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2945,10 +2962,10 @@ def import_preprocessed_data_as_job( def import_preprocessed_data_as_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], + input_files: List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2968,14 +2985,14 @@ def import_preprocessed_data_as_job_with_http_info( :param project_id: project-space to import into. (required) :type project_id: str + :param input_files: (required) + :type input_files: List[bytearray] :param ignore_formulas: :type ignore_formulas: bool :param allow_ms1_only: :type allow_ms1_only: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[JobOptField] - :param input_files: - :type input_files: List[bytearray] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3000,10 +3017,10 @@ def import_preprocessed_data_as_job_with_http_info( _param = self._import_preprocessed_data_as_job_serialize( project_id=project_id, + input_files=input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, opt_fields=opt_fields, - input_files=input_files, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3028,10 +3045,10 @@ def import_preprocessed_data_as_job_with_http_info( def import_preprocessed_data_as_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], + input_files: List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3051,14 +3068,14 @@ def import_preprocessed_data_as_job_without_preload_content( :param project_id: project-space to import into. (required) :type project_id: str + :param input_files: (required) + :type input_files: List[bytearray] :param ignore_formulas: :type ignore_formulas: bool :param allow_ms1_only: :type allow_ms1_only: bool :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[JobOptField] - :param input_files: - :type input_files: List[bytearray] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3083,10 +3100,10 @@ def import_preprocessed_data_as_job_without_preload_content( _param = self._import_preprocessed_data_as_job_serialize( project_id=project_id, + input_files=input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, opt_fields=opt_fields, - input_files=input_files, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3106,10 +3123,10 @@ def import_preprocessed_data_as_job_without_preload_content( def _import_preprocessed_data_as_job_serialize( self, project_id, + input_files, ignore_formulas, allow_ms1_only, opt_fields, - input_files, _request_auth, _content_type, _headers, @@ -3119,8 +3136,8 @@ def _import_preprocessed_data_as_job_serialize( _host = None _collection_formats: Dict[str, str] = { - 'optFields': 'multi', 'inputFiles': 'csv', + 'optFields': 'multi', } _path_params: Dict[str, str] = {} @@ -3201,7 +3218,7 @@ def open_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3276,7 +3293,7 @@ def open_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3351,7 +3368,7 @@ def open_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, + opt_fields: Optional[List[ProjectInfoOptField]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], diff --git a/client-api_python/generated/PySirius/api/runs_api.py b/client-api_python/generated/PySirius/api/runs_api.py new file mode 100644 index 00000000..292d5888 --- /dev/null +++ b/client-api_python/generated/PySirius/api/runs_api.py @@ -0,0 +1,2505 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.paged_model_run import PagedModelRun +from PySirius.models.run import Run +from PySirius.models.run_opt_field import RunOptField +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest +from PySirius.models.tag import Tag + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class RunsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def add_tags_to_run_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + run_id: Annotated[StrictStr, Field(description="run to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[Tag]: + """[EXPERIMENTAL] Add tags to a run in the project + + [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param run_id: run to add tags to. (required) + :type run_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_tags_to_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + tag=tag, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def add_tags_to_run_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + run_id: Annotated[StrictStr, Field(description="run to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[Tag]]: + """[EXPERIMENTAL] Add tags to a run in the project + + [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param run_id: run to add tags to. (required) + :type run_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_tags_to_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + tag=tag, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def add_tags_to_run_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + run_id: Annotated[StrictStr, Field(description="run to add tags to.")], + tag: Annotated[List[Tag], Field(description="tags to add.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Add tags to a run in the project + + [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param run_id: run to add tags to. (required) + :type run_id: str + :param tag: tags to add. (required) + :type tag: List[Tag] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_tags_to_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + tag=tag, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tags_to_run_experimental_serialize( + self, + project_id, + run_id, + tag, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'Tag': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag is not None: + _body_params = tag + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/runs/tags/{runId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def compute_fold_change_for_blank_subtraction( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + sample_type_fold_change_request: Annotated[SampleTypeFoldChangeRequest, Field(description="request with lists of run IDs that are sample, blank, and control runs")], + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Job: + """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + + **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

+ + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param sample_type_fold_change_request: request with lists of run IDs that are sample, blank, and control runs (required) + :type sample_type_fold_change_request: SampleTypeFoldChangeRequest + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_fold_change_for_blank_subtraction_serialize( + project_id=project_id, + sample_type_fold_change_request=sample_type_fold_change_request, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def compute_fold_change_for_blank_subtraction_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + sample_type_fold_change_request: Annotated[SampleTypeFoldChangeRequest, Field(description="request with lists of run IDs that are sample, blank, and control runs")], + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Job]: + """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + + **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

+ + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param sample_type_fold_change_request: request with lists of run IDs that are sample, blank, and control runs (required) + :type sample_type_fold_change_request: SampleTypeFoldChangeRequest + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_fold_change_for_blank_subtraction_serialize( + project_id=project_id, + sample_type_fold_change_request=sample_type_fold_change_request, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def compute_fold_change_for_blank_subtraction_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], + sample_type_fold_change_request: Annotated[SampleTypeFoldChangeRequest, Field(description="request with lists of run IDs that are sample, blank, and control runs")], + opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + + **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

+ + :param project_id: project-space to compute the fold change in. (required) + :type project_id: str + :param sample_type_fold_change_request: request with lists of run IDs that are sample, blank, and control runs (required) + :type sample_type_fold_change_request: SampleTypeFoldChangeRequest + :param opt_fields: job opt fields. + :type opt_fields: List[JobOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._compute_fold_change_for_blank_subtraction_serialize( + project_id=project_id, + sample_type_fold_change_request=sample_type_fold_change_request, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Job", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_fold_change_for_blank_subtraction_serialize( + self, + project_id, + sample_type_fold_change_request, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if sample_type_fold_change_request is not None: + _body_params = sample_type_fold_change_request + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/runs/blanksubtract/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_run_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + run_id: Annotated[StrictStr, Field(description="identifier of run to access.")], + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> Run: + """[EXPERIMENTAL] Get run with the given identifier from the specified project-space + + [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param run_id: identifier of run to access. (required) + :type run_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Run", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_run_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + run_id: Annotated[StrictStr, Field(description="identifier of run to access.")], + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[Run]: + """[EXPERIMENTAL] Get run with the given identifier from the specified project-space + + [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param run_id: identifier of run to access. (required) + :type run_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Run", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_run_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + run_id: Annotated[StrictStr, Field(description="identifier of run to access.")], + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get run with the given identifier from the specified project-space + + [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param run_id: identifier of run to access. (required) + :type run_id: str + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Run", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_run_experimental_serialize( + self, + project_id, + run_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/{runId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_run_page_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PagedModelRun: + """[EXPERIMENTAL] Get all available runs in the given project-space + + [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_run_page_experimental_serialize( + project_id=project_id, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_run_page_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PagedModelRun]: + """[EXPERIMENTAL] Get all available runs in the given project-space + + [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_run_page_experimental_serialize( + project_id=project_id, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_run_page_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get all available runs in the given project-space + + [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_run_page_experimental_serialize( + project_id=project_id, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_run_page_experimental_serialize( + self, + project_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_runs_by_group_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PagedModelRun: + """[EXPERIMENTAL] Get runs by tag group + + [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_runs_by_group_experimental_serialize( + project_id=project_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_runs_by_group_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PagedModelRun]: + """[EXPERIMENTAL] Get runs by tag group + + [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_runs_by_group_experimental_serialize( + project_id=project_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_runs_by_group_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="tag group name.")], + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get runs by tag group + + [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: tag group name. (required) + :type group_name: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_runs_by_group_experimental_serialize( + project_id=project_id, + group_name=group_name, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_runs_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_runs_by_tag_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PagedModelRun: + """[EXPERIMENTAL] Get runs by tag + + [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project space to get runs from. (required) + :type project_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_runs_by_tag_experimental_serialize( + project_id=project_id, + filter=filter, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_runs_by_tag_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PagedModelRun]: + """[EXPERIMENTAL] Get runs by tag + + [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project space to get runs from. (required) + :type project_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_runs_by_tag_experimental_serialize( + project_id=project_id, + filter=filter, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_runs_by_tag_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], + filter: Annotated[Optional[StrictStr], Field(description="tag filter.")] = None, + page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, + size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, + sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, + opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get runs by tag + + [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project space to get runs from. (required) + :type project_id: str + :param filter: tag filter. + :type filter: str + :param page: Zero-based page index (0..N) + :type page: int + :param size: The size of the page to be returned + :type size: int + :param sort: Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + :type sort: List[str] + :param opt_fields: set of optional fields to be included. Use 'none' only to override defaults. + :type opt_fields: List[RunOptField] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_runs_by_tag_experimental_serialize( + project_id=project_id, + filter=filter, + page=page, + size=size, + sort=sort, + opt_fields=opt_fields, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PagedModelRun", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_runs_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_tags_for_run_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="RunId to get tags for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[Tag]: + """[EXPERIMENTAL] Get all tags associated with this Run + + [EXPERIMENTAL] Get all tags associated with this Run + + :param project_id: project-space to get from. (required) + :type project_id: str + :param object_id: RunId to get tags for. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_for_run_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_tags_for_run_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="RunId to get tags for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[Tag]]: + """[EXPERIMENTAL] Get all tags associated with this Run + + [EXPERIMENTAL] Get all tags associated with this Run + + :param project_id: project-space to get from. (required) + :type project_id: str + :param object_id: RunId to get tags for. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_for_run_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_tags_for_run_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to get from.")], + object_id: Annotated[StrictStr, Field(description="RunId to get tags for.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get all tags associated with this Run + + [EXPERIMENTAL] Get all tags associated with this Run + + :param project_id: project-space to get from. (required) + :type project_id: str + :param object_id: RunId to get tags for. (required) + :type object_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_for_run_experimental_serialize( + project_id=project_id, + object_id=object_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[Tag]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_run_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def remove_tag_from_run_experimental( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + run_id: Annotated[StrictStr, Field(description="run to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + + [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param run_id: run to delete tag from. (required) + :type run_id: str + :param tag_name: name of the tag to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_tag_from_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def remove_tag_from_run_experimental_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + run_id: Annotated[StrictStr, Field(description="run to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + + [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param run_id: run to delete tag from. (required) + :type run_id: str + :param tag_name: name of the tag to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_tag_from_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def remove_tag_from_run_experimental_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + run_id: Annotated[StrictStr, Field(description="run to delete tag from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + + [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param run_id: run to delete tag from. (required) + :type run_id: str + :param tag_name: name of the tag to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_tag_from_run_experimental_serialize( + project_id=project_id, + run_id=run_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_run_experimental_serialize( + self, + project_id, + run_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/runs/tags/{runId}/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/searchable_databases_api.py b/client-api_python/generated/PySirius/api/searchable_databases_api.py index aa2d5177..636c5979 100644 --- a/client-api_python/generated/PySirius/api/searchable_databases_api.py +++ b/client-api_python/generated/PySirius/api/searchable_databases_api.py @@ -17,6 +17,7 @@ from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator from typing import List, Optional, Tuple, Union from typing_extensions import Annotated +from PySirius.models.bio_transformer_parameters import BioTransformerParameters from PySirius.models.searchable_database import SearchableDatabase from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters @@ -1668,8 +1669,9 @@ def _get_included_databases_serialize( def import_into_database( self, database_id: Annotated[StrictStr, Field(description="database to import into")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to be imported")], buffer_size: Optional[StrictInt] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, + bio_transformer_parameters: Annotated[Optional[BioTransformerParameters], Field(description="configuration for biotransformer execution. If null, BioTransformer is not applied.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1689,10 +1691,12 @@ def import_into_database( :param database_id: database to import into (required) :type database_id: str + :param input_files: files to be imported (required) + :type input_files: List[bytearray] :param buffer_size: :type buffer_size: int - :param input_files: - :type input_files: List[bytearray] + :param bio_transformer_parameters: configuration for biotransformer execution. If null, BioTransformer is not applied. + :type bio_transformer_parameters: BioTransformerParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1717,8 +1721,9 @@ def import_into_database( _param = self._import_into_database_serialize( database_id=database_id, - buffer_size=buffer_size, input_files=input_files, + buffer_size=buffer_size, + bio_transformer_parameters=bio_transformer_parameters, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1743,8 +1748,9 @@ def import_into_database( def import_into_database_with_http_info( self, database_id: Annotated[StrictStr, Field(description="database to import into")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to be imported")], buffer_size: Optional[StrictInt] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, + bio_transformer_parameters: Annotated[Optional[BioTransformerParameters], Field(description="configuration for biotransformer execution. If null, BioTransformer is not applied.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1764,10 +1770,12 @@ def import_into_database_with_http_info( :param database_id: database to import into (required) :type database_id: str + :param input_files: files to be imported (required) + :type input_files: List[bytearray] :param buffer_size: :type buffer_size: int - :param input_files: - :type input_files: List[bytearray] + :param bio_transformer_parameters: configuration for biotransformer execution. If null, BioTransformer is not applied. + :type bio_transformer_parameters: BioTransformerParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1792,8 +1800,9 @@ def import_into_database_with_http_info( _param = self._import_into_database_serialize( database_id=database_id, - buffer_size=buffer_size, input_files=input_files, + buffer_size=buffer_size, + bio_transformer_parameters=bio_transformer_parameters, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1818,8 +1827,9 @@ def import_into_database_with_http_info( def import_into_database_without_preload_content( self, database_id: Annotated[StrictStr, Field(description="database to import into")], + input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to be imported")], buffer_size: Optional[StrictInt] = None, - input_files: Optional[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]]] = None, + bio_transformer_parameters: Annotated[Optional[BioTransformerParameters], Field(description="configuration for biotransformer execution. If null, BioTransformer is not applied.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1839,10 +1849,12 @@ def import_into_database_without_preload_content( :param database_id: database to import into (required) :type database_id: str + :param input_files: files to be imported (required) + :type input_files: List[bytearray] :param buffer_size: :type buffer_size: int - :param input_files: - :type input_files: List[bytearray] + :param bio_transformer_parameters: configuration for biotransformer execution. If null, BioTransformer is not applied. + :type bio_transformer_parameters: BioTransformerParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1867,8 +1879,9 @@ def import_into_database_without_preload_content( _param = self._import_into_database_serialize( database_id=database_id, - buffer_size=buffer_size, input_files=input_files, + buffer_size=buffer_size, + bio_transformer_parameters=bio_transformer_parameters, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1888,8 +1901,9 @@ def import_into_database_without_preload_content( def _import_into_database_serialize( self, database_id, - buffer_size, input_files, + buffer_size, + bio_transformer_parameters, _request_auth, _content_type, _headers, @@ -1921,6 +1935,8 @@ def _import_into_database_serialize( # process the form parameters if input_files is not None: _files['inputFiles'] = input_files + if bio_transformer_parameters is not None: + _form_params.append(('bioTransformerParameters', bio_transformer_parameters)) # process the body parameter diff --git a/client-api_python/generated/PySirius/api/tags_api.py b/client-api_python/generated/PySirius/api/tags_api.py new file mode 100644 index 00000000..cba51a07 --- /dev/null +++ b/client-api_python/generated/PySirius/api/tags_api.py @@ -0,0 +1,2556 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, List, Optional +from typing_extensions import Annotated +from PySirius.models.tag_definition import TagDefinition +from PySirius.models.tag_definition_import import TagDefinitionImport +from PySirius.models.tag_group import TagGroup + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class TagsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def add_group( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + group_name: Annotated[StrictStr, Field(description="name of the new group")], + filter: Annotated[StrictStr, Field(description="filter query to create the group")], + type: Annotated[StrictStr, Field(description="type of the group")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagGroup: + """[EXPERIMENTAL] Group tags in the project + + [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param group_name: name of the new group (required) + :type group_name: str + :param filter: filter query to create the group (required) + :type filter: str + :param type: type of the group (required) + :type type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_group_serialize( + project_id=project_id, + group_name=group_name, + filter=filter, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagGroup", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def add_group_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + group_name: Annotated[StrictStr, Field(description="name of the new group")], + filter: Annotated[StrictStr, Field(description="filter query to create the group")], + type: Annotated[StrictStr, Field(description="type of the group")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagGroup]: + """[EXPERIMENTAL] Group tags in the project + + [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param group_name: name of the new group (required) + :type group_name: str + :param filter: filter query to create the group (required) + :type filter: str + :param type: type of the group (required) + :type type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_group_serialize( + project_id=project_id, + group_name=group_name, + filter=filter, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagGroup", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def add_group_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + group_name: Annotated[StrictStr, Field(description="name of the new group")], + filter: Annotated[StrictStr, Field(description="filter query to create the group")], + type: Annotated[StrictStr, Field(description="type of the group")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Group tags in the project + + [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param group_name: name of the new group (required) + :type group_name: str + :param filter: filter query to create the group (required) + :type filter: str + :param type: type of the group (required) + :type type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_group_serialize( + project_id=project_id, + group_name=group_name, + filter=filter, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagGroup", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_group_serialize( + self, + project_id, + group_name, + filter, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if type is not None: + + _query_params.append(('type', type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def add_possible_values_to_tag_definition( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + tag_name: Annotated[StrictStr, Field(description="the tag definition to add the values to")], + request_body: List[Any], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagDefinition: + """[EXPERIMENTAL] Add a possible value to the tag definition in the project + + [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param tag_name: the tag definition to add the values to (required) + :type tag_name: str + :param request_body: (required) + :type request_body: List[object] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_possible_values_to_tag_definition_serialize( + project_id=project_id, + tag_name=tag_name, + request_body=request_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagDefinition", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def add_possible_values_to_tag_definition_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + tag_name: Annotated[StrictStr, Field(description="the tag definition to add the values to")], + request_body: List[Any], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagDefinition]: + """[EXPERIMENTAL] Add a possible value to the tag definition in the project + + [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param tag_name: the tag definition to add the values to (required) + :type tag_name: str + :param request_body: (required) + :type request_body: List[object] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_possible_values_to_tag_definition_serialize( + project_id=project_id, + tag_name=tag_name, + request_body=request_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagDefinition", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def add_possible_values_to_tag_definition_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + tag_name: Annotated[StrictStr, Field(description="the tag definition to add the values to")], + request_body: List[Any], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Add a possible value to the tag definition in the project + + [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param tag_name: the tag definition to add the values to (required) + :type tag_name: str + :param request_body: (required) + :type request_body: List[object] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_possible_values_to_tag_definition_serialize( + project_id=project_id, + tag_name=tag_name, + request_body=request_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagDefinition", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_possible_values_to_tag_definition_serialize( + self, + project_id, + tag_name, + request_body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_tags( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + tag_definition_import: Annotated[List[TagDefinitionImport], Field(description="the tag definitions to be created")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[TagDefinition]: + """[EXPERIMENTAL] Add tags to the project + + [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param tag_definition_import: the tag definitions to be created (required) + :type tag_definition_import: List[TagDefinitionImport] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_tags_serialize( + project_id=project_id, + tag_definition_import=tag_definition_import, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagDefinition]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_tags_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + tag_definition_import: Annotated[List[TagDefinitionImport], Field(description="the tag definitions to be created")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[TagDefinition]]: + """[EXPERIMENTAL] Add tags to the project + + [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param tag_definition_import: the tag definitions to be created (required) + :type tag_definition_import: List[TagDefinitionImport] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_tags_serialize( + project_id=project_id, + tag_definition_import=tag_definition_import, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagDefinition]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_tags_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to add to.")], + tag_definition_import: Annotated[List[TagDefinitionImport], Field(description="the tag definitions to be created")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Add tags to the project + + [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to add to. (required) + :type project_id: str + :param tag_definition_import: the tag definitions to be created (required) + :type tag_definition_import: List[TagDefinitionImport] + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_tags_serialize( + project_id=project_id, + tag_definition_import=tag_definition_import, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagDefinition]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_tags_serialize( + self, + project_id, + tag_definition_import, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'TagDefinitionImport': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag_definition_import is not None: + _body_params = tag_definition_import + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_group( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="name of group to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + + [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: name of group to delete. (required) + :type group_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_group_serialize( + project_id=project_id, + group_name=group_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_group_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="name of group to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + + [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: name of group to delete. (required) + :type group_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_group_serialize( + project_id=project_id, + group_name=group_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_group_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + group_name: Annotated[StrictStr, Field(description="name of group to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + + [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param group_name: name of group to delete. (required) + :type group_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_group_serialize( + project_id=project_id, + group_name=group_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_group_serialize( + self, + project_id, + group_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_tag( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag definition to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + + [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param tag_name: name of the tag definition to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_tag_serialize( + project_id=project_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_tag_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag definition to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + + [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param tag_name: name of the tag definition to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_tag_serialize( + project_id=project_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_tag_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag definition to delete.")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + + [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to delete from. (required) + :type project_id: str + :param tag_name: name of the tag definition to delete. (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_tag_serialize( + project_id=project_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_tag_serialize( + self, + project_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_group_by_name( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + group_name: Annotated[StrictStr, Field(description="name of the group")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagGroup: + """[EXPERIMENTAL] Get tag group by name in the given project-space + + [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param group_name: name of the group (required) + :type group_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_group_by_name_serialize( + project_id=project_id, + group_name=group_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagGroup", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_group_by_name_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + group_name: Annotated[StrictStr, Field(description="name of the group")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagGroup]: + """[EXPERIMENTAL] Get tag group by name in the given project-space + + [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param group_name: name of the group (required) + :type group_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_group_by_name_serialize( + project_id=project_id, + group_name=group_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagGroup", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_group_by_name_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + group_name: Annotated[StrictStr, Field(description="name of the group")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get tag group by name in the given project-space + + [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param group_name: name of the group (required) + :type group_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_group_by_name_serialize( + project_id=project_id, + group_name=group_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagGroup", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_group_by_name_serialize( + self, + project_id, + group_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_groups( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + group_type: Annotated[Optional[StrictStr], Field(description="type of the group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[TagGroup]: + """[EXPERIMENTAL] Get all tag based groups in the given project-space + + [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param group_type: type of the group + :type group_type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_groups_serialize( + project_id=project_id, + group_type=group_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagGroup]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_groups_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + group_type: Annotated[Optional[StrictStr], Field(description="type of the group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[TagGroup]]: + """[EXPERIMENTAL] Get all tag based groups in the given project-space + + [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param group_type: type of the group + :type group_type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_groups_serialize( + project_id=project_id, + group_type=group_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagGroup]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_groups_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + group_type: Annotated[Optional[StrictStr], Field(description="type of the group")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get all tag based groups in the given project-space + + [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param group_type: type of the group + :type group_type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_groups_serialize( + project_id=project_id, + group_type=group_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagGroup]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_groups_serialize( + self, + project_id, + group_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_type is not None: + + _query_params.append(('groupType', group_type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/groups', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_tag( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagDefinition: + """[EXPERIMENTAL] Get tag definition by its name in the given project-space + + [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param tag_name: name of the tag (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tag_serialize( + project_id=project_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagDefinition", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_tag_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagDefinition]: + """[EXPERIMENTAL] Get tag definition by its name in the given project-space + + [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param tag_name: name of the tag (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tag_serialize( + project_id=project_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagDefinition", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_tag_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + tag_name: Annotated[StrictStr, Field(description="name of the tag")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get tag definition by its name in the given project-space + + [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param tag_name: name of the tag (required) + :type tag_name: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tag_serialize( + project_id=project_id, + tag_name=tag_name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagDefinition", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tag_serialize( + self, + project_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_tags( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + tag_type: Annotated[Optional[StrictStr], Field(description="scope of the tag (optional)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[TagDefinition]: + """[EXPERIMENTAL] Get all tag definitions in the given project-space + + [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param tag_type: scope of the tag (optional) + :type tag_type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_serialize( + project_id=project_id, + tag_type=tag_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagDefinition]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_tags_with_http_info( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + tag_type: Annotated[Optional[StrictStr], Field(description="scope of the tag (optional)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[TagDefinition]]: + """[EXPERIMENTAL] Get all tag definitions in the given project-space + + [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param tag_type: scope of the tag (optional) + :type tag_type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_serialize( + project_id=project_id, + tag_type=tag_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagDefinition]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_tags_without_preload_content( + self, + project_id: Annotated[StrictStr, Field(description="project-space to read from.")], + tag_type: Annotated[Optional[StrictStr], Field(description="scope of the tag (optional)")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """[EXPERIMENTAL] Get all tag definitions in the given project-space + + [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + + :param project_id: project-space to read from. (required) + :type project_id: str + :param tag_type: scope of the tag (optional) + :type tag_type: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_serialize( + project_id=project_id, + tag_type=tag_type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[TagDefinition]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_serialize( + self, + project_id, + tag_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if tag_type is not None: + + _query_params.append(('tagType', tag_type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/models/__init__.py b/client-api_python/generated/PySirius/models/__init__.py index 0190fb57..f128526f 100644 --- a/client-api_python/generated/PySirius/models/__init__.py +++ b/client-api_python/generated/PySirius/models/__init__.py @@ -17,16 +17,21 @@ from PySirius.models.adduct_edge_experimental import AdductEdgeExperimental from PySirius.models.adduct_network_experimental import AdductNetworkExperimental from PySirius.models.adduct_node_experimental import AdductNodeExperimental +from PySirius.models.aggregation_type import AggregationType from PySirius.models.aligned_feature import AlignedFeature from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental +from PySirius.models.allowed_features import AllowedFeatures from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData from PySirius.models.annotated_peak import AnnotatedPeak from PySirius.models.annotated_spectrum import AnnotatedSpectrum +from PySirius.models.api_version import ApiVersion from PySirius.models.axes import Axes from PySirius.models.background_computations_state_event import BackgroundComputationsStateEvent from PySirius.models.basic_spectrum import BasicSpectrum from PySirius.models.binary_fingerprint import BinaryFingerprint +from PySirius.models.bio_transformer_parameters import BioTransformerParameters +from PySirius.models.bio_transformer_sequence_step import BioTransformerSequenceStep from PySirius.models.canopus import Canopus from PySirius.models.canopus_prediction import CanopusPrediction from PySirius.models.category import Category @@ -46,6 +51,7 @@ from PySirius.models.consensus_annotations_de_novo import ConsensusAnnotationsDeNovo from PySirius.models.consensus_criterion_csi import ConsensusCriterionCSI from PySirius.models.consensus_criterion_de_novo import ConsensusCriterionDeNovo +from PySirius.models.cyp450_mode import Cyp450Mode from PySirius.models.db_link import DBLink from PySirius.models.data_import_event import DataImportEvent from PySirius.models.data_quality import DataQuality @@ -53,11 +59,11 @@ from PySirius.models.feature_annotations import FeatureAnnotations from PySirius.models.feature_import import FeatureImport from PySirius.models.fingerprint_prediction import FingerprintPrediction +from PySirius.models.fold_change import FoldChange from PySirius.models.formula_candidate import FormulaCandidate from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField from PySirius.models.fragment_node import FragmentNode from PySirius.models.fragmentation_tree import FragmentationTree -from PySirius.models.gui_info import GuiInfo from PySirius.models.import_result import ImportResult from PySirius.models.info import Info from PySirius.models.instrument_profile import InstrumentProfile @@ -73,18 +79,22 @@ from PySirius.models.license_info import LicenseInfo from PySirius.models.lipid_annotation import LipidAnnotation from PySirius.models.loss_edge import LossEdge +from PySirius.models.metabolic_transformation import MetabolicTransformation from PySirius.models.ms_data import MsData from PySirius.models.ms_novelist import MsNovelist +from PySirius.models.p2_mode import P2Mode from PySirius.models.page_metadata import PageMetadata from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature from PySirius.models.paged_model_compound import PagedModelCompound from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate from PySirius.models.paged_model_job import PagedModelJob +from PySirius.models.paged_model_run import PagedModelRun from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored from PySirius.models.parent_peak import ParentPeak from PySirius.models.peak_annotation import PeakAnnotation +from PySirius.models.peak_pair import PeakPair from PySirius.models.project_change_event import ProjectChangeEvent from PySirius.models.project_event_type import ProjectEventType from PySirius.models.project_info import ProjectInfo @@ -92,12 +102,16 @@ from PySirius.models.project_type import ProjectType from PySirius.models.quality_item import QualityItem from PySirius.models.quality_weight import QualityWeight -from PySirius.models.quantification_column_type import QuantificationColumnType -from PySirius.models.quantification_measure import QuantificationMeasure -from PySirius.models.quantification_row_type import QuantificationRowType -from PySirius.models.quantification_table_experimental import QuantificationTableExperimental +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_row_type import QuantRowType +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.models.run import Run +from PySirius.models.run_opt_field import RunOptField +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest from PySirius.models.searchable_database import SearchableDatabase from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters +from PySirius.models.security_context import SecurityContext +from PySirius.models.security_context_principal import SecurityContextPrincipal from PySirius.models.simple_peak import SimplePeak from PySirius.models.sirius import Sirius from PySirius.models.solver import Solver @@ -105,8 +119,12 @@ from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary from PySirius.models.spectral_library_search import SpectralLibrarySearch +from PySirius.models.spectral_match_type import SpectralMatchType from PySirius.models.spectral_matching_type import SpectralMatchingType from PySirius.models.spectrum_annotation import SpectrumAnnotation +from PySirius.models.spectrum_type import SpectrumType +from PySirius.models.statistics_table import StatisticsTable +from PySirius.models.statistics_type import StatisticsType from PySirius.models.stored_job_submission import StoredJobSubmission from PySirius.models.structure_candidate import StructureCandidate from PySirius.models.structure_candidate_formula import StructureCandidateFormula @@ -115,6 +133,10 @@ from PySirius.models.structure_db_search import StructureDbSearch from PySirius.models.subscription import Subscription from PySirius.models.subscription_consumables import SubscriptionConsumables +from PySirius.models.tag import Tag +from PySirius.models.tag_definition import TagDefinition +from PySirius.models.tag_definition_import import TagDefinitionImport +from PySirius.models.tag_group import TagGroup from PySirius.models.term import Term from PySirius.models.timeout import Timeout from PySirius.models.trace_annotation_experimental import TraceAnnotationExperimental @@ -122,6 +144,10 @@ from PySirius.models.trace_experimental import TraceExperimental from PySirius.models.trace_set_experimental import TraceSetExperimental from PySirius.models.use_heuristic import UseHeuristic +from PySirius.models.value_type import ValueType +from PySirius.models.web_server_namespace import WebServerNamespace from PySirius.models.zodiac import Zodiac +from PySirius.models.zodiac_analogue_nodes import ZodiacAnalogueNodes from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds from PySirius.models.zodiac_epochs import ZodiacEpochs +from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring diff --git a/client-api_python/generated/PySirius/models/account_credentials.py b/client-api_python/generated/PySirius/models/account_credentials.py index 2200eb83..a24d8ca8 100644 --- a/client-api_python/generated/PySirius/models/account_credentials.py +++ b/client-api_python/generated/PySirius/models/account_credentials.py @@ -68,21 +68,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if username (nullable) is None - # and model_fields_set contains the field - if self.username is None and "username" in self.model_fields_set: - _dict['username'] = None - - # set to None if password (nullable) is None - # and model_fields_set contains the field - if self.password is None and "password" in self.model_fields_set: - _dict['password'] = None - - # set to None if refresh_token (nullable) is None - # and model_fields_set contains the field - if self.refresh_token is None and "refresh_token" in self.model_fields_set: - _dict['refreshToken'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/account_info.py b/client-api_python/generated/PySirius/models/account_info.py index 1686ad45..bd467df1 100644 --- a/client-api_python/generated/PySirius/models/account_info.py +++ b/client-api_python/generated/PySirius/models/account_info.py @@ -79,21 +79,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_subscriptions: _items.append(_item_subscriptions.to_dict()) _dict['subscriptions'] = _items - # set to None if username (nullable) is None - # and model_fields_set contains the field - if self.username is None and "username" in self.model_fields_set: - _dict['username'] = None - - # set to None if gravatar_url (nullable) is None - # and model_fields_set contains the field - if self.gravatar_url is None and "gravatar_url" in self.model_fields_set: - _dict['gravatarURL'] = None - - # set to None if active_subscription_id (nullable) is None - # and model_fields_set contains the field - if self.active_subscription_id is None and "active_subscription_id" in self.model_fields_set: - _dict['activeSubscriptionId'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/quantification_measure.py b/client-api_python/generated/PySirius/models/aggregation_type.py similarity index 71% rename from client-api_python/generated/PySirius/models/quantification_measure.py rename to client-api_python/generated/PySirius/models/aggregation_type.py index da63cd12..f22d6cfa 100644 --- a/client-api_python/generated/PySirius/models/quantification_measure.py +++ b/client-api_python/generated/PySirius/models/aggregation_type.py @@ -16,19 +16,21 @@ from typing_extensions import Self -class QuantificationMeasure(str, Enum): +class AggregationType(str, Enum): """ - QuantificationMeasure + AggregationType """ """ allowed enum values """ - APEX_HEIGHT = 'APEX_HEIGHT' + AVG = 'AVG' + MIN = 'MIN' + MAX = 'MAX' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of QuantificationMeasure from a JSON string""" + """Create an instance of AggregationType from a JSON string""" return cls(json.loads(json_str)) diff --git a/client-api_python/generated/PySirius/models/aligned_feature.py b/client-api_python/generated/PySirius/models/aligned_feature.py index 1af392d8..87bda34a 100644 --- a/client-api_python/generated/PySirius/models/aligned_feature.py +++ b/client-api_python/generated/PySirius/models/aligned_feature.py @@ -21,6 +21,7 @@ from PySirius.models.data_quality import DataQuality from PySirius.models.feature_annotations import FeatureAnnotations from PySirius.models.ms_data import MsData +from PySirius.models.tag import Tag from typing import Optional, Set from typing_extensions import Self @@ -38,15 +39,16 @@ class AlignedFeature(BaseModel): rt_start_seconds: Optional[float] = Field(default=None, alias="rtStartSeconds") rt_end_seconds: Optional[float] = Field(default=None, alias="rtEndSeconds") rt_apex_seconds: Optional[float] = Field(default=None, alias="rtApexSeconds") - quality: Optional[DataQuality] = None + quality: Optional[DataQuality] = Field(default=None, description="Quality of this feature.") has_ms1: Optional[StrictBool] = Field(default=None, description="If true, the feature has at lease one MS1 spectrum", alias="hasMs1") has_ms_ms: Optional[StrictBool] = Field(default=None, description="If true, the feature has at lease one MS/MS spectrum", alias="hasMsMs") - ms_data: Optional[MsData] = Field(default=None, alias="msData") - top_annotations: Optional[FeatureAnnotations] = Field(default=None, alias="topAnnotations") - top_annotations_de_novo: Optional[FeatureAnnotations] = Field(default=None, alias="topAnnotationsDeNovo") + ms_data: Optional[MsData] = Field(default=None, description="Mass Spec data of this feature (input data)", alias="msData") + top_annotations: Optional[FeatureAnnotations] = Field(default=None, description="Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise.", alias="topAnnotations") + top_annotations_de_novo: Optional[FeatureAnnotations] = Field(default=None, description="Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise.", alias="topAnnotationsDeNovo") computing: Optional[StrictBool] = Field(default=None, description="Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results") - computed_tools: Optional[ComputedSubtools] = Field(default=None, alias="computedTools") - __properties: ClassVar[List[str]] = ["alignedFeatureId", "compoundId", "name", "externalFeatureId", "ionMass", "charge", "detectedAdducts", "rtStartSeconds", "rtEndSeconds", "rtApexSeconds", "quality", "hasMs1", "hasMsMs", "msData", "topAnnotations", "topAnnotationsDeNovo", "computing", "computedTools"] + computed_tools: Optional[ComputedSubtools] = Field(default=None, description="Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.", alias="computedTools") + tags: Optional[Dict[str, Tag]] = Field(default=None, description="Key: tagName, value: tag") + __properties: ClassVar[List[str]] = ["alignedFeatureId", "compoundId", "name", "externalFeatureId", "ionMass", "charge", "detectedAdducts", "rtStartSeconds", "rtEndSeconds", "rtApexSeconds", "quality", "hasMs1", "hasMsMs", "msData", "topAnnotations", "topAnnotationsDeNovo", "computing", "computedTools", "tags"] model_config = ConfigDict( populate_by_name=True, @@ -99,46 +101,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of computed_tools if self.computed_tools: _dict['computedTools'] = self.computed_tools.to_dict() - # set to None if rt_start_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_start_seconds is None and "rt_start_seconds" in self.model_fields_set: - _dict['rtStartSeconds'] = None - - # set to None if rt_end_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_end_seconds is None and "rt_end_seconds" in self.model_fields_set: - _dict['rtEndSeconds'] = None - - # set to None if rt_apex_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_apex_seconds is None and "rt_apex_seconds" in self.model_fields_set: - _dict['rtApexSeconds'] = None - - # set to None if quality (nullable) is None - # and model_fields_set contains the field - if self.quality is None and "quality" in self.model_fields_set: - _dict['quality'] = None - - # set to None if ms_data (nullable) is None - # and model_fields_set contains the field - if self.ms_data is None and "ms_data" in self.model_fields_set: - _dict['msData'] = None - - # set to None if top_annotations (nullable) is None - # and model_fields_set contains the field - if self.top_annotations is None and "top_annotations" in self.model_fields_set: - _dict['topAnnotations'] = None - - # set to None if top_annotations_de_novo (nullable) is None - # and model_fields_set contains the field - if self.top_annotations_de_novo is None and "top_annotations_de_novo" in self.model_fields_set: - _dict['topAnnotationsDeNovo'] = None - - # set to None if computed_tools (nullable) is None - # and model_fields_set contains the field - if self.computed_tools is None and "computed_tools" in self.model_fields_set: - _dict['computedTools'] = None - + # override the default output from pydantic by calling `to_dict()` of each value in tags (dict) + _field_dict = {} + if self.tags: + for _key_tags in self.tags: + if self.tags[_key_tags]: + _field_dict[_key_tags] = self.tags[_key_tags].to_dict() + _dict['tags'] = _field_dict return _dict @classmethod @@ -168,7 +137,13 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "topAnnotations": FeatureAnnotations.from_dict(obj["topAnnotations"]) if obj.get("topAnnotations") is not None else None, "topAnnotationsDeNovo": FeatureAnnotations.from_dict(obj["topAnnotationsDeNovo"]) if obj.get("topAnnotationsDeNovo") is not None else None, "computing": obj.get("computing"), - "computedTools": ComputedSubtools.from_dict(obj["computedTools"]) if obj.get("computedTools") is not None else None + "computedTools": ComputedSubtools.from_dict(obj["computedTools"]) if obj.get("computedTools") is not None else None, + "tags": dict( + (_k, Tag.from_dict(_v)) + for _k, _v in obj["tags"].items() + ) + if obj.get("tags") is not None + else None }) return _obj diff --git a/client-api_python/generated/PySirius/models/aligned_feature_opt_field.py b/client-api_python/generated/PySirius/models/aligned_feature_opt_field.py index 6ea3ef12..3ad839a0 100644 --- a/client-api_python/generated/PySirius/models/aligned_feature_opt_field.py +++ b/client-api_python/generated/PySirius/models/aligned_feature_opt_field.py @@ -26,9 +26,11 @@ class AlignedFeatureOptField(str, Enum): """ NONE = 'none' MSDATA = 'msData' + TOPANNOTATIONSSUMMARY = 'topAnnotationsSummary' TOPANNOTATIONS = 'topAnnotations' TOPANNOTATIONSDENOVO = 'topAnnotationsDeNovo' COMPUTEDTOOLS = 'computedTools' + TAGS = 'tags' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py b/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py index 39577290..c29201b6 100644 --- a/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py +++ b/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py @@ -16,7 +16,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List from PySirius.models.category import Category from PySirius.models.data_quality import DataQuality from typing import Optional, Set @@ -27,7 +27,7 @@ class AlignedFeatureQualityExperimental(BaseModel): EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. """ # noqa: E501 aligned_feature_id: StrictStr = Field(description="Id of the feature (aligned over runs) this quality information belongs to.", alias="alignedFeatureId") - overall_quality: Optional[DataQuality] = Field(alias="overallQuality") + overall_quality: DataQuality = Field(description="Overall Quality", alias="overallQuality") categories: Dict[str, Category] = Field(description="Contains all pre-computation quality information that belong to this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,") __properties: ClassVar[List[str]] = ["alignedFeatureId", "overallQuality", "categories"] @@ -77,11 +77,6 @@ def to_dict(self) -> Dict[str, Any]: if self.categories[_key_categories]: _field_dict[_key_categories] = self.categories[_key_categories].to_dict() _dict['categories'] = _field_dict - # set to None if overall_quality (nullable) is None - # and model_fields_set contains the field - if self.overall_quality is None and "overall_quality" in self.model_fields_set: - _dict['overallQuality'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/allowed_features.py b/client-api_python/generated/PySirius/models/allowed_features.py new file mode 100644 index 00000000..3690dc92 --- /dev/null +++ b/client-api_python/generated/PySirius/models/allowed_features.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AllowedFeatures(BaseModel): + """ + AllowedFeatures + """ # noqa: E501 + cli: Optional[StrictBool] = None + api: Optional[StrictBool] = None + de_novo: Optional[StrictBool] = Field(default=None, alias="deNovo") + import_ms_runs: Optional[StrictBool] = Field(default=None, alias="importMSRuns") + import_peak_lists: Optional[StrictBool] = Field(default=None, alias="importPeakLists") + import_cef: Optional[StrictBool] = Field(default=None, alias="importCef") + __properties: ClassVar[List[str]] = ["cli", "api", "deNovo", "importMSRuns", "importPeakLists", "importCef"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AllowedFeatures from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllowedFeatures from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cli": obj.get("cli"), + "api": obj.get("api"), + "deNovo": obj.get("deNovo"), + "importMSRuns": obj.get("importMSRuns"), + "importPeakLists": obj.get("importPeakLists"), + "importCef": obj.get("importCef") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py b/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py index 0b5a6d08..10f6e022 100644 --- a/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py +++ b/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py @@ -16,7 +16,7 @@ import json from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List from PySirius.models.annotated_spectrum import AnnotatedSpectrum from typing import Optional, Set from typing_extensions import Self @@ -25,8 +25,8 @@ class AnnotatedMsMsData(BaseModel): """ AnnotatedMsMsData """ # noqa: E501 - merged_ms2: Optional[AnnotatedSpectrum] = Field(alias="mergedMs2") - ms2_spectra: List[Optional[AnnotatedSpectrum]] = Field(alias="ms2Spectra") + merged_ms2: AnnotatedSpectrum = Field(alias="mergedMs2") + ms2_spectra: List[AnnotatedSpectrum] = Field(alias="ms2Spectra") __properties: ClassVar[List[str]] = ["mergedMs2", "ms2Spectra"] model_config = ConfigDict( @@ -78,11 +78,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_ms2_spectra: _items.append(_item_ms2_spectra.to_dict()) _dict['ms2Spectra'] = _items - # set to None if merged_ms2 (nullable) is None - # and model_fields_set contains the field - if self.merged_ms2 is None and "merged_ms2" in self.model_fields_set: - _dict['mergedMs2'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/annotated_peak.py b/client-api_python/generated/PySirius/models/annotated_peak.py index 991f4654..083c3d08 100644 --- a/client-api_python/generated/PySirius/models/annotated_peak.py +++ b/client-api_python/generated/PySirius/models/annotated_peak.py @@ -72,11 +72,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of peak_annotation if self.peak_annotation: _dict['peakAnnotation'] = self.peak_annotation.to_dict() - # set to None if peak_annotation (nullable) is None - # and model_fields_set contains the field - if self.peak_annotation is None and "peak_annotation" in self.model_fields_set: - _dict['peakAnnotation'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/annotated_spectrum.py b/client-api_python/generated/PySirius/models/annotated_spectrum.py index 08aa4647..e810b4ac 100644 --- a/client-api_python/generated/PySirius/models/annotated_spectrum.py +++ b/client-api_python/generated/PySirius/models/annotated_spectrum.py @@ -15,9 +15,10 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from PySirius.models.annotated_peak import AnnotatedPeak +from PySirius.models.simple_peak import SimplePeak from PySirius.models.spectrum_annotation import SpectrumAnnotation from typing import Optional, Set from typing_extensions import Self @@ -32,10 +33,16 @@ class AnnotatedSpectrum(BaseModel): instrument: Optional[StrictStr] = Field(default=None, description="Instrument information.") precursor_mz: Optional[float] = Field(default=None, description="Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable", alias="precursorMz") scan_number: Optional[StrictInt] = Field(default=None, description="Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", alias="scanNumber") + cosine_query: StrictBool = Field(description="True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", alias="cosineQuery") + precursor_peak: Optional[SimplePeak] = Field(default=None, description="A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.", alias="precursorPeak") peaks: List[AnnotatedPeak] = Field(description="The peaks of this spectrum which might contain additional annotations such as molecular formulas.") - abs_intensity_factor: Optional[float] = Field(default=None, description="Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)", alias="absIntensityFactor") - spectrum_annotation: Optional[SpectrumAnnotation] = Field(default=None, alias="spectrumAnnotation") - __properties: ClassVar[List[str]] = ["name", "msLevel", "collisionEnergy", "instrument", "precursorMz", "scanNumber", "peaks", "absIntensityFactor", "spectrumAnnotation"] + abs_intensity_factor: Optional[float] = Field(default=None, description="Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.", alias="absIntensityFactor") + max_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to MAX norm.", alias="maxNormFactor") + sum_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to SUM norm.", alias="sumNormFactor") + l2_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to L2 (Euclidean) norm.", alias="l2NormFactor") + first_peak_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to normalize intensities by first peak intensity.", alias="firstPeakNormFactor") + spectrum_annotation: Optional[SpectrumAnnotation] = Field(default=None, description="Optional Annotations of this spectrum.", alias="spectrumAnnotation") + __properties: ClassVar[List[str]] = ["name", "msLevel", "collisionEnergy", "instrument", "precursorMz", "scanNumber", "cosineQuery", "precursorPeak", "peaks", "absIntensityFactor", "maxNormFactor", "sumNormFactor", "l2NormFactor", "firstPeakNormFactor", "spectrumAnnotation"] model_config = ConfigDict( populate_by_name=True, @@ -76,6 +83,9 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of precursor_peak + if self.precursor_peak: + _dict['precursorPeak'] = self.precursor_peak.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in peaks (list) _items = [] if self.peaks: @@ -86,46 +96,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of spectrum_annotation if self.spectrum_annotation: _dict['spectrumAnnotation'] = self.spectrum_annotation.to_dict() - # set to None if name (nullable) is None - # and model_fields_set contains the field - if self.name is None and "name" in self.model_fields_set: - _dict['name'] = None - - # set to None if ms_level (nullable) is None - # and model_fields_set contains the field - if self.ms_level is None and "ms_level" in self.model_fields_set: - _dict['msLevel'] = None - - # set to None if collision_energy (nullable) is None - # and model_fields_set contains the field - if self.collision_energy is None and "collision_energy" in self.model_fields_set: - _dict['collisionEnergy'] = None - - # set to None if instrument (nullable) is None - # and model_fields_set contains the field - if self.instrument is None and "instrument" in self.model_fields_set: - _dict['instrument'] = None - - # set to None if precursor_mz (nullable) is None - # and model_fields_set contains the field - if self.precursor_mz is None and "precursor_mz" in self.model_fields_set: - _dict['precursorMz'] = None - - # set to None if scan_number (nullable) is None - # and model_fields_set contains the field - if self.scan_number is None and "scan_number" in self.model_fields_set: - _dict['scanNumber'] = None - - # set to None if abs_intensity_factor (nullable) is None - # and model_fields_set contains the field - if self.abs_intensity_factor is None and "abs_intensity_factor" in self.model_fields_set: - _dict['absIntensityFactor'] = None - - # set to None if spectrum_annotation (nullable) is None - # and model_fields_set contains the field - if self.spectrum_annotation is None and "spectrum_annotation" in self.model_fields_set: - _dict['spectrumAnnotation'] = None - return _dict @classmethod @@ -144,8 +114,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "instrument": obj.get("instrument"), "precursorMz": obj.get("precursorMz"), "scanNumber": obj.get("scanNumber"), + "cosineQuery": obj.get("cosineQuery") if obj.get("cosineQuery") is not None else False, + "precursorPeak": SimplePeak.from_dict(obj["precursorPeak"]) if obj.get("precursorPeak") is not None else None, "peaks": [AnnotatedPeak.from_dict(_item) for _item in obj["peaks"]] if obj.get("peaks") is not None else None, "absIntensityFactor": obj.get("absIntensityFactor"), + "maxNormFactor": obj.get("maxNormFactor"), + "sumNormFactor": obj.get("sumNormFactor"), + "l2NormFactor": obj.get("l2NormFactor"), + "firstPeakNormFactor": obj.get("firstPeakNormFactor"), "spectrumAnnotation": SpectrumAnnotation.from_dict(obj["spectrumAnnotation"]) if obj.get("spectrumAnnotation") is not None else None }) return _obj diff --git a/client-api_python/generated/PySirius/models/quantification_column_type.py b/client-api_python/generated/PySirius/models/api_version.py similarity index 71% rename from client-api_python/generated/PySirius/models/quantification_column_type.py rename to client-api_python/generated/PySirius/models/api_version.py index ad423db3..a84673dd 100644 --- a/client-api_python/generated/PySirius/models/quantification_column_type.py +++ b/client-api_python/generated/PySirius/models/api_version.py @@ -16,19 +16,20 @@ from typing_extensions import Self -class QuantificationColumnType(str, Enum): +class ApiVersion(str, Enum): """ - QuantificationColumnType + ApiVersion """ """ allowed enum values """ - SAMPLES = 'SAMPLES' + V2 = 'V2' + V3 = 'V3' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of QuantificationColumnType from a JSON string""" + """Create an instance of ApiVersion from a JSON string""" return cls(json.loads(json_str)) diff --git a/client-api_python/generated/PySirius/models/basic_spectrum.py b/client-api_python/generated/PySirius/models/basic_spectrum.py index 55c6f9d5..af42dfca 100644 --- a/client-api_python/generated/PySirius/models/basic_spectrum.py +++ b/client-api_python/generated/PySirius/models/basic_spectrum.py @@ -15,7 +15,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from PySirius.models.simple_peak import SimplePeak from typing import Optional, Set @@ -31,9 +31,15 @@ class BasicSpectrum(BaseModel): instrument: Optional[StrictStr] = Field(default=None, description="Instrument information.") precursor_mz: Optional[float] = Field(default=None, description="Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable", alias="precursorMz") scan_number: Optional[StrictInt] = Field(default=None, description="Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", alias="scanNumber") + cosine_query: StrictBool = Field(description="True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", alias="cosineQuery") + precursor_peak: Optional[SimplePeak] = Field(default=None, description="A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.", alias="precursorPeak") peaks: List[SimplePeak] = Field(description="The peaks of this spectrum which might contain additional annotations such as molecular formulas.") - abs_intensity_factor: Optional[float] = Field(default=None, description="Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)", alias="absIntensityFactor") - __properties: ClassVar[List[str]] = ["name", "msLevel", "collisionEnergy", "instrument", "precursorMz", "scanNumber", "peaks", "absIntensityFactor"] + abs_intensity_factor: Optional[float] = Field(default=None, description="Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.", alias="absIntensityFactor") + max_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to MAX norm.", alias="maxNormFactor") + sum_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to SUM norm.", alias="sumNormFactor") + l2_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to L2 (Euclidean) norm.", alias="l2NormFactor") + first_peak_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to normalize intensities by first peak intensity.", alias="firstPeakNormFactor") + __properties: ClassVar[List[str]] = ["name", "msLevel", "collisionEnergy", "instrument", "precursorMz", "scanNumber", "cosineQuery", "precursorPeak", "peaks", "absIntensityFactor", "maxNormFactor", "sumNormFactor", "l2NormFactor", "firstPeakNormFactor"] model_config = ConfigDict( populate_by_name=True, @@ -74,6 +80,9 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of precursor_peak + if self.precursor_peak: + _dict['precursorPeak'] = self.precursor_peak.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in peaks (list) _items = [] if self.peaks: @@ -81,41 +90,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_peaks: _items.append(_item_peaks.to_dict()) _dict['peaks'] = _items - # set to None if name (nullable) is None - # and model_fields_set contains the field - if self.name is None and "name" in self.model_fields_set: - _dict['name'] = None - - # set to None if ms_level (nullable) is None - # and model_fields_set contains the field - if self.ms_level is None and "ms_level" in self.model_fields_set: - _dict['msLevel'] = None - - # set to None if collision_energy (nullable) is None - # and model_fields_set contains the field - if self.collision_energy is None and "collision_energy" in self.model_fields_set: - _dict['collisionEnergy'] = None - - # set to None if instrument (nullable) is None - # and model_fields_set contains the field - if self.instrument is None and "instrument" in self.model_fields_set: - _dict['instrument'] = None - - # set to None if precursor_mz (nullable) is None - # and model_fields_set contains the field - if self.precursor_mz is None and "precursor_mz" in self.model_fields_set: - _dict['precursorMz'] = None - - # set to None if scan_number (nullable) is None - # and model_fields_set contains the field - if self.scan_number is None and "scan_number" in self.model_fields_set: - _dict['scanNumber'] = None - - # set to None if abs_intensity_factor (nullable) is None - # and model_fields_set contains the field - if self.abs_intensity_factor is None and "abs_intensity_factor" in self.model_fields_set: - _dict['absIntensityFactor'] = None - return _dict @classmethod @@ -134,8 +108,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "instrument": obj.get("instrument"), "precursorMz": obj.get("precursorMz"), "scanNumber": obj.get("scanNumber"), + "cosineQuery": obj.get("cosineQuery") if obj.get("cosineQuery") is not None else False, + "precursorPeak": SimplePeak.from_dict(obj["precursorPeak"]) if obj.get("precursorPeak") is not None else None, "peaks": [SimplePeak.from_dict(_item) for _item in obj["peaks"]] if obj.get("peaks") is not None else None, - "absIntensityFactor": obj.get("absIntensityFactor") + "absIntensityFactor": obj.get("absIntensityFactor"), + "maxNormFactor": obj.get("maxNormFactor"), + "sumNormFactor": obj.get("sumNormFactor"), + "l2NormFactor": obj.get("l2NormFactor"), + "firstPeakNormFactor": obj.get("firstPeakNormFactor") }) return _obj diff --git a/client-api_python/generated/PySirius/models/bio_transformer_parameters.py b/client-api_python/generated/PySirius/models/bio_transformer_parameters.py new file mode 100644 index 00000000..f8bbcfcd --- /dev/null +++ b/client-api_python/generated/PySirius/models/bio_transformer_parameters.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.bio_transformer_sequence_step import BioTransformerSequenceStep +from PySirius.models.cyp450_mode import Cyp450Mode +from PySirius.models.p2_mode import P2Mode +from typing import Optional, Set +from typing_extensions import Self + +class BioTransformerParameters(BaseModel): + """ + BioTransformerParameters + """ # noqa: E501 + cyp450_mode: Cyp450Mode = Field(description="Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode.", alias="cyp450Mode") + p2_mode: P2Mode = Field(description="Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode.", alias="p2Mode") + use_db: Optional[StrictBool] = Field(default=True, description="\"Specify if you want to enable the retrieving from database (HMDB) feature.\"", alias="useDB") + bio_transformer_sequence_steps: List[BioTransformerSequenceStep] = Field(description="Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one).", alias="bioTransformerSequenceSteps") + __properties: ClassVar[List[str]] = ["cyp450Mode", "p2Mode", "useDB", "bioTransformerSequenceSteps"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BioTransformerParameters from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in bio_transformer_sequence_steps (list) + _items = [] + if self.bio_transformer_sequence_steps: + for _item_bio_transformer_sequence_steps in self.bio_transformer_sequence_steps: + if _item_bio_transformer_sequence_steps: + _items.append(_item_bio_transformer_sequence_steps.to_dict()) + _dict['bioTransformerSequenceSteps'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BioTransformerParameters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cyp450Mode": obj.get("cyp450Mode"), + "p2Mode": obj.get("p2Mode"), + "useDB": obj.get("useDB") if obj.get("useDB") is not None else True, + "bioTransformerSequenceSteps": [BioTransformerSequenceStep.from_dict(_item) for _item in obj["bioTransformerSequenceSteps"]] if obj.get("bioTransformerSequenceSteps") is not None else None + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/bio_transformer_sequence_step.py b/client-api_python/generated/PySirius/models/bio_transformer_sequence_step.py new file mode 100644 index 00000000..45d5dbc2 --- /dev/null +++ b/client-api_python/generated/PySirius/models/bio_transformer_sequence_step.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.metabolic_transformation import MetabolicTransformation +from typing import Optional, Set +from typing_extensions import Self + +class BioTransformerSequenceStep(BaseModel): + """ + BioTransformerSequenceStep + """ # noqa: E501 + metabolic_transformation: Optional[MetabolicTransformation] = Field(default=None, alias="metabolicTransformation") + iterations: Optional[StrictInt] = None + __properties: ClassVar[List[str]] = ["metabolicTransformation", "iterations"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of BioTransformerSequenceStep from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BioTransformerSequenceStep from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "metabolicTransformation": obj.get("metabolicTransformation"), + "iterations": obj.get("iterations") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/canopus_prediction.py b/client-api_python/generated/PySirius/models/canopus_prediction.py index 7d4ad3ba..2586e26d 100644 --- a/client-api_python/generated/PySirius/models/canopus_prediction.py +++ b/client-api_python/generated/PySirius/models/canopus_prediction.py @@ -25,8 +25,8 @@ class CanopusPrediction(BaseModel): """ Container class that holds the CANOPUS compound class predictions for alle predictable compound classes. This is the full CANOPUS result. """ # noqa: E501 - classy_fire_classes: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="All predicted ClassyFire classes", alias="classyFireClasses") - npc_classes: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="All predicted NPC classes", alias="npcClasses") + classy_fire_classes: Optional[List[CompoundClass]] = Field(default=None, description="All predicted ClassyFire classes", alias="classyFireClasses") + npc_classes: Optional[List[CompoundClass]] = Field(default=None, description="All predicted NPC classes", alias="npcClasses") __properties: ClassVar[List[str]] = ["classyFireClasses", "npcClasses"] model_config = ConfigDict( @@ -82,16 +82,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_npc_classes: _items.append(_item_npc_classes.to_dict()) _dict['npcClasses'] = _items - # set to None if classy_fire_classes (nullable) is None - # and model_fields_set contains the field - if self.classy_fire_classes is None and "classy_fire_classes" in self.model_fields_set: - _dict['classyFireClasses'] = None - - # set to None if npc_classes (nullable) is None - # and model_fields_set contains the field - if self.npc_classes is None and "npc_classes" in self.model_fields_set: - _dict['npcClasses'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/category.py b/client-api_python/generated/PySirius/models/category.py index 919bc6e9..90150241 100644 --- a/client-api_python/generated/PySirius/models/category.py +++ b/client-api_python/generated/PySirius/models/category.py @@ -77,11 +77,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items - # set to None if overall_quality (nullable) is None - # and model_fields_set contains the field - if self.overall_quality is None and "overall_quality" in self.model_fields_set: - _dict['overallQuality'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound.py b/client-api_python/generated/PySirius/models/compound.py index 3f2cebc0..031c07e0 100644 --- a/client-api_python/generated/PySirius/models/compound.py +++ b/client-api_python/generated/PySirius/models/compound.py @@ -20,6 +20,7 @@ from PySirius.models.aligned_feature import AlignedFeature from PySirius.models.consensus_annotations_csi import ConsensusAnnotationsCSI from PySirius.models.consensus_annotations_de_novo import ConsensusAnnotationsDeNovo +from PySirius.models.tag import Tag from typing import Optional, Set from typing_extensions import Self @@ -33,10 +34,11 @@ class Compound(BaseModel): rt_end_seconds: Optional[float] = Field(default=None, description="The merged/consensus retention time end (latest rt) of this compound", alias="rtEndSeconds") neutral_mass: Optional[float] = Field(default=None, description="Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass", alias="neutralMass") features: Optional[List[AlignedFeature]] = Field(default=None, description="List of aligned features (adducts) that belong to the same (this) compound") - consensus_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, alias="consensusAnnotations") - consensus_annotations_de_novo: Optional[ConsensusAnnotationsDeNovo] = Field(default=None, alias="consensusAnnotationsDeNovo") - custom_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, alias="customAnnotations") - __properties: ClassVar[List[str]] = ["compoundId", "name", "rtStartSeconds", "rtEndSeconds", "neutralMass", "features", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations"] + consensus_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, description="The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available", alias="consensusAnnotations") + consensus_annotations_de_novo: Optional[ConsensusAnnotationsDeNovo] = Field(default=None, description="The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available", alias="consensusAnnotationsDeNovo") + custom_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, description="Alternative annotations selected by the User.", alias="customAnnotations") + tags: Optional[Dict[str, Tag]] = Field(default=None, description="Key: tagName, value: tag") + __properties: ClassVar[List[str]] = ["compoundId", "name", "rtStartSeconds", "rtEndSeconds", "neutralMass", "features", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"] model_config = ConfigDict( populate_by_name=True, @@ -93,41 +95,13 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of custom_annotations if self.custom_annotations: _dict['customAnnotations'] = self.custom_annotations.to_dict() - # set to None if name (nullable) is None - # and model_fields_set contains the field - if self.name is None and "name" in self.model_fields_set: - _dict['name'] = None - - # set to None if rt_start_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_start_seconds is None and "rt_start_seconds" in self.model_fields_set: - _dict['rtStartSeconds'] = None - - # set to None if rt_end_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_end_seconds is None and "rt_end_seconds" in self.model_fields_set: - _dict['rtEndSeconds'] = None - - # set to None if neutral_mass (nullable) is None - # and model_fields_set contains the field - if self.neutral_mass is None and "neutral_mass" in self.model_fields_set: - _dict['neutralMass'] = None - - # set to None if consensus_annotations (nullable) is None - # and model_fields_set contains the field - if self.consensus_annotations is None and "consensus_annotations" in self.model_fields_set: - _dict['consensusAnnotations'] = None - - # set to None if consensus_annotations_de_novo (nullable) is None - # and model_fields_set contains the field - if self.consensus_annotations_de_novo is None and "consensus_annotations_de_novo" in self.model_fields_set: - _dict['consensusAnnotationsDeNovo'] = None - - # set to None if custom_annotations (nullable) is None - # and model_fields_set contains the field - if self.custom_annotations is None and "custom_annotations" in self.model_fields_set: - _dict['customAnnotations'] = None - + # override the default output from pydantic by calling `to_dict()` of each value in tags (dict) + _field_dict = {} + if self.tags: + for _key_tags in self.tags: + if self.tags[_key_tags]: + _field_dict[_key_tags] = self.tags[_key_tags].to_dict() + _dict['tags'] = _field_dict return _dict @classmethod @@ -148,7 +122,13 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "features": [AlignedFeature.from_dict(_item) for _item in obj["features"]] if obj.get("features") is not None else None, "consensusAnnotations": ConsensusAnnotationsCSI.from_dict(obj["consensusAnnotations"]) if obj.get("consensusAnnotations") is not None else None, "consensusAnnotationsDeNovo": ConsensusAnnotationsDeNovo.from_dict(obj["consensusAnnotationsDeNovo"]) if obj.get("consensusAnnotationsDeNovo") is not None else None, - "customAnnotations": ConsensusAnnotationsCSI.from_dict(obj["customAnnotations"]) if obj.get("customAnnotations") is not None else None + "customAnnotations": ConsensusAnnotationsCSI.from_dict(obj["customAnnotations"]) if obj.get("customAnnotations") is not None else None, + "tags": dict( + (_k, Tag.from_dict(_v)) + for _k, _v in obj["tags"].items() + ) + if obj.get("tags") is not None + else None }) return _obj diff --git a/client-api_python/generated/PySirius/models/compound_class.py b/client-api_python/generated/PySirius/models/compound_class.py index 6a3d3ef0..55b74082 100644 --- a/client-api_python/generated/PySirius/models/compound_class.py +++ b/client-api_python/generated/PySirius/models/compound_class.py @@ -25,7 +25,7 @@ class CompoundClass(BaseModel): """ Predicted compound class with name, probability and id if available. (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to """ # noqa: E501 - type: Optional[CompoundClassType] = None + type: Optional[CompoundClassType] = Field(default=None, description="Specifies the classification ontology the CompoundClass belongs to.") level: Optional[StrictStr] = Field(default=None, description="Name of the level this compound class belongs to") level_index: Optional[StrictInt] = Field(default=None, description="Index of the level this compound class belongs to", alias="levelIndex") name: Optional[StrictStr] = Field(default=None, description="Name of the compound class.") @@ -76,46 +76,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if type (nullable) is None - # and model_fields_set contains the field - if self.type is None and "type" in self.model_fields_set: - _dict['type'] = None - - # set to None if level (nullable) is None - # and model_fields_set contains the field - if self.level is None and "level" in self.model_fields_set: - _dict['level'] = None - - # set to None if level_index (nullable) is None - # and model_fields_set contains the field - if self.level_index is None and "level_index" in self.model_fields_set: - _dict['levelIndex'] = None - - # set to None if name (nullable) is None - # and model_fields_set contains the field - if self.name is None and "name" in self.model_fields_set: - _dict['name'] = None - - # set to None if description (nullable) is None - # and model_fields_set contains the field - if self.description is None and "description" in self.model_fields_set: - _dict['description'] = None - - # set to None if id (nullable) is None - # and model_fields_set contains the field - if self.id is None and "id" in self.model_fields_set: - _dict['id'] = None - - # set to None if parent_id (nullable) is None - # and model_fields_set contains the field - if self.parent_id is None and "parent_id" in self.model_fields_set: - _dict['parentId'] = None - - # set to None if parent_name (nullable) is None - # and model_fields_set contains the field - if self.parent_name is None and "parent_name" in self.model_fields_set: - _dict['parentName'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound_classes.py b/client-api_python/generated/PySirius/models/compound_classes.py index c6077a43..a0885a8e 100644 --- a/client-api_python/generated/PySirius/models/compound_classes.py +++ b/client-api_python/generated/PySirius/models/compound_classes.py @@ -25,11 +25,11 @@ class CompoundClasses(BaseModel): """ Container class that holds the most likely compound class for different levels of each ontology for a certain Compound/Feature/FormulaCandidate/PredictedFingerprint. """ # noqa: E501 - npc_pathway: Optional[CompoundClass] = Field(default=None, alias="npcPathway") - npc_superclass: Optional[CompoundClass] = Field(default=None, alias="npcSuperclass") - npc_class: Optional[CompoundClass] = Field(default=None, alias="npcClass") - classy_fire_lineage: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation", alias="classyFireLineage") - classy_fire_alternatives: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="Alternative ClassyFire classes with high probability that do not fit into the linage", alias="classyFireAlternatives") + npc_pathway: Optional[CompoundClass] = Field(default=None, description="Pathway level NPC class with the highest probability", alias="npcPathway") + npc_superclass: Optional[CompoundClass] = Field(default=None, description="Superclass level NPC class with the highest probability", alias="npcSuperclass") + npc_class: Optional[CompoundClass] = Field(default=None, description="Class level NPC class with the highest probability", alias="npcClass") + classy_fire_lineage: Optional[List[CompoundClass]] = Field(default=None, description="Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation", alias="classyFireLineage") + classy_fire_alternatives: Optional[List[CompoundClass]] = Field(default=None, description="Alternative ClassyFire classes with high probability that do not fit into the linage", alias="classyFireAlternatives") __properties: ClassVar[List[str]] = ["npcPathway", "npcSuperclass", "npcClass", "classyFireLineage", "classyFireAlternatives"] model_config = ConfigDict( @@ -94,31 +94,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_classy_fire_alternatives: _items.append(_item_classy_fire_alternatives.to_dict()) _dict['classyFireAlternatives'] = _items - # set to None if npc_pathway (nullable) is None - # and model_fields_set contains the field - if self.npc_pathway is None and "npc_pathway" in self.model_fields_set: - _dict['npcPathway'] = None - - # set to None if npc_superclass (nullable) is None - # and model_fields_set contains the field - if self.npc_superclass is None and "npc_superclass" in self.model_fields_set: - _dict['npcSuperclass'] = None - - # set to None if npc_class (nullable) is None - # and model_fields_set contains the field - if self.npc_class is None and "npc_class" in self.model_fields_set: - _dict['npcClass'] = None - - # set to None if classy_fire_lineage (nullable) is None - # and model_fields_set contains the field - if self.classy_fire_lineage is None and "classy_fire_lineage" in self.model_fields_set: - _dict['classyFireLineage'] = None - - # set to None if classy_fire_alternatives (nullable) is None - # and model_fields_set contains the field - if self.classy_fire_alternatives is None and "classy_fire_alternatives" in self.model_fields_set: - _dict['classyFireAlternatives'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound_import.py b/client-api_python/generated/PySirius/models/compound_import.py index 666b2c97..a79258f2 100644 --- a/client-api_python/generated/PySirius/models/compound_import.py +++ b/client-api_python/generated/PySirius/models/compound_import.py @@ -75,11 +75,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_features: _items.append(_item_features.to_dict()) _dict['features'] = _items - # set to None if name (nullable) is None - # and model_fields_set contains the field - if self.name is None and "name" in self.model_fields_set: - _dict['name'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound_opt_field.py b/client-api_python/generated/PySirius/models/compound_opt_field.py index a07f1cf6..2175be69 100644 --- a/client-api_python/generated/PySirius/models/compound_opt_field.py +++ b/client-api_python/generated/PySirius/models/compound_opt_field.py @@ -28,6 +28,7 @@ class CompoundOptField(str, Enum): CONSENSUSANNOTATIONS = 'consensusAnnotations' CONSENSUSANNOTATIONSDENOVO = 'consensusAnnotationsDeNovo' CUSTOMANNOTATIONS = 'customAnnotations' + TAGS = 'tags' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/client-api_python/generated/PySirius/models/computed_subtools.py b/client-api_python/generated/PySirius/models/computed_subtools.py index 882a8938..9172c93d 100644 --- a/client-api_python/generated/PySirius/models/computed_subtools.py +++ b/client-api_python/generated/PySirius/models/computed_subtools.py @@ -22,7 +22,7 @@ class ComputedSubtools(BaseModel): """ - Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. + ComputedSubtools """ # noqa: E501 library_search: Optional[StrictBool] = Field(default=None, alias="librarySearch") formula_search: Optional[StrictBool] = Field(default=None, alias="formulaSearch") diff --git a/client-api_python/generated/PySirius/models/connection_error.py b/client-api_python/generated/PySirius/models/connection_error.py index 99d91dd2..66d3709b 100644 --- a/client-api_python/generated/PySirius/models/connection_error.py +++ b/client-api_python/generated/PySirius/models/connection_error.py @@ -75,16 +75,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if server_response_error_code (nullable) is None - # and model_fields_set contains the field - if self.server_response_error_code is None and "server_response_error_code" in self.model_fields_set: - _dict['serverResponseErrorCode'] = None - - # set to None if server_response_error_message (nullable) is None - # and model_fields_set contains the field - if self.server_response_error_message is None and "server_response_error_message" in self.model_fields_set: - _dict['serverResponseErrorMessage'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/consensus_annotations_csi.py b/client-api_python/generated/PySirius/models/consensus_annotations_csi.py index 569ec649..01e2ed51 100644 --- a/client-api_python/generated/PySirius/models/consensus_annotations_csi.py +++ b/client-api_python/generated/PySirius/models/consensus_annotations_csi.py @@ -28,10 +28,10 @@ class ConsensusAnnotationsCSI(BaseModel): ConsensusAnnotationsCSI """ # noqa: E501 molecular_formula: Optional[StrictStr] = Field(default=None, description="Molecular formula of the consensus annotation Might be null if no consensus formula is available.", alias="molecularFormula") - compound_classes: Optional[CompoundClasses] = Field(default=None, alias="compoundClasses") - supporting_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") - selection_criterion: Optional[ConsensusCriterionCSI] = Field(default=None, alias="selectionCriterion") - csi_finger_id_structure: Optional[StructureCandidate] = Field(default=None, alias="csiFingerIdStructure") + compound_classes: Optional[CompoundClasses] = Field(default=None, description="Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.", alias="compoundClasses") + supporting_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") + selection_criterion: Optional[ConsensusCriterionCSI] = Field(default=None, description="Null if this is a custom selection", alias="selectionCriterion") + csi_finger_id_structure: Optional[StructureCandidate] = Field(default=None, description="Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available.", alias="csiFingerIdStructure") confidence_exact_match: Optional[float] = Field(default=None, description="Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported", alias="confidenceExactMatch") confidence_approx_match: Optional[float] = Field(default=None, description="Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported", alias="confidenceApproxMatch") __properties: ClassVar[List[str]] = ["molecularFormula", "compoundClasses", "supportingFeatureIds", "selectionCriterion", "csiFingerIdStructure", "confidenceExactMatch", "confidenceApproxMatch"] @@ -81,41 +81,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of csi_finger_id_structure if self.csi_finger_id_structure: _dict['csiFingerIdStructure'] = self.csi_finger_id_structure.to_dict() - # set to None if molecular_formula (nullable) is None - # and model_fields_set contains the field - if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: - _dict['molecularFormula'] = None - - # set to None if compound_classes (nullable) is None - # and model_fields_set contains the field - if self.compound_classes is None and "compound_classes" in self.model_fields_set: - _dict['compoundClasses'] = None - - # set to None if supporting_feature_ids (nullable) is None - # and model_fields_set contains the field - if self.supporting_feature_ids is None and "supporting_feature_ids" in self.model_fields_set: - _dict['supportingFeatureIds'] = None - - # set to None if selection_criterion (nullable) is None - # and model_fields_set contains the field - if self.selection_criterion is None and "selection_criterion" in self.model_fields_set: - _dict['selectionCriterion'] = None - - # set to None if csi_finger_id_structure (nullable) is None - # and model_fields_set contains the field - if self.csi_finger_id_structure is None and "csi_finger_id_structure" in self.model_fields_set: - _dict['csiFingerIdStructure'] = None - - # set to None if confidence_exact_match (nullable) is None - # and model_fields_set contains the field - if self.confidence_exact_match is None and "confidence_exact_match" in self.model_fields_set: - _dict['confidenceExactMatch'] = None - - # set to None if confidence_approx_match (nullable) is None - # and model_fields_set contains the field - if self.confidence_approx_match is None and "confidence_approx_match" in self.model_fields_set: - _dict['confidenceApproxMatch'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py b/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py index 02aeaeb8..435f6f6d 100644 --- a/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py +++ b/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py @@ -27,9 +27,9 @@ class ConsensusAnnotationsDeNovo(BaseModel): ConsensusAnnotationsDeNovo """ # noqa: E501 molecular_formula: Optional[StrictStr] = Field(default=None, description="Molecular formula of the consensus annotation Might be null if no consensus formula is available.", alias="molecularFormula") - compound_classes: Optional[CompoundClasses] = Field(default=None, alias="compoundClasses") - supporting_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") - selection_criterion: Optional[ConsensusCriterionDeNovo] = Field(default=None, alias="selectionCriterion") + compound_classes: Optional[CompoundClasses] = Field(default=None, description="Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.", alias="compoundClasses") + supporting_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") + selection_criterion: Optional[ConsensusCriterionDeNovo] = Field(default=None, description="Criterion that was used to select the consensus annotation.", alias="selectionCriterion") __properties: ClassVar[List[str]] = ["molecularFormula", "compoundClasses", "supportingFeatureIds", "selectionCriterion"] model_config = ConfigDict( @@ -74,26 +74,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of compound_classes if self.compound_classes: _dict['compoundClasses'] = self.compound_classes.to_dict() - # set to None if molecular_formula (nullable) is None - # and model_fields_set contains the field - if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: - _dict['molecularFormula'] = None - - # set to None if compound_classes (nullable) is None - # and model_fields_set contains the field - if self.compound_classes is None and "compound_classes" in self.model_fields_set: - _dict['compoundClasses'] = None - - # set to None if supporting_feature_ids (nullable) is None - # and model_fields_set contains the field - if self.supporting_feature_ids is None and "supporting_feature_ids" in self.model_fields_set: - _dict['supportingFeatureIds'] = None - - # set to None if selection_criterion (nullable) is None - # and model_fields_set contains the field - if self.selection_criterion is None and "selection_criterion" in self.model_fields_set: - _dict['selectionCriterion'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/cyp450_mode.py b/client-api_python/generated/PySirius/models/cyp450_mode.py new file mode 100644 index 00000000..172fcb98 --- /dev/null +++ b/client-api_python/generated/PySirius/models/cyp450_mode.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class Cyp450Mode(str, Enum): + """ + Cyp450Mode + """ + + """ + allowed enum values + """ + RULE_BASED = 'RULE_BASED' + CY_PRODUCT = 'CY_PRODUCT' + COMBINED = 'COMBINED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Cyp450Mode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/data_import_event.py b/client-api_python/generated/PySirius/models/data_import_event.py index e4aa25ef..d178f3fd 100644 --- a/client-api_python/generated/PySirius/models/data_import_event.py +++ b/client-api_python/generated/PySirius/models/data_import_event.py @@ -68,11 +68,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if import_job_id (nullable) is None - # and model_fields_set contains the field - if self.import_job_id is None and "import_job_id" in self.model_fields_set: - _dict['importJobId'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/feature_annotations.py b/client-api_python/generated/PySirius/models/feature_annotations.py index 30960d50..edcbf6f4 100644 --- a/client-api_python/generated/PySirius/models/feature_annotations.py +++ b/client-api_python/generated/PySirius/models/feature_annotations.py @@ -28,14 +28,14 @@ class FeatureAnnotations(BaseModel): """ Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature. The different annotation fields within this summary object are null if the corresponding feature does not contain the represented results. If fields are non-null the corresponding result has been computed but might still be empty. """ # noqa: E501 - formula_annotation: Optional[FormulaCandidate] = Field(default=None, alias="formulaAnnotation") - structure_annotation: Optional[StructureCandidateScored] = Field(default=None, alias="structureAnnotation") - compound_class_annotation: Optional[CompoundClasses] = Field(default=None, alias="compoundClassAnnotation") + formula_annotation: Optional[FormulaCandidate] = Field(default=None, description="Best matching FormulaCandidate.", alias="formulaAnnotation") + structure_annotation: Optional[StructureCandidateScored] = Field(default=None, description="Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates.", alias="structureAnnotation") + compound_class_annotation: Optional[CompoundClasses] = Field(default=None, description="Best matching compound classes that correspond to the formulaAnnotation", alias="compoundClassAnnotation") confidence_exact_match: Optional[float] = Field(default=None, description="Confidence Score that represents the confidence whether the top hit is correct.", alias="confidenceExactMatch") confidence_approx_match: Optional[float] = Field(default=None, description="Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.", alias="confidenceApproxMatch") - expansive_search_state: Optional[ConfidenceMode] = Field(default=None, alias="expansiveSearchState") - specified_databases: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of databases that have been specified by for structure db search. Null if no structure db search has been performed.", alias="specifiedDatabases") - expanded_databases: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.", alias="expandedDatabases") + expansive_search_state: Optional[ConfidenceMode] = Field(default=None, description="Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)", alias="expansiveSearchState") + specified_databases: Optional[List[StrictStr]] = Field(default=None, description="List of databases that have been specified by for structure db search. Null if no structure db search has been performed.", alias="specifiedDatabases") + expanded_databases: Optional[List[StrictStr]] = Field(default=None, description="List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.", alias="expandedDatabases") __properties: ClassVar[List[str]] = ["formulaAnnotation", "structureAnnotation", "compoundClassAnnotation", "confidenceExactMatch", "confidenceApproxMatch", "expansiveSearchState", "specifiedDatabases", "expandedDatabases"] model_config = ConfigDict( @@ -86,46 +86,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of compound_class_annotation if self.compound_class_annotation: _dict['compoundClassAnnotation'] = self.compound_class_annotation.to_dict() - # set to None if formula_annotation (nullable) is None - # and model_fields_set contains the field - if self.formula_annotation is None and "formula_annotation" in self.model_fields_set: - _dict['formulaAnnotation'] = None - - # set to None if structure_annotation (nullable) is None - # and model_fields_set contains the field - if self.structure_annotation is None and "structure_annotation" in self.model_fields_set: - _dict['structureAnnotation'] = None - - # set to None if compound_class_annotation (nullable) is None - # and model_fields_set contains the field - if self.compound_class_annotation is None and "compound_class_annotation" in self.model_fields_set: - _dict['compoundClassAnnotation'] = None - - # set to None if confidence_exact_match (nullable) is None - # and model_fields_set contains the field - if self.confidence_exact_match is None and "confidence_exact_match" in self.model_fields_set: - _dict['confidenceExactMatch'] = None - - # set to None if confidence_approx_match (nullable) is None - # and model_fields_set contains the field - if self.confidence_approx_match is None and "confidence_approx_match" in self.model_fields_set: - _dict['confidenceApproxMatch'] = None - - # set to None if expansive_search_state (nullable) is None - # and model_fields_set contains the field - if self.expansive_search_state is None and "expansive_search_state" in self.model_fields_set: - _dict['expansiveSearchState'] = None - - # set to None if specified_databases (nullable) is None - # and model_fields_set contains the field - if self.specified_databases is None and "specified_databases" in self.model_fields_set: - _dict['specifiedDatabases'] = None - - # set to None if expanded_databases (nullable) is None - # and model_fields_set contains the field - if self.expanded_databases is None and "expanded_databases" in self.model_fields_set: - _dict['expandedDatabases'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/feature_import.py b/client-api_python/generated/PySirius/models/feature_import.py index 8896b6ab..c5dd1be3 100644 --- a/client-api_python/generated/PySirius/models/feature_import.py +++ b/client-api_python/generated/PySirius/models/feature_import.py @@ -30,14 +30,14 @@ class FeatureImport(BaseModel): external_feature_id: Optional[StrictStr] = Field(default=None, description="Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.", alias="externalFeatureId") ion_mass: float = Field(alias="ionMass") charge: StrictInt - detected_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Detected adducts of this feature. Can be NULL or empty if no adducts are known.", alias="detectedAdducts") + detected_adducts: Optional[List[StrictStr]] = Field(default=None, description="Detected adducts of this feature. Can be NULL or empty if no adducts are known.", alias="detectedAdducts") rt_start_seconds: Optional[float] = Field(default=None, alias="rtStartSeconds") rt_end_seconds: Optional[float] = Field(default=None, alias="rtEndSeconds") rt_apex_seconds: Optional[float] = Field(default=None, alias="rtApexSeconds") - data_quality: Optional[DataQuality] = Field(default=None, alias="dataQuality") - merged_ms1: Optional[BasicSpectrum] = Field(default=None, alias="mergedMs1") - ms1_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, description="List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given.", alias="ms1Spectra") - ms2_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, description="List of MS/MS spectra that belong to this feature.", alias="ms2Spectra") + data_quality: Optional[DataQuality] = Field(default=None, description="A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.", alias="dataQuality") + merged_ms1: Optional[BasicSpectrum] = Field(default=None, description="Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given.", alias="mergedMs1") + ms1_spectra: Optional[List[BasicSpectrum]] = Field(default=None, description="List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given.", alias="ms1Spectra") + ms2_spectra: Optional[List[BasicSpectrum]] = Field(default=None, description="List of MS/MS spectra that belong to this feature.", alias="ms2Spectra") __properties: ClassVar[List[str]] = ["name", "externalFeatureId", "ionMass", "charge", "detectedAdducts", "rtStartSeconds", "rtEndSeconds", "rtApexSeconds", "dataQuality", "mergedMs1", "ms1Spectra", "ms2Spectra"] model_config = ConfigDict( @@ -96,56 +96,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_ms2_spectra: _items.append(_item_ms2_spectra.to_dict()) _dict['ms2Spectra'] = _items - # set to None if name (nullable) is None - # and model_fields_set contains the field - if self.name is None and "name" in self.model_fields_set: - _dict['name'] = None - - # set to None if external_feature_id (nullable) is None - # and model_fields_set contains the field - if self.external_feature_id is None and "external_feature_id" in self.model_fields_set: - _dict['externalFeatureId'] = None - - # set to None if detected_adducts (nullable) is None - # and model_fields_set contains the field - if self.detected_adducts is None and "detected_adducts" in self.model_fields_set: - _dict['detectedAdducts'] = None - - # set to None if rt_start_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_start_seconds is None and "rt_start_seconds" in self.model_fields_set: - _dict['rtStartSeconds'] = None - - # set to None if rt_end_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_end_seconds is None and "rt_end_seconds" in self.model_fields_set: - _dict['rtEndSeconds'] = None - - # set to None if rt_apex_seconds (nullable) is None - # and model_fields_set contains the field - if self.rt_apex_seconds is None and "rt_apex_seconds" in self.model_fields_set: - _dict['rtApexSeconds'] = None - - # set to None if data_quality (nullable) is None - # and model_fields_set contains the field - if self.data_quality is None and "data_quality" in self.model_fields_set: - _dict['dataQuality'] = None - - # set to None if merged_ms1 (nullable) is None - # and model_fields_set contains the field - if self.merged_ms1 is None and "merged_ms1" in self.model_fields_set: - _dict['mergedMs1'] = None - - # set to None if ms1_spectra (nullable) is None - # and model_fields_set contains the field - if self.ms1_spectra is None and "ms1_spectra" in self.model_fields_set: - _dict['ms1Spectra'] = None - - # set to None if ms2_spectra (nullable) is None - # and model_fields_set contains the field - if self.ms2_spectra is None and "ms2_spectra" in self.model_fields_set: - _dict['ms2Spectra'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/fingerprint_prediction.py b/client-api_python/generated/PySirius/models/fingerprint_prediction.py index 43514af1..5477dc49 100644 --- a/client-api_python/generated/PySirius/models/fingerprint_prediction.py +++ b/client-api_python/generated/PySirius/models/fingerprint_prediction.py @@ -68,16 +68,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if use_score_threshold (nullable) is None - # and model_fields_set contains the field - if self.use_score_threshold is None and "use_score_threshold" in self.model_fields_set: - _dict['useScoreThreshold'] = None - - # set to None if always_predict_high_ref_matches (nullable) is None - # and model_fields_set contains the field - if self.always_predict_high_ref_matches is None and "always_predict_high_ref_matches" in self.model_fields_set: - _dict['alwaysPredictHighRefMatches'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/fold_change.py b/client-api_python/generated/PySirius/models/fold_change.py new file mode 100644 index 00000000..8b55b0d0 --- /dev/null +++ b/client-api_python/generated/PySirius/models/fold_change.py @@ -0,0 +1,100 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_row_type import QuantRowType +from typing import Optional, Set +from typing_extensions import Self + +class FoldChange(BaseModel): + """ + FoldChange + """ # noqa: E501 + left_group: Optional[StrictStr] = Field(default=None, alias="leftGroup") + right_group: Optional[StrictStr] = Field(default=None, alias="rightGroup") + aggregation: Optional[AggregationType] = None + quantification: Optional[QuantMeasure] = None + quant_type: QuantRowType = Field(alias="quantType") + object_id: StrictStr = Field(alias="objectId") + fold_change: float = Field(alias="foldChange") + __properties: ClassVar[List[str]] = ["leftGroup", "rightGroup", "aggregation", "quantification", "quantType", "objectId", "foldChange"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of FoldChange from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FoldChange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "leftGroup": obj.get("leftGroup"), + "rightGroup": obj.get("rightGroup"), + "aggregation": obj.get("aggregation"), + "quantification": obj.get("quantification"), + "quantType": obj.get("quantType"), + "objectId": obj.get("objectId"), + "foldChange": obj.get("foldChange") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/formula_candidate.py b/client-api_python/generated/PySirius/models/formula_candidate.py index 7b05010e..aba7d5a4 100644 --- a/client-api_python/generated/PySirius/models/formula_candidate.py +++ b/client-api_python/generated/PySirius/models/formula_candidate.py @@ -44,13 +44,13 @@ class FormulaCandidate(BaseModel): num_of_explainable_peaks: Optional[StrictInt] = Field(default=None, alias="numOfExplainablePeaks") total_explained_intensity: Optional[float] = Field(default=None, alias="totalExplainedIntensity") median_mass_deviation: Optional[Deviation] = Field(default=None, alias="medianMassDeviation") - fragmentation_tree: Optional[FragmentationTree] = Field(default=None, alias="fragmentationTree") - annotated_spectrum: Optional[AnnotatedSpectrum] = Field(default=None, alias="annotatedSpectrum") - isotope_pattern_annotation: Optional[IsotopePatternAnnotation] = Field(default=None, alias="isotopePatternAnnotation") - lipid_annotation: Optional[LipidAnnotation] = Field(default=None, alias="lipidAnnotation") - predicted_fingerprint: Optional[List[Optional[float]]] = Field(default=None, description="Probabilistic molecular fingerprint predicted by CSI:FingerID", alias="predictedFingerprint") - compound_classes: Optional[CompoundClasses] = Field(default=None, alias="compoundClasses") - canopus_prediction: Optional[CanopusPrediction] = Field(default=None, alias="canopusPrediction") + fragmentation_tree: Optional[FragmentationTree] = Field(default=None, description="The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore).", alias="fragmentationTree") + annotated_spectrum: Optional[AnnotatedSpectrum] = Field(default=None, description="Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses", alias="annotatedSpectrum") + isotope_pattern_annotation: Optional[IsotopePatternAnnotation] = Field(default=None, description="The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore.", alias="isotopePatternAnnotation") + lipid_annotation: Optional[LipidAnnotation] = Field(default=None, description="ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid", alias="lipidAnnotation") + predicted_fingerprint: Optional[List[float]] = Field(default=None, description="Probabilistic molecular fingerprint predicted by CSI:FingerID", alias="predictedFingerprint") + compound_classes: Optional[CompoundClasses] = Field(default=None, description="Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)", alias="compoundClasses") + canopus_prediction: Optional[CanopusPrediction] = Field(default=None, description="All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)", alias="canopusPrediction") __properties: ClassVar[List[str]] = ["formulaId", "molecularFormula", "adduct", "rank", "siriusScoreNormalized", "siriusScore", "isotopeScore", "treeScore", "zodiacScore", "numOfExplainedPeaks", "numOfExplainablePeaks", "totalExplainedIntensity", "medianMassDeviation", "fragmentationTree", "annotatedSpectrum", "isotopePatternAnnotation", "lipidAnnotation", "predictedFingerprint", "compoundClasses", "canopusPrediction"] model_config = ConfigDict( @@ -113,86 +113,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of canopus_prediction if self.canopus_prediction: _dict['canopusPrediction'] = self.canopus_prediction.to_dict() - # set to None if sirius_score_normalized (nullable) is None - # and model_fields_set contains the field - if self.sirius_score_normalized is None and "sirius_score_normalized" in self.model_fields_set: - _dict['siriusScoreNormalized'] = None - - # set to None if sirius_score (nullable) is None - # and model_fields_set contains the field - if self.sirius_score is None and "sirius_score" in self.model_fields_set: - _dict['siriusScore'] = None - - # set to None if isotope_score (nullable) is None - # and model_fields_set contains the field - if self.isotope_score is None and "isotope_score" in self.model_fields_set: - _dict['isotopeScore'] = None - - # set to None if tree_score (nullable) is None - # and model_fields_set contains the field - if self.tree_score is None and "tree_score" in self.model_fields_set: - _dict['treeScore'] = None - - # set to None if zodiac_score (nullable) is None - # and model_fields_set contains the field - if self.zodiac_score is None and "zodiac_score" in self.model_fields_set: - _dict['zodiacScore'] = None - - # set to None if num_of_explained_peaks (nullable) is None - # and model_fields_set contains the field - if self.num_of_explained_peaks is None and "num_of_explained_peaks" in self.model_fields_set: - _dict['numOfExplainedPeaks'] = None - - # set to None if num_of_explainable_peaks (nullable) is None - # and model_fields_set contains the field - if self.num_of_explainable_peaks is None and "num_of_explainable_peaks" in self.model_fields_set: - _dict['numOfExplainablePeaks'] = None - - # set to None if total_explained_intensity (nullable) is None - # and model_fields_set contains the field - if self.total_explained_intensity is None and "total_explained_intensity" in self.model_fields_set: - _dict['totalExplainedIntensity'] = None - - # set to None if median_mass_deviation (nullable) is None - # and model_fields_set contains the field - if self.median_mass_deviation is None and "median_mass_deviation" in self.model_fields_set: - _dict['medianMassDeviation'] = None - - # set to None if fragmentation_tree (nullable) is None - # and model_fields_set contains the field - if self.fragmentation_tree is None and "fragmentation_tree" in self.model_fields_set: - _dict['fragmentationTree'] = None - - # set to None if annotated_spectrum (nullable) is None - # and model_fields_set contains the field - if self.annotated_spectrum is None and "annotated_spectrum" in self.model_fields_set: - _dict['annotatedSpectrum'] = None - - # set to None if isotope_pattern_annotation (nullable) is None - # and model_fields_set contains the field - if self.isotope_pattern_annotation is None and "isotope_pattern_annotation" in self.model_fields_set: - _dict['isotopePatternAnnotation'] = None - - # set to None if lipid_annotation (nullable) is None - # and model_fields_set contains the field - if self.lipid_annotation is None and "lipid_annotation" in self.model_fields_set: - _dict['lipidAnnotation'] = None - - # set to None if predicted_fingerprint (nullable) is None - # and model_fields_set contains the field - if self.predicted_fingerprint is None and "predicted_fingerprint" in self.model_fields_set: - _dict['predictedFingerprint'] = None - - # set to None if compound_classes (nullable) is None - # and model_fields_set contains the field - if self.compound_classes is None and "compound_classes" in self.model_fields_set: - _dict['compoundClasses'] = None - - # set to None if canopus_prediction (nullable) is None - # and model_fields_set contains the field - if self.canopus_prediction is None and "canopus_prediction" in self.model_fields_set: - _dict['canopusPrediction'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/fragment_node.py b/client-api_python/generated/PySirius/models/fragment_node.py index f529d049..2c12c9d9 100644 --- a/client-api_python/generated/PySirius/models/fragment_node.py +++ b/client-api_python/generated/PySirius/models/fragment_node.py @@ -73,41 +73,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if molecular_formula (nullable) is None - # and model_fields_set contains the field - if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: - _dict['molecularFormula'] = None - - # set to None if adduct (nullable) is None - # and model_fields_set contains the field - if self.adduct is None and "adduct" in self.model_fields_set: - _dict['adduct'] = None - - # set to None if mass_deviation_da (nullable) is None - # and model_fields_set contains the field - if self.mass_deviation_da is None and "mass_deviation_da" in self.model_fields_set: - _dict['massDeviationDa'] = None - - # set to None if mass_deviation_ppm (nullable) is None - # and model_fields_set contains the field - if self.mass_deviation_ppm is None and "mass_deviation_ppm" in self.model_fields_set: - _dict['massDeviationPpm'] = None - - # set to None if score (nullable) is None - # and model_fields_set contains the field - if self.score is None and "score" in self.model_fields_set: - _dict['score'] = None - - # set to None if intensity (nullable) is None - # and model_fields_set contains the field - if self.intensity is None and "intensity" in self.model_fields_set: - _dict['intensity'] = None - - # set to None if mz (nullable) is None - # and model_fields_set contains the field - if self.mz is None and "mz" in self.model_fields_set: - _dict['mz'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/info.py b/client-api_python/generated/PySirius/models/info.py index 12cccb47..f9dd9e58 100644 --- a/client-api_python/generated/PySirius/models/info.py +++ b/client-api_python/generated/PySirius/models/info.py @@ -78,51 +78,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if night_sky_api_version (nullable) is None - # and model_fields_set contains the field - if self.night_sky_api_version is None and "night_sky_api_version" in self.model_fields_set: - _dict['nightSkyApiVersion'] = None - - # set to None if sirius_version (nullable) is None - # and model_fields_set contains the field - if self.sirius_version is None and "sirius_version" in self.model_fields_set: - _dict['siriusVersion'] = None - - # set to None if latest_sirius_version (nullable) is None - # and model_fields_set contains the field - if self.latest_sirius_version is None and "latest_sirius_version" in self.model_fields_set: - _dict['latestSiriusVersion'] = None - - # set to None if latest_sirius_link (nullable) is None - # and model_fields_set contains the field - if self.latest_sirius_link is None and "latest_sirius_link" in self.model_fields_set: - _dict['latestSiriusLink'] = None - - # set to None if sirius_lib_version (nullable) is None - # and model_fields_set contains the field - if self.sirius_lib_version is None and "sirius_lib_version" in self.model_fields_set: - _dict['siriusLibVersion'] = None - - # set to None if finger_id_lib_version (nullable) is None - # and model_fields_set contains the field - if self.finger_id_lib_version is None and "finger_id_lib_version" in self.model_fields_set: - _dict['fingerIdLibVersion'] = None - - # set to None if chem_db_version (nullable) is None - # and model_fields_set contains the field - if self.chem_db_version is None and "chem_db_version" in self.model_fields_set: - _dict['chemDbVersion'] = None - - # set to None if finger_id_model_version (nullable) is None - # and model_fields_set contains the field - if self.finger_id_model_version is None and "finger_id_model_version" in self.model_fields_set: - _dict['fingerIdModelVersion'] = None - - # set to None if fingerprint_id (nullable) is None - # and model_fields_set contains the field - if self.fingerprint_id is None and "fingerprint_id" in self.model_fields_set: - _dict['fingerprintId'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py b/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py index 5d1ddd3b..3926beea 100644 --- a/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py +++ b/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py @@ -74,16 +74,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of simulated_pattern if self.simulated_pattern: _dict['simulatedPattern'] = self.simulated_pattern.to_dict() - # set to None if isotope_pattern (nullable) is None - # and model_fields_set contains the field - if self.isotope_pattern is None and "isotope_pattern" in self.model_fields_set: - _dict['isotopePattern'] = None - - # set to None if simulated_pattern (nullable) is None - # and model_fields_set contains the field - if self.simulated_pattern is None and "simulated_pattern" in self.model_fields_set: - _dict['simulatedPattern'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/job.py b/client-api_python/generated/PySirius/models/job.py index fb4e82d5..1331e503 100644 --- a/client-api_python/generated/PySirius/models/job.py +++ b/client-api_python/generated/PySirius/models/job.py @@ -28,10 +28,10 @@ class Job(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Unique identifier to access the job via the API") command: Optional[StrictStr] = Field(default=None, description="Command string of the executed Task") - progress: Optional[JobProgress] = None - affected_compound_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedCompoundIds") - affected_aligned_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedAlignedFeatureIds") - job_effect: Optional[JobEffect] = Field(default=None, alias="jobEffect") + progress: Optional[JobProgress] = Field(default=None, description="Optional progress information of this job") + affected_compound_ids: Optional[List[StrictStr]] = Field(default=None, description="List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedCompoundIds") + affected_aligned_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedAlignedFeatureIds") + job_effect: Optional[JobEffect] = Field(default=None, description="Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested", alias="jobEffect") __properties: ClassVar[List[str]] = ["id", "command", "progress", "affectedCompoundIds", "affectedAlignedFeatureIds", "jobEffect"] model_config = ConfigDict( @@ -76,31 +76,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of progress if self.progress: _dict['progress'] = self.progress.to_dict() - # set to None if command (nullable) is None - # and model_fields_set contains the field - if self.command is None and "command" in self.model_fields_set: - _dict['command'] = None - - # set to None if progress (nullable) is None - # and model_fields_set contains the field - if self.progress is None and "progress" in self.model_fields_set: - _dict['progress'] = None - - # set to None if affected_compound_ids (nullable) is None - # and model_fields_set contains the field - if self.affected_compound_ids is None and "affected_compound_ids" in self.model_fields_set: - _dict['affectedCompoundIds'] = None - - # set to None if affected_aligned_feature_ids (nullable) is None - # and model_fields_set contains the field - if self.affected_aligned_feature_ids is None and "affected_aligned_feature_ids" in self.model_fields_set: - _dict['affectedAlignedFeatureIds'] = None - - # set to None if job_effect (nullable) is None - # and model_fields_set contains the field - if self.job_effect is None and "job_effect" in self.model_fields_set: - _dict['jobEffect'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/job_progress.py b/client-api_python/generated/PySirius/models/job_progress.py index 2fe3662d..caa2ed3c 100644 --- a/client-api_python/generated/PySirius/models/job_progress.py +++ b/client-api_python/generated/PySirius/models/job_progress.py @@ -26,7 +26,7 @@ class JobProgress(BaseModel): Progress information of a computation job that has already been submitted to SIRIUS. if currentProgress == maxProgress job is finished and should change to state done soon. if a job is DONE all results can be accessed via the Project-Spaces api. """ # noqa: E501 indeterminate: Optional[StrictBool] = Field(default=None, description="Is the progress indeterminate or not") - state: Optional[JobState] = None + state: Optional[JobState] = Field(default=None, description="Current state of the Jobs in the SIRIUS internal Job scheduler WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs) READY: Ready for submission but not yet enqueued for submission to ExecutorService. QUEUED: Enqueued for submission to ExecutorService. SUBMITTED: Submitted and waiting to be executed. RUNNING: Job is running. CANCELED: Jobs is finished due to cancellation by user or dependent jobs. FAILED: Job is finished but failed. DONE: Job finished successfully.") current_progress: Optional[StrictInt] = Field(default=None, description="Current progress value of the job.", alias="currentProgress") max_progress: Optional[StrictInt] = Field(default=None, description="Progress value to reach (might also change during execution)", alias="maxProgress") message: Optional[StrictStr] = Field(default=None, description="Progress information and warnings.") @@ -72,31 +72,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if indeterminate (nullable) is None - # and model_fields_set contains the field - if self.indeterminate is None and "indeterminate" in self.model_fields_set: - _dict['indeterminate'] = None - - # set to None if current_progress (nullable) is None - # and model_fields_set contains the field - if self.current_progress is None and "current_progress" in self.model_fields_set: - _dict['currentProgress'] = None - - # set to None if max_progress (nullable) is None - # and model_fields_set contains the field - if self.max_progress is None and "max_progress" in self.model_fields_set: - _dict['maxProgress'] = None - - # set to None if message (nullable) is None - # and model_fields_set contains the field - if self.message is None and "message" in self.model_fields_set: - _dict['message'] = None - - # set to None if error_message (nullable) is None - # and model_fields_set contains the field - if self.error_message is None and "error_message" in self.model_fields_set: - _dict['errorMessage'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/job_submission.py b/client-api_python/generated/PySirius/models/job_submission.py index 3dadc669..08ad3335 100644 --- a/client-api_python/generated/PySirius/models/job_submission.py +++ b/client-api_python/generated/PySirius/models/job_submission.py @@ -31,20 +31,20 @@ class JobSubmission(BaseModel): """ Object to submit a job to be executed by SIRIUS """ # noqa: E501 - compound_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified.", alias="compoundIds") - aligned_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified.", alias="alignedFeatureIds") - fallback_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="fallbackAdducts") - enforced_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="enforcedAdducts") - detectable_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="detectableAdducts") + compound_ids: Optional[List[StrictStr]] = Field(default=None, description="Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified.", alias="compoundIds") + aligned_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified.", alias="alignedFeatureIds") + fallback_adducts: Optional[List[StrictStr]] = Field(default=None, description="Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="fallbackAdducts") + enforced_adducts: Optional[List[StrictStr]] = Field(default=None, description="Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="enforcedAdducts") + detectable_adducts: Optional[List[StrictStr]] = Field(default=None, description="Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="detectableAdducts") recompute: Optional[StrictBool] = Field(default=None, description="Indicate if already existing result for a tool to be executed should be overwritten or not.") - spectra_search_params: Optional[SpectralLibrarySearch] = Field(default=None, alias="spectraSearchParams") - formula_id_params: Optional[Sirius] = Field(default=None, alias="formulaIdParams") - zodiac_params: Optional[Zodiac] = Field(default=None, alias="zodiacParams") - fingerprint_prediction_params: Optional[FingerprintPrediction] = Field(default=None, alias="fingerprintPredictionParams") - canopus_params: Optional[Canopus] = Field(default=None, alias="canopusParams") - structure_db_search_params: Optional[StructureDbSearch] = Field(default=None, alias="structureDbSearchParams") - ms_novelist_params: Optional[MsNovelist] = Field(default=None, alias="msNovelistParams") - config_map: Optional[Dict[str, Optional[StrictStr]]] = Field(default=None, description="As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.", alias="configMap") + spectra_search_params: Optional[SpectralLibrarySearch] = Field(default=None, description="Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed.", alias="spectraSearchParams") + formula_id_params: Optional[Sirius] = Field(default=None, description="Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed.", alias="formulaIdParams") + zodiac_params: Optional[Zodiac] = Field(default=None, description="Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed.", alias="zodiacParams") + fingerprint_prediction_params: Optional[FingerprintPrediction] = Field(default=None, description="Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed.", alias="fingerprintPredictionParams") + canopus_params: Optional[Canopus] = Field(default=None, description="Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed.", alias="canopusParams") + structure_db_search_params: Optional[StructureDbSearch] = Field(default=None, description="Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed.", alias="structureDbSearchParams") + ms_novelist_params: Optional[MsNovelist] = Field(default=None, description="Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed.", alias="msNovelistParams") + config_map: Optional[Dict[str, StrictStr]] = Field(default=None, description="As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.", alias="configMap") __properties: ClassVar[List[str]] = ["compoundIds", "alignedFeatureIds", "fallbackAdducts", "enforcedAdducts", "detectableAdducts", "recompute", "spectraSearchParams", "formulaIdParams", "zodiacParams", "fingerprintPredictionParams", "canopusParams", "structureDbSearchParams", "msNovelistParams", "configMap"] model_config = ConfigDict( @@ -107,76 +107,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of ms_novelist_params if self.ms_novelist_params: _dict['msNovelistParams'] = self.ms_novelist_params.to_dict() - # set to None if compound_ids (nullable) is None - # and model_fields_set contains the field - if self.compound_ids is None and "compound_ids" in self.model_fields_set: - _dict['compoundIds'] = None - - # set to None if aligned_feature_ids (nullable) is None - # and model_fields_set contains the field - if self.aligned_feature_ids is None and "aligned_feature_ids" in self.model_fields_set: - _dict['alignedFeatureIds'] = None - - # set to None if fallback_adducts (nullable) is None - # and model_fields_set contains the field - if self.fallback_adducts is None and "fallback_adducts" in self.model_fields_set: - _dict['fallbackAdducts'] = None - - # set to None if enforced_adducts (nullable) is None - # and model_fields_set contains the field - if self.enforced_adducts is None and "enforced_adducts" in self.model_fields_set: - _dict['enforcedAdducts'] = None - - # set to None if detectable_adducts (nullable) is None - # and model_fields_set contains the field - if self.detectable_adducts is None and "detectable_adducts" in self.model_fields_set: - _dict['detectableAdducts'] = None - - # set to None if recompute (nullable) is None - # and model_fields_set contains the field - if self.recompute is None and "recompute" in self.model_fields_set: - _dict['recompute'] = None - - # set to None if spectra_search_params (nullable) is None - # and model_fields_set contains the field - if self.spectra_search_params is None and "spectra_search_params" in self.model_fields_set: - _dict['spectraSearchParams'] = None - - # set to None if formula_id_params (nullable) is None - # and model_fields_set contains the field - if self.formula_id_params is None and "formula_id_params" in self.model_fields_set: - _dict['formulaIdParams'] = None - - # set to None if zodiac_params (nullable) is None - # and model_fields_set contains the field - if self.zodiac_params is None and "zodiac_params" in self.model_fields_set: - _dict['zodiacParams'] = None - - # set to None if fingerprint_prediction_params (nullable) is None - # and model_fields_set contains the field - if self.fingerprint_prediction_params is None and "fingerprint_prediction_params" in self.model_fields_set: - _dict['fingerprintPredictionParams'] = None - - # set to None if canopus_params (nullable) is None - # and model_fields_set contains the field - if self.canopus_params is None and "canopus_params" in self.model_fields_set: - _dict['canopusParams'] = None - - # set to None if structure_db_search_params (nullable) is None - # and model_fields_set contains the field - if self.structure_db_search_params is None and "structure_db_search_params" in self.model_fields_set: - _dict['structureDbSearchParams'] = None - - # set to None if ms_novelist_params (nullable) is None - # and model_fields_set contains the field - if self.ms_novelist_params is None and "ms_novelist_params" in self.model_fields_set: - _dict['msNovelistParams'] = None - - # set to None if config_map (nullable) is None - # and model_fields_set contains the field - if self.config_map is None and "config_map" in self.model_fields_set: - _dict['configMap'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/lcms_submission_parameters.py b/client-api_python/generated/PySirius/models/lcms_submission_parameters.py index 04d74fd4..0c80f5ad 100644 --- a/client-api_python/generated/PySirius/models/lcms_submission_parameters.py +++ b/client-api_python/generated/PySirius/models/lcms_submission_parameters.py @@ -17,6 +17,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.deviation import Deviation from typing import Optional, Set from typing_extensions import Self @@ -25,7 +26,12 @@ class LcmsSubmissionParameters(BaseModel): LcmsSubmissionParameters """ # noqa: E501 align_lcms_runs: Optional[StrictBool] = Field(default=True, description="Specifies whether LC/MS runs should be aligned", alias="alignLCMSRuns") - __properties: ClassVar[List[str]] = ["alignLCMSRuns"] + noise_intensity: Optional[float] = Field(default=-1, description="Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient.", alias="noiseIntensity") + trace_max_mass_deviation: Optional[Deviation] = Field(default=None, description="Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace.", alias="traceMaxMassDeviation") + align_max_mass_deviation: Optional[Deviation] = Field(default=None, description="Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data.", alias="alignMaxMassDeviation") + align_max_retention_time_deviation: Optional[float] = Field(default=-1, description="Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.", alias="alignMaxRetentionTimeDeviation") + min_snr: Optional[float] = Field(default=3, description="Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory", alias="minSNR") + __properties: ClassVar[List[str]] = ["alignLCMSRuns", "noiseIntensity", "traceMaxMassDeviation", "alignMaxMassDeviation", "alignMaxRetentionTimeDeviation", "minSNR"] model_config = ConfigDict( populate_by_name=True, @@ -66,6 +72,12 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of trace_max_mass_deviation + if self.trace_max_mass_deviation: + _dict['traceMaxMassDeviation'] = self.trace_max_mass_deviation.to_dict() + # override the default output from pydantic by calling `to_dict()` of align_max_mass_deviation + if self.align_max_mass_deviation: + _dict['alignMaxMassDeviation'] = self.align_max_mass_deviation.to_dict() return _dict @classmethod @@ -78,7 +90,12 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "alignLCMSRuns": obj.get("alignLCMSRuns") if obj.get("alignLCMSRuns") is not None else True + "alignLCMSRuns": obj.get("alignLCMSRuns") if obj.get("alignLCMSRuns") is not None else True, + "noiseIntensity": obj.get("noiseIntensity") if obj.get("noiseIntensity") is not None else -1, + "traceMaxMassDeviation": Deviation.from_dict(obj["traceMaxMassDeviation"]) if obj.get("traceMaxMassDeviation") is not None else None, + "alignMaxMassDeviation": Deviation.from_dict(obj["alignMaxMassDeviation"]) if obj.get("alignMaxMassDeviation") is not None else None, + "alignMaxRetentionTimeDeviation": obj.get("alignMaxRetentionTimeDeviation") if obj.get("alignMaxRetentionTimeDeviation") is not None else -1, + "minSNR": obj.get("minSNR") if obj.get("minSNR") is not None else 3 }) return _obj diff --git a/client-api_python/generated/PySirius/models/license_info.py b/client-api_python/generated/PySirius/models/license_info.py index d163465d..4889808c 100644 --- a/client-api_python/generated/PySirius/models/license_info.py +++ b/client-api_python/generated/PySirius/models/license_info.py @@ -29,9 +29,9 @@ class LicenseInfo(BaseModel): """ # noqa: E501 user_email: Optional[StrictStr] = Field(default=None, description="Email address of the user account this license information belongs to.", alias="userEmail") user_id: Optional[StrictStr] = Field(default=None, description="User ID (uid) of the user account this license information belongs to.", alias="userId") - subscription: Optional[Subscription] = None - consumables: Optional[SubscriptionConsumables] = None - terms: Optional[List[Optional[Term]]] = None + subscription: Optional[Subscription] = Field(default=None, description="The active subscription that was used the requested the information") + consumables: Optional[SubscriptionConsumables] = Field(default=None, description="Status of the consumable resources of the {@link Subscription Subscription}.") + terms: Optional[List[Term]] = None __properties: ClassVar[List[str]] = ["userEmail", "userId", "subscription", "consumables", "terms"] model_config = ConfigDict( @@ -86,26 +86,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_terms: _items.append(_item_terms.to_dict()) _dict['terms'] = _items - # set to None if user_email (nullable) is None - # and model_fields_set contains the field - if self.user_email is None and "user_email" in self.model_fields_set: - _dict['userEmail'] = None - - # set to None if user_id (nullable) is None - # and model_fields_set contains the field - if self.user_id is None and "user_id" in self.model_fields_set: - _dict['userId'] = None - - # set to None if consumables (nullable) is None - # and model_fields_set contains the field - if self.consumables is None and "consumables" in self.model_fields_set: - _dict['consumables'] = None - - # set to None if terms (nullable) is None - # and model_fields_set contains the field - if self.terms is None and "terms" in self.model_fields_set: - _dict['terms'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/lipid_annotation.py b/client-api_python/generated/PySirius/models/lipid_annotation.py index fd71dd2a..629660d9 100644 --- a/client-api_python/generated/PySirius/models/lipid_annotation.py +++ b/client-api_python/generated/PySirius/models/lipid_annotation.py @@ -70,31 +70,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if lipid_species (nullable) is None - # and model_fields_set contains the field - if self.lipid_species is None and "lipid_species" in self.model_fields_set: - _dict['lipidSpecies'] = None - - # set to None if lipid_maps_id (nullable) is None - # and model_fields_set contains the field - if self.lipid_maps_id is None and "lipid_maps_id" in self.model_fields_set: - _dict['lipidMapsId'] = None - - # set to None if lipid_class_name (nullable) is None - # and model_fields_set contains the field - if self.lipid_class_name is None and "lipid_class_name" in self.model_fields_set: - _dict['lipidClassName'] = None - - # set to None if hypothetical_structure (nullable) is None - # and model_fields_set contains the field - if self.hypothetical_structure is None and "hypothetical_structure" in self.model_fields_set: - _dict['hypotheticalStructure'] = None - - # set to None if chains_unknown (nullable) is None - # and model_fields_set contains the field - if self.chains_unknown is None and "chains_unknown" in self.model_fields_set: - _dict['chainsUnknown'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/metabolic_transformation.py b/client-api_python/generated/PySirius/models/metabolic_transformation.py new file mode 100644 index 00000000..656aee80 --- /dev/null +++ b/client-api_python/generated/PySirius/models/metabolic_transformation.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class MetabolicTransformation(str, Enum): + """ + MetabolicTransformation + """ + + """ + allowed enum values + """ + PHASE_1_CYP450 = 'PHASE_1_CYP450' + EC_BASED = 'EC_BASED' + PHASE_2 = 'PHASE_2' + HUMAN_GUT = 'HUMAN_GUT' + ALL_HUMAN = 'ALL_HUMAN' + ABIOTIC = 'ABIOTIC' + HUMAN_CUSTOM_MULTI = 'HUMAN_CUSTOM_MULTI' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MetabolicTransformation from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/ms_data.py b/client-api_python/generated/PySirius/models/ms_data.py index ea72722b..818c1513 100644 --- a/client-api_python/generated/PySirius/models/ms_data.py +++ b/client-api_python/generated/PySirius/models/ms_data.py @@ -23,13 +23,14 @@ class MsData(BaseModel): """ - The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar + The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One extracted isotope pattern (optional) - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar """ # noqa: E501 + isotope_pattern: Optional[BasicSpectrum] = Field(default=None, alias="isotopePattern") merged_ms1: Optional[BasicSpectrum] = Field(default=None, alias="mergedMs1") merged_ms2: Optional[BasicSpectrum] = Field(default=None, alias="mergedMs2") - ms1_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, alias="ms1Spectra") - ms2_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, alias="ms2Spectra") - __properties: ClassVar[List[str]] = ["mergedMs1", "mergedMs2", "ms1Spectra", "ms2Spectra"] + ms1_spectra: Optional[List[BasicSpectrum]] = Field(default=None, alias="ms1Spectra") + ms2_spectra: Optional[List[BasicSpectrum]] = Field(default=None, alias="ms2Spectra") + __properties: ClassVar[List[str]] = ["isotopePattern", "mergedMs1", "mergedMs2", "ms1Spectra", "ms2Spectra"] model_config = ConfigDict( populate_by_name=True, @@ -70,6 +71,9 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of isotope_pattern + if self.isotope_pattern: + _dict['isotopePattern'] = self.isotope_pattern.to_dict() # override the default output from pydantic by calling `to_dict()` of merged_ms1 if self.merged_ms1: _dict['mergedMs1'] = self.merged_ms1.to_dict() @@ -90,16 +94,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_ms2_spectra: _items.append(_item_ms2_spectra.to_dict()) _dict['ms2Spectra'] = _items - # set to None if merged_ms1 (nullable) is None - # and model_fields_set contains the field - if self.merged_ms1 is None and "merged_ms1" in self.model_fields_set: - _dict['mergedMs1'] = None - - # set to None if merged_ms2 (nullable) is None - # and model_fields_set contains the field - if self.merged_ms2 is None and "merged_ms2" in self.model_fields_set: - _dict['mergedMs2'] = None - return _dict @classmethod @@ -112,6 +106,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "isotopePattern": BasicSpectrum.from_dict(obj["isotopePattern"]) if obj.get("isotopePattern") is not None else None, "mergedMs1": BasicSpectrum.from_dict(obj["mergedMs1"]) if obj.get("mergedMs1") is not None else None, "mergedMs2": BasicSpectrum.from_dict(obj["mergedMs2"]) if obj.get("mergedMs2") is not None else None, "ms1Spectra": [BasicSpectrum.from_dict(_item) for _item in obj["ms1Spectra"]] if obj.get("ms1Spectra") is not None else None, diff --git a/client-api_python/generated/PySirius/models/ms_novelist.py b/client-api_python/generated/PySirius/models/ms_novelist.py index 3de78105..52b5a0d3 100644 --- a/client-api_python/generated/PySirius/models/ms_novelist.py +++ b/client-api_python/generated/PySirius/models/ms_novelist.py @@ -67,11 +67,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if number_of_candidate_to_predict (nullable) is None - # and model_fields_set contains the field - if self.number_of_candidate_to_predict is None and "number_of_candidate_to_predict" in self.model_fields_set: - _dict['numberOfCandidateToPredict'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/p2_mode.py b/client-api_python/generated/PySirius/models/p2_mode.py new file mode 100644 index 00000000..9c7ef4ae --- /dev/null +++ b/client-api_python/generated/PySirius/models/p2_mode.py @@ -0,0 +1,36 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class P2Mode(str, Enum): + """ + P2Mode + """ + + """ + allowed enum values + """ + BT_RULE_BASED = 'BT_RULE_BASED' + P2_RULE_ONLY = 'P2_RULE_ONLY' + COMBINED_RULES = 'COMBINED_RULES' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of P2Mode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py b/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py index 7a92a432..4e905b7a 100644 --- a/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py +++ b/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py @@ -26,7 +26,7 @@ class PagedModelFormulaCandidate(BaseModel): """ PagedModelFormulaCandidate """ # noqa: E501 - content: Optional[List[Optional[FormulaCandidate]]] = None + content: Optional[List[FormulaCandidate]] = None page: Optional[PageMetadata] = None __properties: ClassVar[List[str]] = ["content", "page"] diff --git a/client-api_python/generated/PySirius/models/paged_model_run.py b/client-api_python/generated/PySirius/models/paged_model_run.py new file mode 100644 index 00000000..90f4f94d --- /dev/null +++ b/client-api_python/generated/PySirius/models/paged_model_run.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.page_metadata import PageMetadata +from PySirius.models.run import Run +from typing import Optional, Set +from typing_extensions import Self + +class PagedModelRun(BaseModel): + """ + PagedModelRun + """ # noqa: E501 + content: Optional[List[Run]] = None + page: Optional[PageMetadata] = None + __properties: ClassVar[List[str]] = ["content", "page"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PagedModelRun from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in content (list) + _items = [] + if self.content: + for _item_content in self.content: + if _item_content: + _items.append(_item_content.to_dict()) + _dict['content'] = _items + # override the default output from pydantic by calling `to_dict()` of page + if self.page: + _dict['page'] = self.page.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PagedModelRun from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "content": [Run.from_dict(_item) for _item in obj["content"]] if obj.get("content") is not None else None, + "page": PageMetadata.from_dict(obj["page"]) if obj.get("page") is not None else None + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py b/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py index e8d83748..7fa08ce4 100644 --- a/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py +++ b/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py @@ -26,7 +26,7 @@ class PagedModelSpectralLibraryMatch(BaseModel): """ PagedModelSpectralLibraryMatch """ # noqa: E501 - content: Optional[List[Optional[SpectralLibraryMatch]]] = None + content: Optional[List[SpectralLibraryMatch]] = None page: Optional[PageMetadata] = None __properties: ClassVar[List[str]] = ["content", "page"] diff --git a/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py b/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py index edcfa069..ffed6e69 100644 --- a/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py +++ b/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py @@ -26,7 +26,7 @@ class PagedModelStructureCandidateScored(BaseModel): """ PagedModelStructureCandidateScored """ # noqa: E501 - content: Optional[List[Optional[StructureCandidateScored]]] = None + content: Optional[List[StructureCandidateScored]] = None page: Optional[PageMetadata] = None __properties: ClassVar[List[str]] = ["content", "page"] diff --git a/client-api_python/generated/PySirius/models/peak_annotation.py b/client-api_python/generated/PySirius/models/peak_annotation.py index 7b1c9968..630eeb09 100644 --- a/client-api_python/generated/PySirius/models/peak_annotation.py +++ b/client-api_python/generated/PySirius/models/peak_annotation.py @@ -33,10 +33,10 @@ class PeakAnnotation(BaseModel): mass_deviation_ppm: Optional[float] = Field(default=None, description="Relative mass deviation of the exact mass to the measured peak mass in ppm", alias="massDeviationPpm") recalibrated_mass_deviation_mz: Optional[float] = Field(default=None, description="Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa", alias="recalibratedMassDeviationMz") recalibrated_mass_deviation_ppm: Optional[float] = Field(default=None, description="Relative mass deviation of the exact mass to the recalibrated peak mass in ppm", alias="recalibratedMassDeviationPpm") - parent_peak: Optional[ParentPeak] = Field(default=None, alias="parentPeak") - substructure_atoms: Optional[List[Optional[StrictInt]]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms)", alias="substructureAtoms") - substructure_bonds: Optional[List[Optional[StrictInt]]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested.", alias="substructureBonds") - substructure_bonds_cut: Optional[List[Optional[StrictInt]]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested.", alias="substructureBondsCut") + parent_peak: Optional[ParentPeak] = Field(default=None, description="Link to the parent peak connected via the neutral loss from the fragmentation tree.", alias="parentPeak") + substructure_atoms: Optional[List[StrictInt]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms)", alias="substructureAtoms") + substructure_bonds: Optional[List[StrictInt]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested.", alias="substructureBonds") + substructure_bonds_cut: Optional[List[StrictInt]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested.", alias="substructureBondsCut") substructure_score: Optional[float] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. This score roughly reflects the probability of this fragment forming. This is the score of the path from root to this node which has the maximal score or \"profit\". The score of a path is equal to the sum of scores of its contained fragments and edges. Note: Refers to 'totalScore' in CombinatorialNode Null if substructure annotation not available or not requested.", alias="substructureScore") hydrogen_rearrangements: Optional[StrictInt] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Number of hydrogens rearrangements needed to match the substructure to the fragment formula. Null if substructure annotation not available or not requested.", alias="hydrogenRearrangements") __properties: ClassVar[List[str]] = ["fragmentId", "molecularFormula", "adduct", "exactMass", "massDeviationMz", "massDeviationPpm", "recalibratedMassDeviationMz", "recalibratedMassDeviationPpm", "parentPeak", "substructureAtoms", "substructureBonds", "substructureBondsCut", "substructureScore", "hydrogenRearrangements"] @@ -83,71 +83,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of parent_peak if self.parent_peak: _dict['parentPeak'] = self.parent_peak.to_dict() - # set to None if molecular_formula (nullable) is None - # and model_fields_set contains the field - if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: - _dict['molecularFormula'] = None - - # set to None if adduct (nullable) is None - # and model_fields_set contains the field - if self.adduct is None and "adduct" in self.model_fields_set: - _dict['adduct'] = None - - # set to None if exact_mass (nullable) is None - # and model_fields_set contains the field - if self.exact_mass is None and "exact_mass" in self.model_fields_set: - _dict['exactMass'] = None - - # set to None if mass_deviation_mz (nullable) is None - # and model_fields_set contains the field - if self.mass_deviation_mz is None and "mass_deviation_mz" in self.model_fields_set: - _dict['massDeviationMz'] = None - - # set to None if mass_deviation_ppm (nullable) is None - # and model_fields_set contains the field - if self.mass_deviation_ppm is None and "mass_deviation_ppm" in self.model_fields_set: - _dict['massDeviationPpm'] = None - - # set to None if recalibrated_mass_deviation_mz (nullable) is None - # and model_fields_set contains the field - if self.recalibrated_mass_deviation_mz is None and "recalibrated_mass_deviation_mz" in self.model_fields_set: - _dict['recalibratedMassDeviationMz'] = None - - # set to None if recalibrated_mass_deviation_ppm (nullable) is None - # and model_fields_set contains the field - if self.recalibrated_mass_deviation_ppm is None and "recalibrated_mass_deviation_ppm" in self.model_fields_set: - _dict['recalibratedMassDeviationPpm'] = None - - # set to None if parent_peak (nullable) is None - # and model_fields_set contains the field - if self.parent_peak is None and "parent_peak" in self.model_fields_set: - _dict['parentPeak'] = None - - # set to None if substructure_atoms (nullable) is None - # and model_fields_set contains the field - if self.substructure_atoms is None and "substructure_atoms" in self.model_fields_set: - _dict['substructureAtoms'] = None - - # set to None if substructure_bonds (nullable) is None - # and model_fields_set contains the field - if self.substructure_bonds is None and "substructure_bonds" in self.model_fields_set: - _dict['substructureBonds'] = None - - # set to None if substructure_bonds_cut (nullable) is None - # and model_fields_set contains the field - if self.substructure_bonds_cut is None and "substructure_bonds_cut" in self.model_fields_set: - _dict['substructureBondsCut'] = None - - # set to None if substructure_score (nullable) is None - # and model_fields_set contains the field - if self.substructure_score is None and "substructure_score" in self.model_fields_set: - _dict['substructureScore'] = None - - # set to None if hydrogen_rearrangements (nullable) is None - # and model_fields_set contains the field - if self.hydrogen_rearrangements is None and "hydrogen_rearrangements" in self.model_fields_set: - _dict['hydrogenRearrangements'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/peak_pair.py b/client-api_python/generated/PySirius/models/peak_pair.py new file mode 100644 index 00000000..b7c651ba --- /dev/null +++ b/client-api_python/generated/PySirius/models/peak_pair.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class PeakPair(BaseModel): + """ + PeakPair + """ # noqa: E501 + query_peak: StrictInt = Field(alias="queryPeak") + reference_peak: StrictInt = Field(alias="referencePeak") + __properties: ClassVar[List[str]] = ["queryPeak", "referencePeak"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PeakPair from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PeakPair from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "queryPeak": obj.get("queryPeak"), + "referencePeak": obj.get("referencePeak") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/project_change_event.py b/client-api_python/generated/PySirius/models/project_change_event.py index ae75d335..affbf270 100644 --- a/client-api_python/generated/PySirius/models/project_change_event.py +++ b/client-api_python/generated/PySirius/models/project_change_event.py @@ -72,26 +72,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if compound_id (nullable) is None - # and model_fields_set contains the field - if self.compound_id is None and "compound_id" in self.model_fields_set: - _dict['compoundId'] = None - - # set to None if featured_id (nullable) is None - # and model_fields_set contains the field - if self.featured_id is None and "featured_id" in self.model_fields_set: - _dict['featuredId'] = None - - # set to None if formula_id (nullable) is None - # and model_fields_set contains the field - if self.formula_id is None and "formula_id" in self.model_fields_set: - _dict['formulaId'] = None - - # set to None if structure_in_ch_i_key (nullable) is None - # and model_fields_set contains the field - if self.structure_in_ch_i_key is None and "structure_in_ch_i_key" in self.model_fields_set: - _dict['structureInChIKey'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/project_info.py b/client-api_python/generated/PySirius/models/project_info.py index 80831832..e952e7e0 100644 --- a/client-api_python/generated/PySirius/models/project_info.py +++ b/client-api_python/generated/PySirius/models/project_info.py @@ -28,7 +28,7 @@ class ProjectInfo(BaseModel): project_id: Optional[StrictStr] = Field(default=None, description="a user selected unique name of the project for easy access.", alias="projectId") location: Optional[StrictStr] = Field(default=None, description="storage location of the project.") description: Optional[StrictStr] = Field(default=None, description="Description of this project.") - type: Optional[ProjectType] = None + type: Optional[ProjectType] = Field(default=None, description="Type of this project. NULL if project type has not yet been specified by importing data.") compatible: Optional[StrictBool] = Field(default=None, description="Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend. If true project is up-to-date and there are no restrictions regarding usage. If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information If NULL the information has not been requested.") num_of_features: Optional[StrictInt] = Field(default=None, description="Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').", alias="numOfFeatures") num_of_compounds: Optional[StrictInt] = Field(default=None, description="Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.", alias="numOfCompounds") @@ -74,36 +74,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if description (nullable) is None - # and model_fields_set contains the field - if self.description is None and "description" in self.model_fields_set: - _dict['description'] = None - - # set to None if type (nullable) is None - # and model_fields_set contains the field - if self.type is None and "type" in self.model_fields_set: - _dict['type'] = None - - # set to None if compatible (nullable) is None - # and model_fields_set contains the field - if self.compatible is None and "compatible" in self.model_fields_set: - _dict['compatible'] = None - - # set to None if num_of_features (nullable) is None - # and model_fields_set contains the field - if self.num_of_features is None and "num_of_features" in self.model_fields_set: - _dict['numOfFeatures'] = None - - # set to None if num_of_compounds (nullable) is None - # and model_fields_set contains the field - if self.num_of_compounds is None and "num_of_compounds" in self.model_fields_set: - _dict['numOfCompounds'] = None - - # set to None if num_of_bytes (nullable) is None - # and model_fields_set contains the field - if self.num_of_bytes is None and "num_of_bytes" in self.model_fields_set: - _dict['numOfBytes'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/project_type.py b/client-api_python/generated/PySirius/models/project_type.py index 526babd3..f0c64d5e 100644 --- a/client-api_python/generated/PySirius/models/project_type.py +++ b/client-api_python/generated/PySirius/models/project_type.py @@ -24,6 +24,7 @@ class ProjectType(str, Enum): """ allowed enum values """ + UNIMPORTED = 'UNIMPORTED' DIRECT_IMPORT = 'DIRECT_IMPORT' PEAKLISTS = 'PEAKLISTS' ALIGNED_RUNS = 'ALIGNED_RUNS' diff --git a/client-api_python/generated/PySirius/models/quality_item.py b/client-api_python/generated/PySirius/models/quality_item.py index 591e2bbe..7237141d 100644 --- a/client-api_python/generated/PySirius/models/quality_item.py +++ b/client-api_python/generated/PySirius/models/quality_item.py @@ -70,11 +70,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if quality (nullable) is None - # and model_fields_set contains the field - if self.quality is None and "quality" in self.model_fields_set: - _dict['quality'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/quant_measure.py b/client-api_python/generated/PySirius/models/quant_measure.py new file mode 100644 index 00000000..e2def182 --- /dev/null +++ b/client-api_python/generated/PySirius/models/quant_measure.py @@ -0,0 +1,35 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class QuantMeasure(str, Enum): + """ + QuantMeasure + """ + + """ + allowed enum values + """ + APEX_INTENSITY = 'APEX_INTENSITY' + AREA_UNDER_CURVE = 'AREA_UNDER_CURVE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of QuantMeasure from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/quantification_row_type.py b/client-api_python/generated/PySirius/models/quant_row_type.py similarity index 76% rename from client-api_python/generated/PySirius/models/quantification_row_type.py rename to client-api_python/generated/PySirius/models/quant_row_type.py index 27f7d7e0..6ef94cd0 100644 --- a/client-api_python/generated/PySirius/models/quantification_row_type.py +++ b/client-api_python/generated/PySirius/models/quant_row_type.py @@ -16,19 +16,20 @@ from typing_extensions import Self -class QuantificationRowType(str, Enum): +class QuantRowType(str, Enum): """ - QuantificationRowType + QuantRowType """ """ allowed enum values """ FEATURES = 'FEATURES' + COMPOUNDS = 'COMPOUNDS' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of QuantificationRowType from a JSON string""" + """Create an instance of QuantRowType from a JSON string""" return cls(json.loads(json_str)) diff --git a/client-api_python/generated/PySirius/models/quantification_table_experimental.py b/client-api_python/generated/PySirius/models/quant_table_experimental.py similarity index 52% rename from client-api_python/generated/PySirius/models/quantification_table_experimental.py rename to client-api_python/generated/PySirius/models/quant_table_experimental.py index 0e7ec007..623fecff 100644 --- a/client-api_python/generated/PySirius/models/quantification_table_experimental.py +++ b/client-api_python/generated/PySirius/models/quant_table_experimental.py @@ -17,25 +17,23 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from PySirius.models.quantification_column_type import QuantificationColumnType -from PySirius.models.quantification_measure import QuantificationMeasure -from PySirius.models.quantification_row_type import QuantificationRowType +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_row_type import QuantRowType from typing import Optional, Set from typing_extensions import Self -class QuantificationTableExperimental(BaseModel): +class QuantTableExperimental(BaseModel): """ EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. """ # noqa: E501 - quantification_type: Optional[QuantificationMeasure] = Field(default=None, alias="quantificationType") - row_type: Optional[QuantificationRowType] = Field(default=None, alias="rowType") - column_type: Optional[QuantificationColumnType] = Field(default=None, alias="columnType") - row_ids: Optional[List[Optional[StrictInt]]] = Field(default=None, alias="rowIds") - column_ids: Optional[List[Optional[StrictInt]]] = Field(default=None, alias="columnIds") - row_names: Optional[List[Optional[StrictStr]]] = Field(default=None, alias="rowNames") - column_names: Optional[List[Optional[StrictStr]]] = Field(default=None, alias="columnNames") + quantification_measure: Optional[QuantMeasure] = Field(default=None, alias="quantificationMeasure") + row_type: Optional[QuantRowType] = Field(default=None, alias="rowType") + row_ids: Optional[List[StrictInt]] = Field(default=None, alias="rowIds") + column_ids: Optional[List[StrictInt]] = Field(default=None, alias="columnIds") + row_names: Optional[List[StrictStr]] = Field(default=None, alias="rowNames") + column_names: Optional[List[StrictStr]] = Field(default=None, alias="columnNames") values: Optional[List[List[float]]] = None - __properties: ClassVar[List[str]] = ["quantificationType", "rowType", "columnType", "rowIds", "columnIds", "rowNames", "columnNames", "values"] + __properties: ClassVar[List[str]] = ["quantificationMeasure", "rowType", "rowIds", "columnIds", "rowNames", "columnNames", "values"] model_config = ConfigDict( populate_by_name=True, @@ -55,7 +53,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of QuantificationTableExperimental from a JSON string""" + """Create an instance of QuantTableExperimental from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -76,31 +74,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if row_ids (nullable) is None - # and model_fields_set contains the field - if self.row_ids is None and "row_ids" in self.model_fields_set: - _dict['rowIds'] = None - - # set to None if column_ids (nullable) is None - # and model_fields_set contains the field - if self.column_ids is None and "column_ids" in self.model_fields_set: - _dict['columnIds'] = None - - # set to None if row_names (nullable) is None - # and model_fields_set contains the field - if self.row_names is None and "row_names" in self.model_fields_set: - _dict['rowNames'] = None - - # set to None if column_names (nullable) is None - # and model_fields_set contains the field - if self.column_names is None and "column_names" in self.model_fields_set: - _dict['columnNames'] = None - return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of QuantificationTableExperimental from a dict""" + """Create an instance of QuantTableExperimental from a dict""" if obj is None: return None @@ -108,9 +86,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "quantificationType": obj.get("quantificationType"), + "quantificationMeasure": obj.get("quantificationMeasure"), "rowType": obj.get("rowType"), - "columnType": obj.get("columnType"), "rowIds": obj.get("rowIds"), "columnIds": obj.get("columnIds"), "rowNames": obj.get("rowNames"), diff --git a/client-api_python/generated/PySirius/models/run.py b/client-api_python/generated/PySirius/models/run.py new file mode 100644 index 00000000..ec88cc06 --- /dev/null +++ b/client-api_python/generated/PySirius/models/run.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.tag import Tag +from typing import Optional, Set +from typing_extensions import Self + +class Run(BaseModel): + """ + Run + """ # noqa: E501 + run_id: Optional[StrictStr] = Field(default=None, description="Identifier", alias="runId") + name: Optional[StrictStr] = Field(default=None, description="Informative, human-readable name of this run") + source: Optional[StrictStr] = Field(default=None, description="Source location") + chromatography: Optional[StrictStr] = None + ionization: Optional[StrictStr] = None + fragmentation: Optional[StrictStr] = None + mass_analyzers: Optional[List[StrictStr]] = Field(default=None, alias="massAnalyzers") + tags: Optional[Dict[str, Tag]] = Field(default=None, description="Key: tagName, value: tag") + __properties: ClassVar[List[str]] = ["runId", "name", "source", "chromatography", "ionization", "fragmentation", "massAnalyzers", "tags"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Run from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each value in tags (dict) + _field_dict = {} + if self.tags: + for _key_tags in self.tags: + if self.tags[_key_tags]: + _field_dict[_key_tags] = self.tags[_key_tags].to_dict() + _dict['tags'] = _field_dict + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Run from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "runId": obj.get("runId"), + "name": obj.get("name"), + "source": obj.get("source"), + "chromatography": obj.get("chromatography"), + "ionization": obj.get("ionization"), + "fragmentation": obj.get("fragmentation"), + "massAnalyzers": obj.get("massAnalyzers"), + "tags": dict( + (_k, Tag.from_dict(_v)) + for _k, _v in obj["tags"].items() + ) + if obj.get("tags") is not None + else None + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/run_opt_field.py b/client-api_python/generated/PySirius/models/run_opt_field.py new file mode 100644 index 00000000..3d595746 --- /dev/null +++ b/client-api_python/generated/PySirius/models/run_opt_field.py @@ -0,0 +1,35 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class RunOptField(str, Enum): + """ + RunOptField + """ + + """ + allowed enum values + """ + NONE = 'none' + TAGS = 'tags' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RunOptField from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/sample_type_fold_change_request.py b/client-api_python/generated/PySirius/models/sample_type_fold_change_request.py new file mode 100644 index 00000000..f639f6b2 --- /dev/null +++ b/client-api_python/generated/PySirius/models/sample_type_fold_change_request.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SampleTypeFoldChangeRequest(BaseModel): + """ + SampleTypeFoldChangeRequest + """ # noqa: E501 + sample_run_ids: Optional[List[StrictStr]] = Field(default=None, alias="sampleRunIds") + blank_run_ids: Optional[List[StrictStr]] = Field(default=None, alias="blankRunIds") + control_run_ids: Optional[List[StrictStr]] = Field(default=None, alias="controlRunIds") + __properties: ClassVar[List[str]] = ["sampleRunIds", "blankRunIds", "controlRunIds"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SampleTypeFoldChangeRequest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SampleTypeFoldChangeRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sampleRunIds": obj.get("sampleRunIds"), + "blankRunIds": obj.get("blankRunIds"), + "controlRunIds": obj.get("controlRunIds") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/searchable_database.py b/client-api_python/generated/PySirius/models/searchable_database.py index 21b65cc9..aaceb58e 100644 --- a/client-api_python/generated/PySirius/models/searchable_database.py +++ b/client-api_python/generated/PySirius/models/searchable_database.py @@ -78,51 +78,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if display_name (nullable) is None - # and model_fields_set contains the field - if self.display_name is None and "display_name" in self.model_fields_set: - _dict['displayName'] = None - - # set to None if location (nullable) is None - # and model_fields_set contains the field - if self.location is None and "location" in self.model_fields_set: - _dict['location'] = None - - # set to None if match_rt_of_reference_spectra (nullable) is None - # and model_fields_set contains the field - if self.match_rt_of_reference_spectra is None and "match_rt_of_reference_spectra" in self.model_fields_set: - _dict['matchRtOfReferenceSpectra'] = None - - # set to None if db_date (nullable) is None - # and model_fields_set contains the field - if self.db_date is None and "db_date" in self.model_fields_set: - _dict['dbDate'] = None - - # set to None if db_version (nullable) is None - # and model_fields_set contains the field - if self.db_version is None and "db_version" in self.model_fields_set: - _dict['dbVersion'] = None - - # set to None if number_of_structures (nullable) is None - # and model_fields_set contains the field - if self.number_of_structures is None and "number_of_structures" in self.model_fields_set: - _dict['numberOfStructures'] = None - - # set to None if number_of_formulas (nullable) is None - # and model_fields_set contains the field - if self.number_of_formulas is None and "number_of_formulas" in self.model_fields_set: - _dict['numberOfFormulas'] = None - - # set to None if number_of_reference_spectra (nullable) is None - # and model_fields_set contains the field - if self.number_of_reference_spectra is None and "number_of_reference_spectra" in self.model_fields_set: - _dict['numberOfReferenceSpectra'] = None - - # set to None if error_message (nullable) is None - # and model_fields_set contains the field - if self.error_message is None and "error_message" in self.model_fields_set: - _dict['errorMessage'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/searchable_database_parameters.py b/client-api_python/generated/PySirius/models/searchable_database_parameters.py index 94bbc19b..e9a5fa20 100644 --- a/client-api_python/generated/PySirius/models/searchable_database_parameters.py +++ b/client-api_python/generated/PySirius/models/searchable_database_parameters.py @@ -68,21 +68,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if display_name (nullable) is None - # and model_fields_set contains the field - if self.display_name is None and "display_name" in self.model_fields_set: - _dict['displayName'] = None - - # set to None if location (nullable) is None - # and model_fields_set contains the field - if self.location is None and "location" in self.model_fields_set: - _dict['location'] = None - - # set to None if match_rt_of_reference_spectra (nullable) is None - # and model_fields_set contains the field - if self.match_rt_of_reference_spectra is None and "match_rt_of_reference_spectra" in self.model_fields_set: - _dict['matchRtOfReferenceSpectra'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/security_context.py b/client-api_python/generated/PySirius/models/security_context.py new file mode 100644 index 00000000..e0d8ffc5 --- /dev/null +++ b/client-api_python/generated/PySirius/models/security_context.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.security_context_principal import SecurityContextPrincipal +from typing import Optional, Set +from typing_extensions import Self + +class SecurityContext(BaseModel): + """ + SecurityContext + """ # noqa: E501 + principal: Optional[SecurityContextPrincipal] = None + __properties: ClassVar[List[str]] = ["principal"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SecurityContext from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of principal + if self.principal: + _dict['principal'] = self.principal.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SecurityContext from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "principal": SecurityContextPrincipal.from_dict(obj["principal"]) if obj.get("principal") is not None else None + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/gui_info.py b/client-api_python/generated/PySirius/models/security_context_principal.py similarity index 81% rename from client-api_python/generated/PySirius/models/gui_info.py rename to client-api_python/generated/PySirius/models/security_context_principal.py index 234d774a..c9dfcefc 100644 --- a/client-api_python/generated/PySirius/models/gui_info.py +++ b/client-api_python/generated/PySirius/models/security_context_principal.py @@ -15,17 +15,17 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class GuiInfo(BaseModel): +class SecurityContextPrincipal(BaseModel): """ - GuiInfo + SecurityContextPrincipal """ # noqa: E501 - project_id: Optional[StrictStr] = Field(default=None, description="The project this instance is running on", alias="projectId") - __properties: ClassVar[List[str]] = ["projectId"] + name: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["name"] model_config = ConfigDict( populate_by_name=True, @@ -45,7 +45,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of GuiInfo from a JSON string""" + """Create an instance of SecurityContextPrincipal from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -70,7 +70,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of GuiInfo from a dict""" + """Create an instance of SecurityContextPrincipal from a dict""" if obj is None: return None @@ -78,7 +78,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "projectId": obj.get("projectId") + "name": obj.get("name") }) return _obj diff --git a/client-api_python/generated/PySirius/models/sirius.py b/client-api_python/generated/PySirius/models/sirius.py index f9becd4b..7b836dc2 100644 --- a/client-api_python/generated/PySirius/models/sirius.py +++ b/client-api_python/generated/PySirius/models/sirius.py @@ -29,22 +29,22 @@ class Sirius(BaseModel): User/developer friendly parameter subset for the Formula/SIRIUS tool Can use results from Spectral library search tool. """ # noqa: E501 enabled: Optional[StrictBool] = Field(default=None, description="tags whether the tool is enabled") - profile: Optional[InstrumentProfile] = None + profile: Optional[InstrumentProfile] = Field(default=None, description="Instrument specific profile for internal algorithms Just select what comes closest to the instrument that was used for measuring the data.") number_of_candidates: Optional[StrictInt] = Field(default=None, description="Number of formula candidates to keep as result list (Formula Candidates).", alias="numberOfCandidates") number_of_candidates_per_ionization: Optional[StrictInt] = Field(default=None, description="Use this parameter if you want to force SIRIUS to report at least NumberOfCandidatesPerIonization results per ionization. if <= 0, this parameter will have no effect and just the top NumberOfCandidates results will be reported.", alias="numberOfCandidatesPerIonization") mass_accuracy_ms2ppm: Optional[float] = Field(default=None, description="Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.", alias="massAccuracyMS2ppm") - isotope_ms2_settings: Optional[IsotopeMs2Strategy] = Field(default=None, alias="isotopeMs2Settings") + isotope_ms2_settings: Optional[IsotopeMs2Strategy] = Field(default=None, description="Specify how isotope patterns in MS/MS should be handled.

FILTER: When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.

SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns

IGNORE: Ignore that there might be isotope patterns in MS/MS", alias="isotopeMs2Settings") filter_by_isotope_pattern: Optional[StrictBool] = Field(default=None, description="When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.", alias="filterByIsotopePattern") enforce_el_gordo_formula: Optional[StrictBool] = Field(default=None, description="El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.", alias="enforceElGordoFormula") perform_bottom_up_search: Optional[StrictBool] = Field(default=None, description="If true, molecular formula generation via bottom up search is enabled.", alias="performBottomUpSearch") perform_denovo_below_mz: Optional[float] = Field(default=None, description="Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.", alias="performDenovoBelowMz") - formula_search_dbs: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.", alias="formulaSearchDBs") + formula_search_dbs: Optional[List[StrictStr]] = Field(default=None, description="List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.", alias="formulaSearchDBs") apply_formula_constraints_to_db_and_bottom_up_search: Optional[StrictBool] = Field(default=None, description="By default, the formula (element) constraints are only applied to de novo molecular formula generation. If true, the constraints are as well applied to database search and bottom up search.", alias="applyFormulaConstraintsToDBAndBottomUpSearch") enforced_formula_constraints: Optional[StrictStr] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Enforced: Enforced elements are always considered", alias="enforcedFormulaConstraints") fallback_formula_constraints: Optional[StrictStr] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)", alias="fallbackFormulaConstraints") - detectable_elements: Optional[List[Optional[StrictStr]]] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)", alias="detectableElements") - ilp_timeout: Optional[Timeout] = Field(default=None, alias="ilpTimeout") - use_heuristic: Optional[UseHeuristic] = Field(default=None, alias="useHeuristic") + detectable_elements: Optional[List[StrictStr]] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)", alias="detectableElements") + ilp_timeout: Optional[Timeout] = Field(default=None, description="Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint", alias="ilpTimeout") + use_heuristic: Optional[UseHeuristic] = Field(default=None, description="Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically.", alias="useHeuristic") inject_spec_lib_match_formulas: Optional[StrictBool] = Field(default=None, description="If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied", alias="injectSpecLibMatchFormulas") min_score_to_inject_spec_lib_match: Optional[float] = Field(default=None, description="Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.", alias="minScoreToInjectSpecLibMatch") min_peaks_to_inject_spec_lib_match: Optional[StrictInt] = Field(default=None, description="Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.", alias="minPeaksToInjectSpecLibMatch") @@ -95,101 +95,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of use_heuristic if self.use_heuristic: _dict['useHeuristic'] = self.use_heuristic.to_dict() - # set to None if profile (nullable) is None - # and model_fields_set contains the field - if self.profile is None and "profile" in self.model_fields_set: - _dict['profile'] = None - - # set to None if number_of_candidates (nullable) is None - # and model_fields_set contains the field - if self.number_of_candidates is None and "number_of_candidates" in self.model_fields_set: - _dict['numberOfCandidates'] = None - - # set to None if number_of_candidates_per_ionization (nullable) is None - # and model_fields_set contains the field - if self.number_of_candidates_per_ionization is None and "number_of_candidates_per_ionization" in self.model_fields_set: - _dict['numberOfCandidatesPerIonization'] = None - - # set to None if mass_accuracy_ms2ppm (nullable) is None - # and model_fields_set contains the field - if self.mass_accuracy_ms2ppm is None and "mass_accuracy_ms2ppm" in self.model_fields_set: - _dict['massAccuracyMS2ppm'] = None - - # set to None if isotope_ms2_settings (nullable) is None - # and model_fields_set contains the field - if self.isotope_ms2_settings is None and "isotope_ms2_settings" in self.model_fields_set: - _dict['isotopeMs2Settings'] = None - - # set to None if filter_by_isotope_pattern (nullable) is None - # and model_fields_set contains the field - if self.filter_by_isotope_pattern is None and "filter_by_isotope_pattern" in self.model_fields_set: - _dict['filterByIsotopePattern'] = None - - # set to None if enforce_el_gordo_formula (nullable) is None - # and model_fields_set contains the field - if self.enforce_el_gordo_formula is None and "enforce_el_gordo_formula" in self.model_fields_set: - _dict['enforceElGordoFormula'] = None - - # set to None if perform_bottom_up_search (nullable) is None - # and model_fields_set contains the field - if self.perform_bottom_up_search is None and "perform_bottom_up_search" in self.model_fields_set: - _dict['performBottomUpSearch'] = None - - # set to None if perform_denovo_below_mz (nullable) is None - # and model_fields_set contains the field - if self.perform_denovo_below_mz is None and "perform_denovo_below_mz" in self.model_fields_set: - _dict['performDenovoBelowMz'] = None - - # set to None if formula_search_dbs (nullable) is None - # and model_fields_set contains the field - if self.formula_search_dbs is None and "formula_search_dbs" in self.model_fields_set: - _dict['formulaSearchDBs'] = None - - # set to None if apply_formula_constraints_to_db_and_bottom_up_search (nullable) is None - # and model_fields_set contains the field - if self.apply_formula_constraints_to_db_and_bottom_up_search is None and "apply_formula_constraints_to_db_and_bottom_up_search" in self.model_fields_set: - _dict['applyFormulaConstraintsToDBAndBottomUpSearch'] = None - - # set to None if enforced_formula_constraints (nullable) is None - # and model_fields_set contains the field - if self.enforced_formula_constraints is None and "enforced_formula_constraints" in self.model_fields_set: - _dict['enforcedFormulaConstraints'] = None - - # set to None if fallback_formula_constraints (nullable) is None - # and model_fields_set contains the field - if self.fallback_formula_constraints is None and "fallback_formula_constraints" in self.model_fields_set: - _dict['fallbackFormulaConstraints'] = None - - # set to None if detectable_elements (nullable) is None - # and model_fields_set contains the field - if self.detectable_elements is None and "detectable_elements" in self.model_fields_set: - _dict['detectableElements'] = None - - # set to None if ilp_timeout (nullable) is None - # and model_fields_set contains the field - if self.ilp_timeout is None and "ilp_timeout" in self.model_fields_set: - _dict['ilpTimeout'] = None - - # set to None if use_heuristic (nullable) is None - # and model_fields_set contains the field - if self.use_heuristic is None and "use_heuristic" in self.model_fields_set: - _dict['useHeuristic'] = None - - # set to None if inject_spec_lib_match_formulas (nullable) is None - # and model_fields_set contains the field - if self.inject_spec_lib_match_formulas is None and "inject_spec_lib_match_formulas" in self.model_fields_set: - _dict['injectSpecLibMatchFormulas'] = None - - # set to None if min_score_to_inject_spec_lib_match (nullable) is None - # and model_fields_set contains the field - if self.min_score_to_inject_spec_lib_match is None and "min_score_to_inject_spec_lib_match" in self.model_fields_set: - _dict['minScoreToInjectSpecLibMatch'] = None - - # set to None if min_peaks_to_inject_spec_lib_match (nullable) is None - # and model_fields_set contains the field - if self.min_peaks_to_inject_spec_lib_match is None and "min_peaks_to_inject_spec_lib_match" in self.model_fields_set: - _dict['minPeaksToInjectSpecLibMatch'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/spectral_library_match.py b/client-api_python/generated/PySirius/models/spectral_library_match.py index 0e0daaa0..1329eec1 100644 --- a/client-api_python/generated/PySirius/models/spectral_library_match.py +++ b/client-api_python/generated/PySirius/models/spectral_library_match.py @@ -18,6 +18,9 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from PySirius.models.basic_spectrum import BasicSpectrum +from PySirius.models.peak_pair import PeakPair +from PySirius.models.spectral_match_type import SpectralMatchType +from PySirius.models.spectrum_type import SpectrumType from typing import Optional, Set from typing_extensions import Self @@ -27,8 +30,9 @@ class SpectralLibraryMatch(BaseModel): """ # noqa: E501 spec_match_id: Optional[StrictStr] = Field(default=None, alias="specMatchId") rank: Optional[StrictInt] = None - similarity: float - shared_peaks: Optional[StrictInt] = Field(default=None, alias="sharedPeaks") + similarity: float = Field(description="Similarity between query and reference spectrum") + shared_peaks: Optional[StrictInt] = Field(default=None, description="Number of shared/matched peaks", alias="sharedPeaks") + shared_peak_mapping: Optional[List[PeakPair]] = Field(default=None, description="List of paired/matched peak indices. Maps indices of peaks from the query spectrum (mass sorted) to indices of matched peaks in the reference spectrum (mass sorted)", alias="sharedPeakMapping") query_spectrum_index: StrictInt = Field(alias="querySpectrumIndex") db_name: Optional[StrictStr] = Field(default=None, alias="dbName") db_id: Optional[StrictStr] = Field(default=None, alias="dbId") @@ -36,11 +40,14 @@ class SpectralLibraryMatch(BaseModel): splash: Optional[StrictStr] = None molecular_formula: Optional[StrictStr] = Field(default=None, alias="molecularFormula") adduct: Optional[StrictStr] = None - exact_mass: Optional[StrictStr] = Field(default=None, alias="exactMass") + exact_mass: Optional[float] = Field(default=None, alias="exactMass") smiles: Optional[StrictStr] = None + type: Optional[SpectralMatchType] = None inchi_key: StrictStr = Field(alias="inchiKey") + reference_spectrum_type: Optional[SpectrumType] = Field(default=None, alias="referenceSpectrumType") reference_spectrum: Optional[BasicSpectrum] = Field(default=None, alias="referenceSpectrum") - __properties: ClassVar[List[str]] = ["specMatchId", "rank", "similarity", "sharedPeaks", "querySpectrumIndex", "dbName", "dbId", "uuid", "splash", "molecularFormula", "adduct", "exactMass", "smiles", "inchiKey", "referenceSpectrum"] + query_spectrum_type: Optional[SpectrumType] = Field(default=None, alias="querySpectrumType") + __properties: ClassVar[List[str]] = ["specMatchId", "rank", "similarity", "sharedPeaks", "sharedPeakMapping", "querySpectrumIndex", "dbName", "dbId", "uuid", "splash", "molecularFormula", "adduct", "exactMass", "smiles", "type", "inchiKey", "referenceSpectrumType", "referenceSpectrum", "querySpectrumType"] model_config = ConfigDict( populate_by_name=True, @@ -81,14 +88,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of each item in shared_peak_mapping (list) + _items = [] + if self.shared_peak_mapping: + for _item_shared_peak_mapping in self.shared_peak_mapping: + if _item_shared_peak_mapping: + _items.append(_item_shared_peak_mapping.to_dict()) + _dict['sharedPeakMapping'] = _items # override the default output from pydantic by calling `to_dict()` of reference_spectrum if self.reference_spectrum: _dict['referenceSpectrum'] = self.reference_spectrum.to_dict() - # set to None if reference_spectrum (nullable) is None - # and model_fields_set contains the field - if self.reference_spectrum is None and "reference_spectrum" in self.model_fields_set: - _dict['referenceSpectrum'] = None - return _dict @classmethod @@ -105,6 +114,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "rank": obj.get("rank"), "similarity": obj.get("similarity"), "sharedPeaks": obj.get("sharedPeaks"), + "sharedPeakMapping": [PeakPair.from_dict(_item) for _item in obj["sharedPeakMapping"]] if obj.get("sharedPeakMapping") is not None else None, "querySpectrumIndex": obj.get("querySpectrumIndex"), "dbName": obj.get("dbName"), "dbId": obj.get("dbId"), @@ -114,8 +124,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "adduct": obj.get("adduct"), "exactMass": obj.get("exactMass"), "smiles": obj.get("smiles"), + "type": obj.get("type"), "inchiKey": obj.get("inchiKey"), - "referenceSpectrum": BasicSpectrum.from_dict(obj["referenceSpectrum"]) if obj.get("referenceSpectrum") is not None else None + "referenceSpectrumType": obj.get("referenceSpectrumType"), + "referenceSpectrum": BasicSpectrum.from_dict(obj["referenceSpectrum"]) if obj.get("referenceSpectrum") is not None else None, + "querySpectrumType": obj.get("querySpectrumType") }) return _obj diff --git a/client-api_python/generated/PySirius/models/spectral_library_match_summary.py b/client-api_python/generated/PySirius/models/spectral_library_match_summary.py index 46e3cfdf..56570278 100644 --- a/client-api_python/generated/PySirius/models/spectral_library_match_summary.py +++ b/client-api_python/generated/PySirius/models/spectral_library_match_summary.py @@ -73,11 +73,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of best_match if self.best_match: _dict['bestMatch'] = self.best_match.to_dict() - # set to None if best_match (nullable) is None - # and model_fields_set contains the field - if self.best_match is None and "best_match" in self.model_fields_set: - _dict['bestMatch'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/spectral_library_search.py b/client-api_python/generated/PySirius/models/spectral_library_search.py index 7055daa5..e1bea3c1 100644 --- a/client-api_python/generated/PySirius/models/spectral_library_search.py +++ b/client-api_python/generated/PySirius/models/spectral_library_search.py @@ -15,7 +15,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from PySirius.models.spectral_matching_type import SpectralMatchingType from typing import Optional, Set @@ -26,11 +26,16 @@ class SpectralLibrarySearch(BaseModel): User/developer friendly parameter subset for the Spectral library search tool. """ # noqa: E501 enabled: Optional[StrictBool] = Field(default=None, description="tags whether the tool is enabled") - spectra_search_dbs: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="spectraSearchDBs") - peak_deviation_ppm: Optional[float] = Field(default=None, description="Maximum allowed mass deviation in ppm for matching peaks.", alias="peakDeviationPpm") + spectra_search_dbs: Optional[List[StrictStr]] = Field(default=None, description="Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="spectraSearchDBs") precursor_deviation_ppm: Optional[float] = Field(default=None, description="Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.", alias="precursorDeviationPpm") - scoring: Optional[SpectralMatchingType] = None - __properties: ClassVar[List[str]] = ["enabled", "spectraSearchDBs", "peakDeviationPpm", "precursorDeviationPpm", "scoring"] + min_similarity: Optional[float] = Field(default=None, description="Minimal spectral similarity of a spectral match to be considered a hit.", alias="minSimilarity") + min_num_of_peaks: Optional[StrictInt] = Field(default=None, description="Minimal number of matching peaks of a spectral match to be considered a hit.", alias="minNumOfPeaks") + enable_analogue_search: Optional[StrictBool] = Field(default=None, description="Enable analogue search in addition to the identity spectral library search", alias="enableAnalogueSearch") + min_similarity_analogue: Optional[float] = Field(default=None, description="Minimal spectral similarity of a spectral match to be considered an analogue hit.", alias="minSimilarityAnalogue") + min_num_of_peaks_analogue: Optional[StrictInt] = Field(default=None, description="Minimal number of matching peaks of a spectral match to be considered an analogue hit.", alias="minNumOfPeaksAnalogue") + scoring: Optional[SpectralMatchingType] = Field(default=None, description="NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.") + peak_deviation_ppm: Optional[float] = Field(default=None, description="NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks.", alias="peakDeviationPpm") + __properties: ClassVar[List[str]] = ["enabled", "spectraSearchDBs", "precursorDeviationPpm", "minSimilarity", "minNumOfPeaks", "enableAnalogueSearch", "minSimilarityAnalogue", "minNumOfPeaksAnalogue", "scoring", "peakDeviationPpm"] model_config = ConfigDict( populate_by_name=True, @@ -71,26 +76,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if spectra_search_dbs (nullable) is None - # and model_fields_set contains the field - if self.spectra_search_dbs is None and "spectra_search_dbs" in self.model_fields_set: - _dict['spectraSearchDBs'] = None - - # set to None if peak_deviation_ppm (nullable) is None - # and model_fields_set contains the field - if self.peak_deviation_ppm is None and "peak_deviation_ppm" in self.model_fields_set: - _dict['peakDeviationPpm'] = None - - # set to None if precursor_deviation_ppm (nullable) is None - # and model_fields_set contains the field - if self.precursor_deviation_ppm is None and "precursor_deviation_ppm" in self.model_fields_set: - _dict['precursorDeviationPpm'] = None - - # set to None if scoring (nullable) is None - # and model_fields_set contains the field - if self.scoring is None and "scoring" in self.model_fields_set: - _dict['scoring'] = None - return _dict @classmethod @@ -105,9 +90,14 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "enabled": obj.get("enabled"), "spectraSearchDBs": obj.get("spectraSearchDBs"), - "peakDeviationPpm": obj.get("peakDeviationPpm"), "precursorDeviationPpm": obj.get("precursorDeviationPpm"), - "scoring": obj.get("scoring") + "minSimilarity": obj.get("minSimilarity"), + "minNumOfPeaks": obj.get("minNumOfPeaks"), + "enableAnalogueSearch": obj.get("enableAnalogueSearch"), + "minSimilarityAnalogue": obj.get("minSimilarityAnalogue"), + "minNumOfPeaksAnalogue": obj.get("minNumOfPeaksAnalogue"), + "scoring": obj.get("scoring"), + "peakDeviationPpm": obj.get("peakDeviationPpm") }) return _obj diff --git a/client-api_python/generated/PySirius/models/spectral_match_type.py b/client-api_python/generated/PySirius/models/spectral_match_type.py new file mode 100644 index 00000000..04e27288 --- /dev/null +++ b/client-api_python/generated/PySirius/models/spectral_match_type.py @@ -0,0 +1,35 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SpectralMatchType(str, Enum): + """ + SpectralMatchType + """ + + """ + allowed enum values + """ + IDENTITY = 'IDENTITY' + ANALOG = 'ANALOG' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SpectralMatchType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/spectral_matching_type.py b/client-api_python/generated/PySirius/models/spectral_matching_type.py index 603232dc..ce5bf0ea 100644 --- a/client-api_python/generated/PySirius/models/spectral_matching_type.py +++ b/client-api_python/generated/PySirius/models/spectral_matching_type.py @@ -27,6 +27,7 @@ class SpectralMatchingType(str, Enum): INTENSITY = 'INTENSITY' GAUSSIAN = 'GAUSSIAN' MODIFIED_COSINE = 'MODIFIED_COSINE' + FAST_COSINE = 'FAST_COSINE' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/client-api_python/generated/PySirius/models/spectrum_annotation.py b/client-api_python/generated/PySirius/models/spectrum_annotation.py index 4cbdb712..a57689fe 100644 --- a/client-api_python/generated/PySirius/models/spectrum_annotation.py +++ b/client-api_python/generated/PySirius/models/spectrum_annotation.py @@ -29,9 +29,11 @@ class SpectrumAnnotation(BaseModel): exact_mass: Optional[float] = Field(default=None, description="Exact mass based on the annotated molecular formula and ionization", alias="exactMass") mass_deviation_mz: Optional[float] = Field(default=None, description="Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa", alias="massDeviationMz") mass_deviation_ppm: Optional[float] = Field(default=None, description="Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm", alias="massDeviationPpm") - structure_annotation_smiles: Optional[StrictStr] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. Null if substructure annotation not available or not requested.", alias="structureAnnotationSmiles") - structure_annotation_score: Optional[float] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) Null if substructure annotation not available or not requested.", alias="structureAnnotationScore") - __properties: ClassVar[List[str]] = ["molecularFormula", "adduct", "exactMass", "massDeviationMz", "massDeviationPpm", "structureAnnotationSmiles", "structureAnnotationScore"] + structure_annotation_smiles: Optional[StrictStr] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore.

Null if substructure annotation not available or not requested.", alias="structureAnnotationSmiles") + structure_annotation_name: Optional[StrictStr] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.

Null if substructure annotation not available or not requested.", alias="structureAnnotationName") + structure_annotation_svg: Optional[StrictStr] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refers to this SVG.

Null if substructure annotation not available or not requested.", alias="structureAnnotationSvg") + structure_annotation_score: Optional[float] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)

Null if substructure annotation not available or not requested.", alias="structureAnnotationScore") + __properties: ClassVar[List[str]] = ["molecularFormula", "adduct", "exactMass", "massDeviationMz", "massDeviationPpm", "structureAnnotationSmiles", "structureAnnotationName", "structureAnnotationSvg", "structureAnnotationScore"] model_config = ConfigDict( populate_by_name=True, @@ -72,41 +74,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if molecular_formula (nullable) is None - # and model_fields_set contains the field - if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: - _dict['molecularFormula'] = None - - # set to None if adduct (nullable) is None - # and model_fields_set contains the field - if self.adduct is None and "adduct" in self.model_fields_set: - _dict['adduct'] = None - - # set to None if exact_mass (nullable) is None - # and model_fields_set contains the field - if self.exact_mass is None and "exact_mass" in self.model_fields_set: - _dict['exactMass'] = None - - # set to None if mass_deviation_mz (nullable) is None - # and model_fields_set contains the field - if self.mass_deviation_mz is None and "mass_deviation_mz" in self.model_fields_set: - _dict['massDeviationMz'] = None - - # set to None if mass_deviation_ppm (nullable) is None - # and model_fields_set contains the field - if self.mass_deviation_ppm is None and "mass_deviation_ppm" in self.model_fields_set: - _dict['massDeviationPpm'] = None - - # set to None if structure_annotation_smiles (nullable) is None - # and model_fields_set contains the field - if self.structure_annotation_smiles is None and "structure_annotation_smiles" in self.model_fields_set: - _dict['structureAnnotationSmiles'] = None - - # set to None if structure_annotation_score (nullable) is None - # and model_fields_set contains the field - if self.structure_annotation_score is None and "structure_annotation_score" in self.model_fields_set: - _dict['structureAnnotationScore'] = None - return _dict @classmethod @@ -125,6 +92,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "massDeviationMz": obj.get("massDeviationMz"), "massDeviationPpm": obj.get("massDeviationPpm"), "structureAnnotationSmiles": obj.get("structureAnnotationSmiles"), + "structureAnnotationName": obj.get("structureAnnotationName"), + "structureAnnotationSvg": obj.get("structureAnnotationSvg"), "structureAnnotationScore": obj.get("structureAnnotationScore") }) return _obj diff --git a/client-api_python/generated/PySirius/models/spectrum_type.py b/client-api_python/generated/PySirius/models/spectrum_type.py new file mode 100644 index 00000000..dd8a9051 --- /dev/null +++ b/client-api_python/generated/PySirius/models/spectrum_type.py @@ -0,0 +1,35 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SpectrumType(str, Enum): + """ + SpectrumType + """ + + """ + allowed enum values + """ + SPECTRUM = 'SPECTRUM' + MERGED_SPECTRUM = 'MERGED_SPECTRUM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SpectrumType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/statistics_table.py b/client-api_python/generated/PySirius/models/statistics_table.py new file mode 100644 index 00000000..1b7ac186 --- /dev/null +++ b/client-api_python/generated/PySirius/models/statistics_table.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_row_type import QuantRowType +from PySirius.models.statistics_type import StatisticsType +from typing import Optional, Set +from typing_extensions import Self + +class StatisticsTable(BaseModel): + """ + StatisticsTable + """ # noqa: E501 + statistics_type: Optional[StatisticsType] = Field(default=None, alias="statisticsType") + aggregation_type: Optional[AggregationType] = Field(default=None, alias="aggregationType") + quantification_measure: Optional[QuantMeasure] = Field(default=None, alias="quantificationMeasure") + row_type: Optional[QuantRowType] = Field(default=None, alias="rowType") + row_ids: Optional[List[StrictStr]] = Field(default=None, alias="rowIds") + column_names: Optional[List[StrictStr]] = Field(default=None, alias="columnNames") + column_left_groups: Optional[List[StrictStr]] = Field(default=None, alias="columnLeftGroups") + column_right_groups: Optional[List[StrictStr]] = Field(default=None, alias="columnRightGroups") + values: Optional[List[List[float]]] = None + __properties: ClassVar[List[str]] = ["statisticsType", "aggregationType", "quantificationMeasure", "rowType", "rowIds", "columnNames", "columnLeftGroups", "columnRightGroups", "values"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of StatisticsTable from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of StatisticsTable from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "statisticsType": obj.get("statisticsType"), + "aggregationType": obj.get("aggregationType"), + "quantificationMeasure": obj.get("quantificationMeasure"), + "rowType": obj.get("rowType"), + "rowIds": obj.get("rowIds"), + "columnNames": obj.get("columnNames"), + "columnLeftGroups": obj.get("columnLeftGroups"), + "columnRightGroups": obj.get("columnRightGroups"), + "values": obj.get("values") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/statistics_type.py b/client-api_python/generated/PySirius/models/statistics_type.py new file mode 100644 index 00000000..ca7f9dc1 --- /dev/null +++ b/client-api_python/generated/PySirius/models/statistics_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class StatisticsType(str, Enum): + """ + StatisticsType + """ + + """ + allowed enum values + """ + FOLD_CHANGE = 'FOLD_CHANGE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of StatisticsType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/stored_job_submission.py b/client-api_python/generated/PySirius/models/stored_job_submission.py index 95b99317..cd0d304e 100644 --- a/client-api_python/generated/PySirius/models/stored_job_submission.py +++ b/client-api_python/generated/PySirius/models/stored_job_submission.py @@ -27,7 +27,7 @@ class StoredJobSubmission(BaseModel): """ # noqa: E501 name: StrictStr = Field(description="Unique name to identify this JobSubmission (job config).") editable: StrictBool = Field(description="False for predefined configs which are not editable and not removable.") - job_submission: JobSubmission = Field(alias="jobSubmission") + job_submission: JobSubmission = Field(description="The JobSubmission identified by the name", alias="jobSubmission") __properties: ClassVar[List[str]] = ["name", "editable", "jobSubmission"] model_config = ConfigDict( diff --git a/client-api_python/generated/PySirius/models/structure_candidate.py b/client-api_python/generated/PySirius/models/structure_candidate.py index 6d3be46b..4bd57c08 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate.py +++ b/client-api_python/generated/PySirius/models/structure_candidate.py @@ -29,10 +29,11 @@ class StructureCandidate(BaseModel): inchi_key: Optional[StrictStr] = Field(default=None, alias="inchiKey") smiles: Optional[StrictStr] = None structure_name: Optional[StrictStr] = Field(default=None, alias="structureName") + structure_svg: Optional[StrictStr] = Field(default=None, description="SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter", alias="structureSvg") + db_links: Optional[List[DBLink]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") + spectral_library_matches: Optional[List[SpectralLibraryMatch]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") xlog_p: Optional[float] = Field(default=None, alias="xlogP") - db_links: Optional[List[Optional[DBLink]]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") - spectral_library_matches: Optional[List[Optional[SpectralLibraryMatch]]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") - __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "xlogP", "dbLinks", "spectralLibraryMatches"] + __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "structureSvg", "dbLinks", "spectralLibraryMatches", "xlogP"] model_config = ConfigDict( populate_by_name=True, @@ -87,26 +88,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_spectral_library_matches: _items.append(_item_spectral_library_matches.to_dict()) _dict['spectralLibraryMatches'] = _items - # set to None if structure_name (nullable) is None - # and model_fields_set contains the field - if self.structure_name is None and "structure_name" in self.model_fields_set: - _dict['structureName'] = None - - # set to None if xlog_p (nullable) is None - # and model_fields_set contains the field - if self.xlog_p is None and "xlog_p" in self.model_fields_set: - _dict['xlogP'] = None - - # set to None if db_links (nullable) is None - # and model_fields_set contains the field - if self.db_links is None and "db_links" in self.model_fields_set: - _dict['dbLinks'] = None - - # set to None if spectral_library_matches (nullable) is None - # and model_fields_set contains the field - if self.spectral_library_matches is None and "spectral_library_matches" in self.model_fields_set: - _dict['spectralLibraryMatches'] = None - return _dict @classmethod @@ -122,9 +103,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "inchiKey": obj.get("inchiKey"), "smiles": obj.get("smiles"), "structureName": obj.get("structureName"), - "xlogP": obj.get("xlogP"), + "structureSvg": obj.get("structureSvg"), "dbLinks": [DBLink.from_dict(_item) for _item in obj["dbLinks"]] if obj.get("dbLinks") is not None else None, - "spectralLibraryMatches": [SpectralLibraryMatch.from_dict(_item) for _item in obj["spectralLibraryMatches"]] if obj.get("spectralLibraryMatches") is not None else None + "spectralLibraryMatches": [SpectralLibraryMatch.from_dict(_item) for _item in obj["spectralLibraryMatches"]] if obj.get("spectralLibraryMatches") is not None else None, + "xlogP": obj.get("xlogP") }) return _obj diff --git a/client-api_python/generated/PySirius/models/structure_candidate_formula.py b/client-api_python/generated/PySirius/models/structure_candidate_formula.py index 70f1fde6..6076eb97 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate_formula.py +++ b/client-api_python/generated/PySirius/models/structure_candidate_formula.py @@ -30,18 +30,19 @@ class StructureCandidateFormula(BaseModel): inchi_key: Optional[StrictStr] = Field(default=None, alias="inchiKey") smiles: Optional[StrictStr] = None structure_name: Optional[StrictStr] = Field(default=None, alias="structureName") + structure_svg: Optional[StrictStr] = Field(default=None, description="SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter", alias="structureSvg") + db_links: Optional[List[DBLink]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") + spectral_library_matches: Optional[List[SpectralLibraryMatch]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") xlog_p: Optional[float] = Field(default=None, alias="xlogP") - db_links: Optional[List[Optional[DBLink]]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") - spectral_library_matches: Optional[List[Optional[SpectralLibraryMatch]]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") rank: Optional[StrictInt] = Field(default=None, description="the overall rank of this candidate among all candidates of this feature") csi_score: Optional[float] = Field(default=None, description="CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates", alias="csiScore") tanimoto_similarity: Optional[float] = Field(default=None, description="Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", alias="tanimotoSimilarity") mces_dist_to_top_hit: Optional[float] = Field(default=None, description="Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", alias="mcesDistToTopHit") - fingerprint: Optional[BinaryFingerprint] = None + fingerprint: Optional[BinaryFingerprint] = Field(default=None, description="Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter") molecular_formula: Optional[StrictStr] = Field(default=None, description="Molecular formula of this candidate", alias="molecularFormula") adduct: Optional[StrictStr] = Field(default=None, description="Adduct of this candidate") formula_id: Optional[StrictStr] = Field(default=None, description="Id of the corresponding Formula candidate", alias="formulaId") - __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "xlogP", "dbLinks", "spectralLibraryMatches", "rank", "csiScore", "tanimotoSimilarity", "mcesDistToTopHit", "fingerprint", "molecularFormula", "adduct", "formulaId"] + __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "structureSvg", "dbLinks", "spectralLibraryMatches", "xlogP", "rank", "csiScore", "tanimotoSimilarity", "mcesDistToTopHit", "fingerprint", "molecularFormula", "adduct", "formulaId"] model_config = ConfigDict( populate_by_name=True, @@ -99,41 +100,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of fingerprint if self.fingerprint: _dict['fingerprint'] = self.fingerprint.to_dict() - # set to None if structure_name (nullable) is None - # and model_fields_set contains the field - if self.structure_name is None and "structure_name" in self.model_fields_set: - _dict['structureName'] = None - - # set to None if xlog_p (nullable) is None - # and model_fields_set contains the field - if self.xlog_p is None and "xlog_p" in self.model_fields_set: - _dict['xlogP'] = None - - # set to None if db_links (nullable) is None - # and model_fields_set contains the field - if self.db_links is None and "db_links" in self.model_fields_set: - _dict['dbLinks'] = None - - # set to None if spectral_library_matches (nullable) is None - # and model_fields_set contains the field - if self.spectral_library_matches is None and "spectral_library_matches" in self.model_fields_set: - _dict['spectralLibraryMatches'] = None - - # set to None if tanimoto_similarity (nullable) is None - # and model_fields_set contains the field - if self.tanimoto_similarity is None and "tanimoto_similarity" in self.model_fields_set: - _dict['tanimotoSimilarity'] = None - - # set to None if mces_dist_to_top_hit (nullable) is None - # and model_fields_set contains the field - if self.mces_dist_to_top_hit is None and "mces_dist_to_top_hit" in self.model_fields_set: - _dict['mcesDistToTopHit'] = None - - # set to None if fingerprint (nullable) is None - # and model_fields_set contains the field - if self.fingerprint is None and "fingerprint" in self.model_fields_set: - _dict['fingerprint'] = None - return _dict @classmethod @@ -149,9 +115,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "inchiKey": obj.get("inchiKey"), "smiles": obj.get("smiles"), "structureName": obj.get("structureName"), - "xlogP": obj.get("xlogP"), + "structureSvg": obj.get("structureSvg"), "dbLinks": [DBLink.from_dict(_item) for _item in obj["dbLinks"]] if obj.get("dbLinks") is not None else None, "spectralLibraryMatches": [SpectralLibraryMatch.from_dict(_item) for _item in obj["spectralLibraryMatches"]] if obj.get("spectralLibraryMatches") is not None else None, + "xlogP": obj.get("xlogP"), "rank": obj.get("rank"), "csiScore": obj.get("csiScore"), "tanimotoSimilarity": obj.get("tanimotoSimilarity"), diff --git a/client-api_python/generated/PySirius/models/structure_candidate_opt_field.py b/client-api_python/generated/PySirius/models/structure_candidate_opt_field.py index afdd91da..df1921d5 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate_opt_field.py +++ b/client-api_python/generated/PySirius/models/structure_candidate_opt_field.py @@ -28,6 +28,7 @@ class StructureCandidateOptField(str, Enum): FINGERPRINT = 'fingerprint' DBLINKS = 'dbLinks' LIBRARYMATCHES = 'libraryMatches' + STRUCTURESVG = 'structureSvg' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/client-api_python/generated/PySirius/models/structure_candidate_scored.py b/client-api_python/generated/PySirius/models/structure_candidate_scored.py index 8c0b30e0..5c0064b4 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate_scored.py +++ b/client-api_python/generated/PySirius/models/structure_candidate_scored.py @@ -30,15 +30,16 @@ class StructureCandidateScored(BaseModel): inchi_key: Optional[StrictStr] = Field(default=None, alias="inchiKey") smiles: Optional[StrictStr] = None structure_name: Optional[StrictStr] = Field(default=None, alias="structureName") + structure_svg: Optional[StrictStr] = Field(default=None, description="SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter", alias="structureSvg") + db_links: Optional[List[DBLink]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") + spectral_library_matches: Optional[List[SpectralLibraryMatch]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") xlog_p: Optional[float] = Field(default=None, alias="xlogP") - db_links: Optional[List[Optional[DBLink]]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") - spectral_library_matches: Optional[List[Optional[SpectralLibraryMatch]]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") rank: Optional[StrictInt] = Field(default=None, description="the overall rank of this candidate among all candidates of this feature") csi_score: Optional[float] = Field(default=None, description="CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates", alias="csiScore") tanimoto_similarity: Optional[float] = Field(default=None, description="Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", alias="tanimotoSimilarity") mces_dist_to_top_hit: Optional[float] = Field(default=None, description="Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", alias="mcesDistToTopHit") - fingerprint: Optional[BinaryFingerprint] = None - __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "xlogP", "dbLinks", "spectralLibraryMatches", "rank", "csiScore", "tanimotoSimilarity", "mcesDistToTopHit", "fingerprint"] + fingerprint: Optional[BinaryFingerprint] = Field(default=None, description="Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter") + __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "structureSvg", "dbLinks", "spectralLibraryMatches", "xlogP", "rank", "csiScore", "tanimotoSimilarity", "mcesDistToTopHit", "fingerprint"] model_config = ConfigDict( populate_by_name=True, @@ -96,41 +97,6 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of fingerprint if self.fingerprint: _dict['fingerprint'] = self.fingerprint.to_dict() - # set to None if structure_name (nullable) is None - # and model_fields_set contains the field - if self.structure_name is None and "structure_name" in self.model_fields_set: - _dict['structureName'] = None - - # set to None if xlog_p (nullable) is None - # and model_fields_set contains the field - if self.xlog_p is None and "xlog_p" in self.model_fields_set: - _dict['xlogP'] = None - - # set to None if db_links (nullable) is None - # and model_fields_set contains the field - if self.db_links is None and "db_links" in self.model_fields_set: - _dict['dbLinks'] = None - - # set to None if spectral_library_matches (nullable) is None - # and model_fields_set contains the field - if self.spectral_library_matches is None and "spectral_library_matches" in self.model_fields_set: - _dict['spectralLibraryMatches'] = None - - # set to None if tanimoto_similarity (nullable) is None - # and model_fields_set contains the field - if self.tanimoto_similarity is None and "tanimoto_similarity" in self.model_fields_set: - _dict['tanimotoSimilarity'] = None - - # set to None if mces_dist_to_top_hit (nullable) is None - # and model_fields_set contains the field - if self.mces_dist_to_top_hit is None and "mces_dist_to_top_hit" in self.model_fields_set: - _dict['mcesDistToTopHit'] = None - - # set to None if fingerprint (nullable) is None - # and model_fields_set contains the field - if self.fingerprint is None and "fingerprint" in self.model_fields_set: - _dict['fingerprint'] = None - return _dict @classmethod @@ -146,9 +112,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "inchiKey": obj.get("inchiKey"), "smiles": obj.get("smiles"), "structureName": obj.get("structureName"), - "xlogP": obj.get("xlogP"), + "structureSvg": obj.get("structureSvg"), "dbLinks": [DBLink.from_dict(_item) for _item in obj["dbLinks"]] if obj.get("dbLinks") is not None else None, "spectralLibraryMatches": [SpectralLibraryMatch.from_dict(_item) for _item in obj["spectralLibraryMatches"]] if obj.get("spectralLibraryMatches") is not None else None, + "xlogP": obj.get("xlogP"), "rank": obj.get("rank"), "csiScore": obj.get("csiScore"), "tanimotoSimilarity": obj.get("tanimotoSimilarity"), diff --git a/client-api_python/generated/PySirius/models/structure_db_search.py b/client-api_python/generated/PySirius/models/structure_db_search.py index 3ffb40e8..b518a9b2 100644 --- a/client-api_python/generated/PySirius/models/structure_db_search.py +++ b/client-api_python/generated/PySirius/models/structure_db_search.py @@ -26,9 +26,9 @@ class StructureDbSearch(BaseModel): User/developer friendly parameter subset for the CSI:FingerID structure db search tool. Needs results from FingerprintPrediction and Canopus Tool. Non-Null parameters in this Object well override their equivalent value in the config map. """ # noqa: E501 enabled: Optional[StrictBool] = Field(default=None, description="tags whether the tool is enabled") - structure_search_dbs: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="structureSearchDBs") + structure_search_dbs: Optional[List[StrictStr]] = Field(default=None, description="Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="structureSearchDBs") tag_structures_with_lipid_class: Optional[StrictBool] = Field(default=None, description="Candidates matching the lipid class estimated by El Gordo will be tagged. The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum. If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation tree, but the matching structure candidates will not be tagged if they match lipid class.", alias="tagStructuresWithLipidClass") - expansive_search_confidence_mode: Optional[ConfidenceMode] = Field(default=None, alias="expansiveSearchConfidenceMode") + expansive_search_confidence_mode: Optional[ConfidenceMode] = Field(default=None, description="Expansive search mode. Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was found in one of the specified databases (structureSearchDBs).

Possible Values OFF - No expansive search is performed EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification. APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.", alias="expansiveSearchConfidenceMode") __properties: ClassVar[List[str]] = ["enabled", "structureSearchDBs", "tagStructuresWithLipidClass", "expansiveSearchConfidenceMode"] model_config = ConfigDict( @@ -70,21 +70,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if structure_search_dbs (nullable) is None - # and model_fields_set contains the field - if self.structure_search_dbs is None and "structure_search_dbs" in self.model_fields_set: - _dict['structureSearchDBs'] = None - - # set to None if tag_structures_with_lipid_class (nullable) is None - # and model_fields_set contains the field - if self.tag_structures_with_lipid_class is None and "tag_structures_with_lipid_class" in self.model_fields_set: - _dict['tagStructuresWithLipidClass'] = None - - # set to None if expansive_search_confidence_mode (nullable) is None - # and model_fields_set contains the field - if self.expansive_search_confidence_mode is None and "expansive_search_confidence_mode" in self.model_fields_set: - _dict['expansiveSearchConfidenceMode'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/subscription.py b/client-api_python/generated/PySirius/models/subscription.py index c0eae167..941c8b07 100644 --- a/client-api_python/generated/PySirius/models/subscription.py +++ b/client-api_python/generated/PySirius/models/subscription.py @@ -18,6 +18,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.allowed_features import AllowedFeatures from typing import Optional, Set from typing_extensions import Self @@ -40,7 +41,8 @@ class Subscription(BaseModel): name: Optional[StrictStr] = None tos: Optional[StrictStr] = None pp: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["sid", "subscriberId", "subscriberName", "expirationDate", "startDate", "countQueries", "instanceLimit", "instanceHashRecordingTime", "maxQueriesPerInstance", "maxUserAccounts", "serviceUrl", "description", "name", "tos", "pp"] + allowed_features: Optional[AllowedFeatures] = Field(default=None, alias="allowedFeatures") + __properties: ClassVar[List[str]] = ["sid", "subscriberId", "subscriberName", "expirationDate", "startDate", "countQueries", "instanceLimit", "instanceHashRecordingTime", "maxQueriesPerInstance", "maxUserAccounts", "serviceUrl", "description", "name", "tos", "pp", "allowedFeatures"] model_config = ConfigDict( populate_by_name=True, @@ -81,66 +83,9 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if subscriber_name (nullable) is None - # and model_fields_set contains the field - if self.subscriber_name is None and "subscriber_name" in self.model_fields_set: - _dict['subscriberName'] = None - - # set to None if expiration_date (nullable) is None - # and model_fields_set contains the field - if self.expiration_date is None and "expiration_date" in self.model_fields_set: - _dict['expirationDate'] = None - - # set to None if start_date (nullable) is None - # and model_fields_set contains the field - if self.start_date is None and "start_date" in self.model_fields_set: - _dict['startDate'] = None - - # set to None if count_queries (nullable) is None - # and model_fields_set contains the field - if self.count_queries is None and "count_queries" in self.model_fields_set: - _dict['countQueries'] = None - - # set to None if instance_limit (nullable) is None - # and model_fields_set contains the field - if self.instance_limit is None and "instance_limit" in self.model_fields_set: - _dict['instanceLimit'] = None - - # set to None if instance_hash_recording_time (nullable) is None - # and model_fields_set contains the field - if self.instance_hash_recording_time is None and "instance_hash_recording_time" in self.model_fields_set: - _dict['instanceHashRecordingTime'] = None - - # set to None if max_queries_per_instance (nullable) is None - # and model_fields_set contains the field - if self.max_queries_per_instance is None and "max_queries_per_instance" in self.model_fields_set: - _dict['maxQueriesPerInstance'] = None - - # set to None if max_user_accounts (nullable) is None - # and model_fields_set contains the field - if self.max_user_accounts is None and "max_user_accounts" in self.model_fields_set: - _dict['maxUserAccounts'] = None - - # set to None if description (nullable) is None - # and model_fields_set contains the field - if self.description is None and "description" in self.model_fields_set: - _dict['description'] = None - - # set to None if name (nullable) is None - # and model_fields_set contains the field - if self.name is None and "name" in self.model_fields_set: - _dict['name'] = None - - # set to None if tos (nullable) is None - # and model_fields_set contains the field - if self.tos is None and "tos" in self.model_fields_set: - _dict['tos'] = None - - # set to None if pp (nullable) is None - # and model_fields_set contains the field - if self.pp is None and "pp" in self.model_fields_set: - _dict['pp'] = None - + # override the default output from pydantic by calling `to_dict()` of allowed_features + if self.allowed_features: + _dict['allowedFeatures'] = self.allowed_features.to_dict() return _dict @classmethod @@ -167,7 +112,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "description": obj.get("description"), "name": obj.get("name"), "tos": obj.get("tos"), - "pp": obj.get("pp") + "pp": obj.get("pp"), + "allowedFeatures": AllowedFeatures.from_dict(obj["allowedFeatures"]) if obj.get("allowedFeatures") is not None else None }) return _obj diff --git a/client-api_python/generated/PySirius/models/tag.py b/client-api_python/generated/PySirius/models/tag.py new file mode 100644 index 00000000..107b9f77 --- /dev/null +++ b/client-api_python/generated/PySirius/models/tag.py @@ -0,0 +1,92 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Tag(BaseModel): + """ + Tag + """ # noqa: E501 + tag_name: StrictStr = Field(description="Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition.", alias="tagName") + value: Optional[Any] = None + __properties: ClassVar[List[str]] = ["tagName", "value"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Tag from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Tag from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tagName": obj.get("tagName"), + "value": obj.get("value") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/tag_definition.py b/client-api_python/generated/PySirius/models/tag_definition.py new file mode 100644 index 00000000..50c9c3b2 --- /dev/null +++ b/client-api_python/generated/PySirius/models/tag_definition.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.value_type import ValueType +from typing import Optional, Set +from typing_extensions import Self + +class TagDefinition(BaseModel): + """ + TagDefinition + """ # noqa: E501 + tag_name: StrictStr = Field(description="Name of this tag defined by this definition (key)", alias="tagName") + description: Optional[StrictStr] = Field(default=None, description="A human-readable description about the purpose of this tag.") + tag_type: Optional[StrictStr] = Field(default=None, description="A simple string based identifier to specify the type/scope/purpose of this tag.", alias="tagType") + value_type: ValueType = Field(alias="valueType") + possible_values: Optional[List[Any]] = Field(default=None, alias="possibleValues") + min_value: Optional[Any] = Field(default=None, alias="minValue") + max_value: Optional[Any] = Field(default=None, alias="maxValue") + editable: Optional[StrictBool] = None + __properties: ClassVar[List[str]] = ["tagName", "description", "tagType", "valueType", "possibleValues", "minValue", "maxValue", "editable"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TagDefinition from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if min_value (nullable) is None + # and model_fields_set contains the field + if self.min_value is None and "min_value" in self.model_fields_set: + _dict['minValue'] = None + + # set to None if max_value (nullable) is None + # and model_fields_set contains the field + if self.max_value is None and "max_value" in self.model_fields_set: + _dict['maxValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TagDefinition from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tagName": obj.get("tagName"), + "description": obj.get("description"), + "tagType": obj.get("tagType"), + "valueType": obj.get("valueType"), + "possibleValues": obj.get("possibleValues"), + "minValue": obj.get("minValue"), + "maxValue": obj.get("maxValue"), + "editable": obj.get("editable") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/tag_definition_import.py b/client-api_python/generated/PySirius/models/tag_definition_import.py new file mode 100644 index 00000000..07b4a00a --- /dev/null +++ b/client-api_python/generated/PySirius/models/tag_definition_import.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.value_type import ValueType +from typing import Optional, Set +from typing_extensions import Self + +class TagDefinitionImport(BaseModel): + """ + TagDefinitionImport + """ # noqa: E501 + tag_name: StrictStr = Field(description="Name of this tag defined by this definition (key)", alias="tagName") + description: Optional[StrictStr] = Field(default=None, description="A human-readable description about the purpose of this tag.") + tag_type: Optional[StrictStr] = Field(default=None, description="A simple string based identifier to specify the type/scope/purpose of this tag.", alias="tagType") + value_type: ValueType = Field(alias="valueType") + possible_values: Optional[List[Any]] = Field(default=None, alias="possibleValues") + min_value: Optional[Any] = Field(default=None, alias="minValue") + max_value: Optional[Any] = Field(default=None, alias="maxValue") + __properties: ClassVar[List[str]] = ["tagName", "description", "tagType", "valueType", "possibleValues", "minValue", "maxValue"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TagDefinitionImport from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # set to None if min_value (nullable) is None + # and model_fields_set contains the field + if self.min_value is None and "min_value" in self.model_fields_set: + _dict['minValue'] = None + + # set to None if max_value (nullable) is None + # and model_fields_set contains the field + if self.max_value is None and "max_value" in self.model_fields_set: + _dict['maxValue'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TagDefinitionImport from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "tagName": obj.get("tagName"), + "description": obj.get("description"), + "tagType": obj.get("tagType"), + "valueType": obj.get("valueType"), + "possibleValues": obj.get("possibleValues"), + "minValue": obj.get("minValue"), + "maxValue": obj.get("maxValue") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/tag_group.py b/client-api_python/generated/PySirius/models/tag_group.py new file mode 100644 index 00000000..489d27f2 --- /dev/null +++ b/client-api_python/generated/PySirius/models/tag_group.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TagGroup(BaseModel): + """ + TagGroup + """ # noqa: E501 + group_name: Optional[StrictStr] = Field(default=None, description="Name of this Grouping query.", alias="groupName") + lucene_query: Optional[StrictStr] = Field(default=None, description="Query used to group the entities in lucene format.", alias="luceneQuery") + group_type: Optional[StrictStr] = Field(default=None, alias="groupType") + __properties: ClassVar[List[str]] = ["groupName", "luceneQuery", "groupType"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TagGroup from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TagGroup from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "groupName": obj.get("groupName"), + "luceneQuery": obj.get("luceneQuery"), + "groupType": obj.get("groupType") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/trace_annotation_experimental.py b/client-api_python/generated/PySirius/models/trace_annotation_experimental.py index 70726427..4110716d 100644 --- a/client-api_python/generated/PySirius/models/trace_annotation_experimental.py +++ b/client-api_python/generated/PySirius/models/trace_annotation_experimental.py @@ -71,21 +71,6 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # set to None if description (nullable) is None - # and model_fields_set contains the field - if self.description is None and "description" in self.model_fields_set: - _dict['description'] = None - - # set to None if var_from (nullable) is None - # and model_fields_set contains the field - if self.var_from is None and "var_from" in self.model_fields_set: - _dict['from'] = None - - # set to None if to (nullable) is None - # and model_fields_set contains the field - if self.to is None and "to" in self.model_fields_set: - _dict['to'] = None - return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/trace_experimental.py b/client-api_python/generated/PySirius/models/trace_experimental.py index 543d454b..b01b8796 100644 --- a/client-api_python/generated/PySirius/models/trace_experimental.py +++ b/client-api_python/generated/PySirius/models/trace_experimental.py @@ -29,13 +29,14 @@ class TraceExperimental(BaseModel): sample_id: Optional[StrictStr] = Field(default=None, alias="sampleId") sample_name: Optional[StrictStr] = Field(default=None, alias="sampleName") label: Optional[StrictStr] = None + color: Optional[StrictStr] = None intensities: Optional[List[float]] = None annotations: Optional[List[TraceAnnotationExperimental]] = None mz: Optional[float] = None merged: Optional[StrictBool] = None normalization_factor: Optional[float] = Field(default=None, description="Traces are stored with raw intensity values. The normalization factor maps them to relative intensities, such that traces from different samples can be compared.", alias="normalizationFactor") noise_level: Optional[float] = Field(default=None, description="The noise level is estimated from the median noise in the surrounding scans. It can be used to calculate signal-to-noise ratios.", alias="noiseLevel") - __properties: ClassVar[List[str]] = ["id", "sampleId", "sampleName", "label", "intensities", "annotations", "mz", "merged", "normalizationFactor", "noiseLevel"] + __properties: ClassVar[List[str]] = ["id", "sampleId", "sampleName", "label", "color", "intensities", "annotations", "mz", "merged", "normalizationFactor", "noiseLevel"] model_config = ConfigDict( populate_by_name=True, @@ -83,16 +84,6 @@ def to_dict(self) -> Dict[str, Any]: if _item_annotations: _items.append(_item_annotations.to_dict()) _dict['annotations'] = _items - # set to None if sample_id (nullable) is None - # and model_fields_set contains the field - if self.sample_id is None and "sample_id" in self.model_fields_set: - _dict['sampleId'] = None - - # set to None if sample_name (nullable) is None - # and model_fields_set contains the field - if self.sample_name is None and "sample_name" in self.model_fields_set: - _dict['sampleName'] = None - return _dict @classmethod @@ -109,6 +100,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "sampleId": obj.get("sampleId"), "sampleName": obj.get("sampleName"), "label": obj.get("label"), + "color": obj.get("color"), "intensities": obj.get("intensities"), "annotations": [TraceAnnotationExperimental.from_dict(_item) for _item in obj["annotations"]] if obj.get("annotations") is not None else None, "mz": obj.get("mz"), diff --git a/client-api_python/generated/PySirius/models/value_type.py b/client-api_python/generated/PySirius/models/value_type.py new file mode 100644 index 00000000..c90e7151 --- /dev/null +++ b/client-api_python/generated/PySirius/models/value_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ValueType(str, Enum): + """ + ValueType + """ + + """ + allowed enum values + """ + NONE = 'NONE' + BOOLEAN = 'BOOLEAN' + INTEGER = 'INTEGER' + REAL = 'REAL' + TEXT = 'TEXT' + DATE = 'DATE' + TIME = 'TIME' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ValueType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/client-api_python/generated/PySirius/models/web_server_namespace.py b/client-api_python/generated/PySirius/models/web_server_namespace.py new file mode 100644 index 00000000..9ef64020 --- /dev/null +++ b/client-api_python/generated/PySirius/models/web_server_namespace.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class WebServerNamespace(BaseModel): + """ + WebServerNamespace + """ # noqa: E501 + value: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["value"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of WebServerNamespace from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WebServerNamespace from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "value": obj.get("value") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/zodiac.py b/client-api_python/generated/PySirius/models/zodiac.py index ddc60bad..6f77af21 100644 --- a/client-api_python/generated/PySirius/models/zodiac.py +++ b/client-api_python/generated/PySirius/models/zodiac.py @@ -17,8 +17,10 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt from typing import Any, ClassVar, Dict, List, Optional +from PySirius.models.zodiac_analogue_nodes import ZodiacAnalogueNodes from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds from PySirius.models.zodiac_epochs import ZodiacEpochs +from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring from typing import Optional, Set from typing_extensions import Self @@ -30,9 +32,11 @@ class Zodiac(BaseModel): considered_candidates_at300_mz: Optional[StrictInt] = Field(default=None, description="Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.", alias="consideredCandidatesAt300Mz") considered_candidates_at800_mz: Optional[StrictInt] = Field(default=None, description="Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.", alias="consideredCandidatesAt800Mz") run_in_two_steps: Optional[StrictBool] = Field(default=None, description="As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.", alias="runInTwoSteps") - edge_filter_thresholds: Optional[ZodiacEdgeFilterThresholds] = Field(default=None, alias="edgeFilterThresholds") - gibbs_sampler_parameters: Optional[ZodiacEpochs] = Field(default=None, alias="gibbsSamplerParameters") - __properties: ClassVar[List[str]] = ["enabled", "consideredCandidatesAt300Mz", "consideredCandidatesAt800Mz", "runInTwoSteps", "edgeFilterThresholds", "gibbsSamplerParameters"] + edge_filter_thresholds: Optional[ZodiacEdgeFilterThresholds] = Field(default=None, description="thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to.", alias="edgeFilterThresholds") + gibbs_sampler_parameters: Optional[ZodiacEpochs] = Field(default=None, description="iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs.", alias="gibbsSamplerParameters") + library_search_anchors: Optional[ZodiacLibraryScoring] = Field(default=None, description="Configure the use of identity spectral library search results as anchors in ZODIAC network", alias="librarySearchAnchors") + analogue_search_anchors: Optional[ZodiacAnalogueNodes] = Field(default=None, description="Configure the use of analogue spectral library search results as anchors in ZODIAC network", alias="analogueSearchAnchors") + __properties: ClassVar[List[str]] = ["enabled", "consideredCandidatesAt300Mz", "consideredCandidatesAt800Mz", "runInTwoSteps", "edgeFilterThresholds", "gibbsSamplerParameters", "librarySearchAnchors", "analogueSearchAnchors"] model_config = ConfigDict( populate_by_name=True, @@ -79,31 +83,12 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of gibbs_sampler_parameters if self.gibbs_sampler_parameters: _dict['gibbsSamplerParameters'] = self.gibbs_sampler_parameters.to_dict() - # set to None if considered_candidates_at300_mz (nullable) is None - # and model_fields_set contains the field - if self.considered_candidates_at300_mz is None and "considered_candidates_at300_mz" in self.model_fields_set: - _dict['consideredCandidatesAt300Mz'] = None - - # set to None if considered_candidates_at800_mz (nullable) is None - # and model_fields_set contains the field - if self.considered_candidates_at800_mz is None and "considered_candidates_at800_mz" in self.model_fields_set: - _dict['consideredCandidatesAt800Mz'] = None - - # set to None if run_in_two_steps (nullable) is None - # and model_fields_set contains the field - if self.run_in_two_steps is None and "run_in_two_steps" in self.model_fields_set: - _dict['runInTwoSteps'] = None - - # set to None if edge_filter_thresholds (nullable) is None - # and model_fields_set contains the field - if self.edge_filter_thresholds is None and "edge_filter_thresholds" in self.model_fields_set: - _dict['edgeFilterThresholds'] = None - - # set to None if gibbs_sampler_parameters (nullable) is None - # and model_fields_set contains the field - if self.gibbs_sampler_parameters is None and "gibbs_sampler_parameters" in self.model_fields_set: - _dict['gibbsSamplerParameters'] = None - + # override the default output from pydantic by calling `to_dict()` of library_search_anchors + if self.library_search_anchors: + _dict['librarySearchAnchors'] = self.library_search_anchors.to_dict() + # override the default output from pydantic by calling `to_dict()` of analogue_search_anchors + if self.analogue_search_anchors: + _dict['analogueSearchAnchors'] = self.analogue_search_anchors.to_dict() return _dict @classmethod @@ -121,7 +106,9 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "consideredCandidatesAt800Mz": obj.get("consideredCandidatesAt800Mz"), "runInTwoSteps": obj.get("runInTwoSteps"), "edgeFilterThresholds": ZodiacEdgeFilterThresholds.from_dict(obj["edgeFilterThresholds"]) if obj.get("edgeFilterThresholds") is not None else None, - "gibbsSamplerParameters": ZodiacEpochs.from_dict(obj["gibbsSamplerParameters"]) if obj.get("gibbsSamplerParameters") is not None else None + "gibbsSamplerParameters": ZodiacEpochs.from_dict(obj["gibbsSamplerParameters"]) if obj.get("gibbsSamplerParameters") is not None else None, + "librarySearchAnchors": ZodiacLibraryScoring.from_dict(obj["librarySearchAnchors"]) if obj.get("librarySearchAnchors") is not None else None, + "analogueSearchAnchors": ZodiacAnalogueNodes.from_dict(obj["analogueSearchAnchors"]) if obj.get("analogueSearchAnchors") is not None else None }) return _obj diff --git a/client-api_python/generated/PySirius/models/zodiac_analogue_nodes.py b/client-api_python/generated/PySirius/models/zodiac_analogue_nodes.py new file mode 100644 index 00000000..501bbcb4 --- /dev/null +++ b/client-api_python/generated/PySirius/models/zodiac_analogue_nodes.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ZodiacAnalogueNodes(BaseModel): + """ + ZodiacAnalogueNodes + """ # noqa: E501 + enabled: Optional[StrictBool] = None + min_similarity: Optional[float] = Field(default=None, alias="minSimilarity") + min_shared_peaks: Optional[StrictInt] = Field(default=None, alias="minSharedPeaks") + __properties: ClassVar[List[str]] = ["enabled", "minSimilarity", "minSharedPeaks"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ZodiacAnalogueNodes from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ZodiacAnalogueNodes from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "enabled": obj.get("enabled"), + "minSimilarity": obj.get("minSimilarity"), + "minSharedPeaks": obj.get("minSharedPeaks") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/models/zodiac_library_scoring.py b/client-api_python/generated/PySirius/models/zodiac_library_scoring.py new file mode 100644 index 00000000..87541183 --- /dev/null +++ b/client-api_python/generated/PySirius/models/zodiac_library_scoring.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + SIRIUS Nightsky API + + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ZodiacLibraryScoring(BaseModel): + """ + ZodiacLibraryScoring + """ # noqa: E501 + enabled: Optional[StrictBool] = None + min_similarity: Optional[float] = Field(default=None, alias="minSimilarity") + __properties: ClassVar[List[str]] = ["enabled", "minSimilarity"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ZodiacLibraryScoring from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ZodiacLibraryScoring from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "enabled": obj.get("enabled"), + "minSimilarity": obj.get("minSimilarity") + }) + return _obj + + diff --git a/client-api_python/generated/PySirius/sirius_api.py b/client-api_python/generated/PySirius/sirius_api.py index 2d6496b4..75ad5fe7 100644 --- a/client-api_python/generated/PySirius/sirius_api.py +++ b/client-api_python/generated/PySirius/sirius_api.py @@ -12,21 +12,33 @@ def __init__(self, api_client): def get_client(self): return self.api_client + def actuator(self): + """returns API endpoint of the ActuatorApi""" + return PySirius.ActuatorApi(self.api_client) + + def compound_statistics(self): + """returns API endpoint of the CompoundsStatisticsApi""" + return PySirius.CompoundStatisticsApi(self.api_client) + def compounds(self): """returns API endpoint of the CompoundsApi""" return PySirius.CompoundsApi(self.api_client) - def jobs(self): - """returns API endpoint of the JobsApi""" - return PySirius.JobsApi(self.api_client) + def feature_statistics(self): + """returns API endpoint of the FeaturesStatisticsApi""" + return PySirius.FeatureStatisticsApi(self.api_client) def features(self): """returns API endpoint of the FeaturesApi""" return PySirius.FeaturesApi(self.api_client) - def gui(self): - """returns API endpoint of the ExperimentalGUIApi""" - return PySirius.GuiApi(self.api_client) + def infos(self): + """returns API endpoint of the InfoApi""" + return PySirius.InfoApi(self.api_client) + + def jobs(self): + """returns API endpoint of the JobsApi""" + return PySirius.JobsApi(self.api_client) def account(self): """returns API endpoint of the LoginAndAccountApi""" @@ -36,14 +48,18 @@ def projects(self): """returns API endpoint of the ProjectsApi""" return PySirius.ProjectsApi(self.api_client) - def infos(self): - """returns API endpoint of the InfoApi""" - return PySirius.InfoApi(self.api_client) + def runs(self): + """returns API endpoint of the RunsApi""" + return PySirius.RunsApi(self.api_client) def databases(self): """returns API endpoint of the SearchableDatabasesApi""" return PySirius.SearchableDatabasesApi(self.api_client) + def tags(self): + """returns API endpoint of the TagsApi""" + return PySirius.TagsApi(self.api_client) + def models(self): """returns the Superclass of all models""" - return PySirius.models + return PySirius.models \ No newline at end of file diff --git a/client-api_python/generated/README.md b/client-api_python/generated/README.md index 6ff03b17..b05174c5 100644 --- a/client-api_python/generated/README.md +++ b/client-api_python/generated/README.md @@ -86,60 +86,81 @@ Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- *ActuatorApi* | [**health**](docs/ActuatorApi.md#health) | **GET** /actuator/health | Actuator web endpoint 'health' *ActuatorApi* | [**shutdown**](docs/ActuatorApi.md#shutdown) | **POST** /actuator/shutdown | Actuator web endpoint 'shutdown' +*CompoundStatisticsApi* | [**compute_compound_fold_changes_experimental**](docs/CompoundStatisticsApi.md#compute_compound_fold_changes_experimental) | **PUT** /api/projects/{projectId}/compounds/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +*CompoundStatisticsApi* | [**delete_compound_fold_changes_experimental**](docs/CompoundStatisticsApi.md#delete_compound_fold_changes_experimental) | **DELETE** /api/projects/{projectId}/compounds/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +*CompoundStatisticsApi* | [**get_compound_fold_change_table_experimental**](docs/CompoundStatisticsApi.md#get_compound_fold_change_table_experimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +*CompoundStatisticsApi* | [**get_fold_changes_by_compound_experimental**](docs/CompoundStatisticsApi.md#get_fold_changes_by_compound_experimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object *CompoundsApi* | [**add_compounds**](docs/CompoundsApi.md#add_compounds) | **POST** /api/projects/{projectId}/compounds | Import Compounds and its contained features. +*CompoundsApi* | [**add_tags_to_compound_experimental**](docs/CompoundsApi.md#add_tags_to_compound_experimental) | **PUT** /api/projects/{projectId}/compounds/tags/{compoundId} | [EXPERIMENTAL] Tags with the same name will be overwritten *CompoundsApi* | [**delete_compound**](docs/CompoundsApi.md#delete_compound) | **DELETE** /api/projects/{projectId}/compounds/{compoundId} | Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. *CompoundsApi* | [**get_compound**](docs/CompoundsApi.md#get_compound) | **GET** /api/projects/{projectId}/compounds/{compoundId} | Get compound (group of ion identities) with the given identifier from the specified project-space. -*CompoundsApi* | [**get_compound_traces_experimental**](docs/CompoundsApi.md#get_compound_traces_experimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +*CompoundsApi* | [**get_compound_quant_table_experimental**](docs/CompoundsApi.md#get_compound_quant_table_experimental) | **GET** /api/projects/{projectId}/compounds/quant-table | [EXPERIMENTAL] Returns the full quantification table of compounds +*CompoundsApi* | [**get_compound_quant_table_row_experimental**](docs/CompoundsApi.md#get_compound_quant_table_row_experimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given compound +*CompoundsApi* | [**get_compound_traces_experimental**](docs/CompoundsApi.md#get_compound_traces_experimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | [EXPERIMENTAL] Returns the traces of the given compound *CompoundsApi* | [**get_compounds**](docs/CompoundsApi.md#get_compounds) | **GET** /api/projects/{projectId}/compounds | List of all available compounds (group of ion identities) in the given project-space. +*CompoundsApi* | [**get_compounds_by_group_experimental**](docs/CompoundsApi.md#get_compounds_by_group_experimental) | **GET** /api/projects/{projectId}/compounds/grouped | [EXPERIMENTAL] Get compounds (group of ion identities) by tag group +*CompoundsApi* | [**get_compounds_by_tag_experimental**](docs/CompoundsApi.md#get_compounds_by_tag_experimental) | **GET** /api/projects/{projectId}/compounds/tagged | [EXPERIMENTAL] Get compounds (group of ion identities) by tag *CompoundsApi* | [**get_compounds_paged**](docs/CompoundsApi.md#get_compounds_paged) | **GET** /api/projects/{projectId}/compounds/page | Page of available compounds (group of ion identities) in the given project-space. +*CompoundsApi* | [**get_tags_for_compound_experimental**](docs/CompoundsApi.md#get_tags_for_compound_experimental) | **GET** /api/projects/{projectId}/compounds/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Compound +*CompoundsApi* | [**remove_tag_from_compound_experimental**](docs/CompoundsApi.md#remove_tag_from_compound_experimental) | **DELETE** /api/projects/{projectId}/compounds/tags/{compoundId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space +*FeatureStatisticsApi* | [**compute_aligned_feature_fold_changes_experimental**](docs/FeatureStatisticsApi.md#compute_aligned_feature_fold_changes_experimental) | **PUT** /api/projects/{projectId}/aligned-features/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +*FeatureStatisticsApi* | [**delete_aligned_feature_fold_changes_experimental**](docs/FeatureStatisticsApi.md#delete_aligned_feature_fold_changes_experimental) | **DELETE** /api/projects/{projectId}/aligned-features/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +*FeatureStatisticsApi* | [**get_aligned_feature_fold_change_table_experimental**](docs/FeatureStatisticsApi.md#get_aligned_feature_fold_change_table_experimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +*FeatureStatisticsApi* | [**get_fold_changes_by_aligned_feature_experimental**](docs/FeatureStatisticsApi.md#get_fold_changes_by_aligned_feature_experimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object *FeaturesApi* | [**add_aligned_features**](docs/FeaturesApi.md#add_aligned_features) | **POST** /api/projects/{projectId}/aligned-features | Import (aligned) features into the project. +*FeaturesApi* | [**add_de_novo_structure_candidate**](docs/FeaturesApi.md#add_de_novo_structure_candidate) | **PUT** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +*FeaturesApi* | [**add_tags_to_aligned_feature_experimental**](docs/FeaturesApi.md#add_tags_to_aligned_feature_experimental) | **PUT** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId} | [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project *FeaturesApi* | [**delete_aligned_feature**](docs/FeaturesApi.md#delete_aligned_feature) | **DELETE** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Delete feature (aligned over runs) with the given identifier from the specified project-space. *FeaturesApi* | [**delete_aligned_features**](docs/FeaturesApi.md#delete_aligned_features) | **PUT** /api/projects/{projectId}/aligned-features/delete | Delete feature (aligned over runs) with the given identifier from the specified project-space. -*FeaturesApi* | [**get_adduct_network_with_merged_traces_experimental**](docs/FeaturesApi.md#get_adduct_network_with_merged_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +*FeaturesApi* | [**get_adduct_network_with_merged_traces_experimental**](docs/FeaturesApi.md#get_adduct_network_with_merged_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network *FeaturesApi* | [**get_aligned_feature**](docs/FeaturesApi.md#get_aligned_feature) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Get feature (aligned over runs) with the given identifier from the specified project-space. +*FeaturesApi* | [**get_aligned_feature_quality_experimental**](docs/FeaturesApi.md#get_aligned_feature_quality_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) *FeaturesApi* | [**get_aligned_features**](docs/FeaturesApi.md#get_aligned_features) | **GET** /api/projects/{projectId}/aligned-features | Get all available features (aligned over runs) in the given project-space. +*FeaturesApi* | [**get_aligned_features_by_group_experimental**](docs/FeaturesApi.md#get_aligned_features_by_group_experimental) | **GET** /api/projects/{projectId}/aligned-features/grouped | [EXPERIMENTAL] Get features (aligned over runs) by tag group +*FeaturesApi* | [**get_aligned_features_by_tag_experimental**](docs/FeaturesApi.md#get_aligned_features_by_tag_experimental) | **GET** /api/projects/{projectId}/aligned-features/tagged | [EXPERIMENTAL] Get features (aligned over runs) by tag *FeaturesApi* | [**get_aligned_features_paged**](docs/FeaturesApi.md#get_aligned_features_paged) | **GET** /api/projects/{projectId}/aligned-features/page | Get all available features (aligned over runs) in the given project-space. -*FeaturesApi* | [**get_aligned_features_quality_experimental**](docs/FeaturesApi.md#get_aligned_features_quality_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -*FeaturesApi* | [**get_best_matching_compound_classes**](docs/FeaturesApi.md#get_best_matching_compound_classes) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +*FeaturesApi* | [**get_best_matching_compound_classes**](docs/FeaturesApi.md#get_best_matching_compound_classes) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Return Best matching compound classes for given formulaId *FeaturesApi* | [**get_canopus_prediction**](docs/FeaturesApi.md#get_canopus_prediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction | All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, *FeaturesApi* | [**get_de_novo_structure_candidates**](docs/FeaturesApi.md#get_de_novo_structure_candidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. *FeaturesApi* | [**get_de_novo_structure_candidates_by_formula**](docs/FeaturesApi.md#get_de_novo_structure_candidates_by_formula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. *FeaturesApi* | [**get_de_novo_structure_candidates_by_formula_paged**](docs/FeaturesApi.md#get_de_novo_structure_candidates_by_formula_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. *FeaturesApi* | [**get_de_novo_structure_candidates_paged**](docs/FeaturesApi.md#get_de_novo_structure_candidates_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -*FeaturesApi* | [**get_fingerprint_prediction**](docs/FeaturesApi.md#get_fingerprint_prediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. -*FeaturesApi* | [**get_formula_annotated_ms_ms_data**](docs/FeaturesApi.md#get_formula_annotated_ms_ms_data) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. -*FeaturesApi* | [**get_formula_annotated_spectrum**](docs/FeaturesApi.md#get_formula_annotated_spectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +*FeaturesApi* | [**get_feature_quant_table_experimental**](docs/FeaturesApi.md#get_feature_quant_table_experimental) | **GET** /api/projects/{projectId}/aligned-features/quant-table | [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +*FeaturesApi* | [**get_fingerprint_prediction**](docs/FeaturesApi.md#get_fingerprint_prediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) +*FeaturesApi* | [**get_formula_annotated_ms_ms_data**](docs/FeaturesApi.md#get_formula_annotated_ms_ms_data) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId +*FeaturesApi* | [**get_formula_annotated_spectrum**](docs/FeaturesApi.md#get_formula_annotated_spectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e *FeaturesApi* | [**get_formula_candidate**](docs/FeaturesApi.md#get_formula_candidate) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId} | FormulaResultContainers for the given 'formulaId' with minimal information. *FeaturesApi* | [**get_formula_candidates**](docs/FeaturesApi.md#get_formula_candidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas | List of FormulaResultContainers available for this feature with minimal information. *FeaturesApi* | [**get_formula_candidates_paged**](docs/FeaturesApi.md#get_formula_candidates_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page | Page of FormulaResultContainers available for this feature with minimal information. -*FeaturesApi* | [**get_frag_tree**](docs/FeaturesApi.md#get_frag_tree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). -*FeaturesApi* | [**get_isotope_pattern_annotation**](docs/FeaturesApi.md#get_isotope_pattern_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. -*FeaturesApi* | [**get_lipid_annotation**](docs/FeaturesApi.md#get_lipid_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formula result identifier. +*FeaturesApi* | [**get_frag_tree**](docs/FeaturesApi.md#get_frag_tree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier +*FeaturesApi* | [**get_isotope_pattern_annotation**](docs/FeaturesApi.md#get_isotope_pattern_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information for given formulaId +*FeaturesApi* | [**get_lipid_annotation**](docs/FeaturesApi.md#get_lipid_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formulaId *FeaturesApi* | [**get_ms_data**](docs/FeaturesApi.md#get_ms_data) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data | Mass Spec data (input data) for the given 'alignedFeatureId' . -*FeaturesApi* | [**get_quantification_experimental**](docs/FeaturesApi.md#get_quantification_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -*FeaturesApi* | [**get_spectral_library_match**](docs/FeaturesApi.md#get_spectral_library_match) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | List of spectral library matches for the given 'alignedFeatureId'. +*FeaturesApi* | [**get_quant_table_row_experimental**](docs/FeaturesApi.md#get_quant_table_row_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) +*FeaturesApi* | [**get_spectral_library_match**](docs/FeaturesApi.md#get_spectral_library_match) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | Spectral library match for the given 'alignedFeatureId'. *FeaturesApi* | [**get_spectral_library_matches**](docs/FeaturesApi.md#get_spectral_library_matches) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches | List of spectral library matches for the given 'alignedFeatureId'. *FeaturesApi* | [**get_spectral_library_matches_paged**](docs/FeaturesApi.md#get_spectral_library_matches_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page | Page of spectral library matches for the given 'alignedFeatureId'. *FeaturesApi* | [**get_spectral_library_matches_summary**](docs/FeaturesApi.md#get_spectral_library_matches_summary) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary | Summarize matched reference spectra for the given 'alignedFeatureId'. -*FeaturesApi* | [**get_structure_annotated_ms_data_experimental**](docs/FeaturesApi.md#get_structure_annotated_ms_data_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. -*FeaturesApi* | [**get_structure_annotated_spectrum_experimental**](docs/FeaturesApi.md#get_structure_annotated_spectrum_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +*FeaturesApi* | [**get_structure_annotated_ms_data_experimental**](docs/FeaturesApi.md#get_structure_annotated_ms_data_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey +*FeaturesApi* | [**get_structure_annotated_spectral_library_match_experimental**](docs/FeaturesApi.md#get_structure_annotated_spectral_library_match_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated | [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +*FeaturesApi* | [**get_structure_annotated_spectrum_experimental**](docs/FeaturesApi.md#get_structure_annotated_spectrum_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey *FeaturesApi* | [**get_structure_candidates**](docs/FeaturesApi.md#get_structure_candidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures | List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. *FeaturesApi* | [**get_structure_candidates_by_formula**](docs/FeaturesApi.md#get_structure_candidates_by_formula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures | List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. *FeaturesApi* | [**get_structure_candidates_by_formula_paged**](docs/FeaturesApi.md#get_structure_candidates_by_formula_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page | Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. *FeaturesApi* | [**get_structure_candidates_paged**](docs/FeaturesApi.md#get_structure_candidates_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page | Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. -*FeaturesApi* | [**get_traces_experimental**](docs/FeaturesApi.md#get_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -*GuiApi* | [**close_gui**](docs/GuiApi.md#close_gui) | **DELETE** /api/projects/{projectId}/gui | Close GUI instance of given project-space if available. -*GuiApi* | [**get_guis**](docs/GuiApi.md#get_guis) | **GET** /api/guis | Get list of currently running gui windows, managed by this SIRIUS instance. -*GuiApi* | [**open_gui**](docs/GuiApi.md#open_gui) | **POST** /api/projects/{projectId}/gui | Open GUI instance on specified project-space and bring the GUI window to foreground. +*FeaturesApi* | [**get_tags_for_aligned_features_experimental**](docs/FeaturesApi.md#get_tags_for_aligned_features_experimental) | **GET** /api/projects/{projectId}/aligned-features/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Object +*FeaturesApi* | [**get_traces_experimental**](docs/FeaturesApi.md#get_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) +*FeaturesApi* | [**remove_tag_from_aligned_feature_experimental**](docs/FeaturesApi.md#remove_tag_from_aligned_feature_experimental) | **DELETE** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space *InfoApi* | [**get_connection_check**](docs/InfoApi.md#get_connection_check) | **GET** /api/connection-status | *InfoApi* | [**get_info**](docs/InfoApi.md#get_info) | **GET** /api/info | *JobsApi* | [**delete_job**](docs/JobsApi.md#delete_job) | **DELETE** /api/projects/{projectId}/jobs/{jobId} | Delete job. *JobsApi* | [**delete_job_config**](docs/JobsApi.md#delete_job_config) | **DELETE** /api/job-configs/{name} | Delete job configuration with given name. *JobsApi* | [**delete_jobs**](docs/JobsApi.md#delete_jobs) | **DELETE** /api/projects/{projectId}/jobs | * Delete ALL jobs. +*JobsApi* | [**get_command**](docs/JobsApi.md#get_command) | **POST** /api/job-configs/get-command | Get a CLI command for the given job configuration. *JobsApi* | [**get_default_job_config**](docs/JobsApi.md#get_default_job_config) | **GET** /api/default-job-config | Request default job configuration *JobsApi* | [**get_job**](docs/JobsApi.md#get_job) | **GET** /api/projects/{projectId}/jobs/{jobId} | Get job information and its current state and progress (if available). *JobsApi* | [**get_job_config**](docs/JobsApi.md#get_job_config) | **GET** /api/job-configs/{name} | Request job configuration with given name. -*JobsApi* | [**get_job_config_names**](docs/JobsApi.md#get_job_config_names) | **GET** /api/job-config-names | DEPRECATED: use /job-configs to get all configs with names. +*JobsApi* | [**get_job_config_names**](docs/JobsApi.md#get_job_config_names) | **GET** /api/job-config-names | [DEPRECATED] Get all (non-default) job configuration names *JobsApi* | [**get_job_configs**](docs/JobsApi.md#get_job_configs) | **GET** /api/job-configs | Request all available job configurations *JobsApi* | [**get_jobs**](docs/JobsApi.md#get_jobs) | **GET** /api/projects/{projectId}/jobs | Get List of all available jobs with information such as current state and progress (if available). *JobsApi* | [**get_jobs_paged**](docs/JobsApi.md#get_jobs_paged) | **GET** /api/projects/{projectId}/jobs/page | Get Page of jobs with information such as current state and progress (if available). @@ -156,7 +177,7 @@ Class | Method | HTTP request | Description *LoginAndAccountApi* | [**open_portal**](docs/LoginAndAccountApi.md#open_portal) | **GET** /api/account/openPortal | Open User portal in browser. *LoginAndAccountApi* | [**select_subscription**](docs/LoginAndAccountApi.md#select_subscription) | **PUT** /api/account/subscriptions/select-active | Select a subscription as active subscription to be used for computations. *LoginAndAccountApi* | [**sign_up**](docs/LoginAndAccountApi.md#sign_up) | **GET** /api/account/signUp | Open SignUp window in system browser and return signUp link. -*ProjectsApi* | [**close_project**](docs/ProjectsApi.md#close_project) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from application +*ProjectsApi* | [**close_project**](docs/ProjectsApi.md#close_project) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from the application *ProjectsApi* | [**create_project**](docs/ProjectsApi.md#create_project) | **POST** /api/projects/{projectId} | Create and open a new project-space at given location and make it accessible via the given projectId. *ProjectsApi* | [**get_canopus_classy_fire_data**](docs/ProjectsApi.md#get_canopus_classy_fire_data) | **GET** /api/projects/{projectId}/cf-data | Get CANOPUS prediction vector definition for ClassyFire classes *ProjectsApi* | [**get_canopus_npc_data**](docs/ProjectsApi.md#get_canopus_npc_data) | **GET** /api/projects/{projectId}/npc-data | Get CANOPUS prediction vector definition for NPC classes @@ -168,6 +189,14 @@ Class | Method | HTTP request | Description *ProjectsApi* | [**import_preprocessed_data**](docs/ProjectsApi.md#import_preprocessed_data) | **POST** /api/projects/{projectId}/import/preprocessed-data-files | Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) *ProjectsApi* | [**import_preprocessed_data_as_job**](docs/ProjectsApi.md#import_preprocessed_data_as_job) | **POST** /api/projects/{projectId}/import/preprocessed-data-files-job | Import ms/ms data from the given format into the specified project-space as background job. *ProjectsApi* | [**open_project**](docs/ProjectsApi.md#open_project) | **PUT** /api/projects/{projectId} | Open an existing project-space and make it accessible via the given projectId. +*RunsApi* | [**add_tags_to_run_experimental**](docs/RunsApi.md#add_tags_to_run_experimental) | **PUT** /api/projects/{projectId}/runs/tags/{runId} | [EXPERIMENTAL] Add tags to a run in the project +*RunsApi* | [**compute_fold_change_for_blank_subtraction**](docs/RunsApi.md#compute_fold_change_for_blank_subtraction) | **PUT** /api/projects/{projectId}/runs/blanksubtract/compute | **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +*RunsApi* | [**get_run_experimental**](docs/RunsApi.md#get_run_experimental) | **GET** /api/projects/{projectId}/runs/{runId} | [EXPERIMENTAL] Get run with the given identifier from the specified project-space +*RunsApi* | [**get_run_page_experimental**](docs/RunsApi.md#get_run_page_experimental) | **GET** /api/projects/{projectId}/runs/page | [EXPERIMENTAL] Get all available runs in the given project-space +*RunsApi* | [**get_runs_by_group_experimental**](docs/RunsApi.md#get_runs_by_group_experimental) | **GET** /api/projects/{projectId}/runs/grouped | [EXPERIMENTAL] Get runs by tag group +*RunsApi* | [**get_runs_by_tag_experimental**](docs/RunsApi.md#get_runs_by_tag_experimental) | **GET** /api/projects/{projectId}/runs/tagged | [EXPERIMENTAL] Get runs by tag +*RunsApi* | [**get_tags_for_run_experimental**](docs/RunsApi.md#get_tags_for_run_experimental) | **GET** /api/projects/{projectId}/runs/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Run +*RunsApi* | [**remove_tag_from_run_experimental**](docs/RunsApi.md#remove_tag_from_run_experimental) | **DELETE** /api/projects/{projectId}/runs/tags/{runId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space *SearchableDatabasesApi* | [**add_databases**](docs/SearchableDatabasesApi.md#add_databases) | **POST** /api/databases | DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. *SearchableDatabasesApi* | [**create_database**](docs/SearchableDatabasesApi.md#create_database) | **POST** /api/databases/{databaseId} | *SearchableDatabasesApi* | [**get_custom_databases**](docs/SearchableDatabasesApi.md#get_custom_databases) | **GET** /api/databases/custom | @@ -177,6 +206,15 @@ Class | Method | HTTP request | Description *SearchableDatabasesApi* | [**import_into_database**](docs/SearchableDatabasesApi.md#import_into_database) | **POST** /api/databases/{databaseId}/import/from-files | Start import of structure and spectra files into the specified database. *SearchableDatabasesApi* | [**remove_database**](docs/SearchableDatabasesApi.md#remove_database) | **DELETE** /api/databases/{databaseId} | *SearchableDatabasesApi* | [**update_database**](docs/SearchableDatabasesApi.md#update_database) | **PUT** /api/databases/{databaseId} | +*TagsApi* | [**add_group**](docs/TagsApi.md#add_group) | **POST** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Group tags in the project +*TagsApi* | [**add_possible_values_to_tag_definition**](docs/TagsApi.md#add_possible_values_to_tag_definition) | **PATCH** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Add a possible value to the tag definition in the project +*TagsApi* | [**create_tags**](docs/TagsApi.md#create_tags) | **PUT** /api/projects/{projectId}/tags | [EXPERIMENTAL] Add tags to the project +*TagsApi* | [**delete_group**](docs/TagsApi.md#delete_group) | **DELETE** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +*TagsApi* | [**delete_tag**](docs/TagsApi.md#delete_tag) | **DELETE** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +*TagsApi* | [**get_group_by_name**](docs/TagsApi.md#get_group_by_name) | **GET** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Get tag group by name in the given project-space +*TagsApi* | [**get_groups**](docs/TagsApi.md#get_groups) | **GET** /api/projects/{projectId}/groups | [EXPERIMENTAL] Get all tag based groups in the given project-space +*TagsApi* | [**get_tag**](docs/TagsApi.md#get_tag) | **GET** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Get tag definition by its name in the given project-space +*TagsApi* | [**get_tags**](docs/TagsApi.md#get_tags) | **GET** /api/projects/{projectId}/tags | [EXPERIMENTAL] Get all tag definitions in the given project-space ## Documentation For Models @@ -186,16 +224,21 @@ Class | Method | HTTP request | Description - [AdductEdgeExperimental](docs/AdductEdgeExperimental.md) - [AdductNetworkExperimental](docs/AdductNetworkExperimental.md) - [AdductNodeExperimental](docs/AdductNodeExperimental.md) + - [AggregationType](docs/AggregationType.md) - [AlignedFeature](docs/AlignedFeature.md) - [AlignedFeatureOptField](docs/AlignedFeatureOptField.md) - [AlignedFeatureQualityExperimental](docs/AlignedFeatureQualityExperimental.md) + - [AllowedFeatures](docs/AllowedFeatures.md) - [AnnotatedMsMsData](docs/AnnotatedMsMsData.md) - [AnnotatedPeak](docs/AnnotatedPeak.md) - [AnnotatedSpectrum](docs/AnnotatedSpectrum.md) + - [ApiVersion](docs/ApiVersion.md) - [Axes](docs/Axes.md) - [BackgroundComputationsStateEvent](docs/BackgroundComputationsStateEvent.md) - [BasicSpectrum](docs/BasicSpectrum.md) - [BinaryFingerprint](docs/BinaryFingerprint.md) + - [BioTransformerParameters](docs/BioTransformerParameters.md) + - [BioTransformerSequenceStep](docs/BioTransformerSequenceStep.md) - [Canopus](docs/Canopus.md) - [CanopusPrediction](docs/CanopusPrediction.md) - [Category](docs/Category.md) @@ -215,6 +258,7 @@ Class | Method | HTTP request | Description - [ConsensusAnnotationsDeNovo](docs/ConsensusAnnotationsDeNovo.md) - [ConsensusCriterionCSI](docs/ConsensusCriterionCSI.md) - [ConsensusCriterionDeNovo](docs/ConsensusCriterionDeNovo.md) + - [Cyp450Mode](docs/Cyp450Mode.md) - [DBLink](docs/DBLink.md) - [DataImportEvent](docs/DataImportEvent.md) - [DataQuality](docs/DataQuality.md) @@ -222,11 +266,11 @@ Class | Method | HTTP request | Description - [FeatureAnnotations](docs/FeatureAnnotations.md) - [FeatureImport](docs/FeatureImport.md) - [FingerprintPrediction](docs/FingerprintPrediction.md) + - [FoldChange](docs/FoldChange.md) - [FormulaCandidate](docs/FormulaCandidate.md) - [FormulaCandidateOptField](docs/FormulaCandidateOptField.md) - [FragmentNode](docs/FragmentNode.md) - [FragmentationTree](docs/FragmentationTree.md) - - [GuiInfo](docs/GuiInfo.md) - [ImportResult](docs/ImportResult.md) - [Info](docs/Info.md) - [InstrumentProfile](docs/InstrumentProfile.md) @@ -242,18 +286,22 @@ Class | Method | HTTP request | Description - [LicenseInfo](docs/LicenseInfo.md) - [LipidAnnotation](docs/LipidAnnotation.md) - [LossEdge](docs/LossEdge.md) + - [MetabolicTransformation](docs/MetabolicTransformation.md) - [MsData](docs/MsData.md) - [MsNovelist](docs/MsNovelist.md) + - [P2Mode](docs/P2Mode.md) - [PageMetadata](docs/PageMetadata.md) - [PagedModelAlignedFeature](docs/PagedModelAlignedFeature.md) - [PagedModelCompound](docs/PagedModelCompound.md) - [PagedModelFormulaCandidate](docs/PagedModelFormulaCandidate.md) - [PagedModelJob](docs/PagedModelJob.md) + - [PagedModelRun](docs/PagedModelRun.md) - [PagedModelSpectralLibraryMatch](docs/PagedModelSpectralLibraryMatch.md) - [PagedModelStructureCandidateFormula](docs/PagedModelStructureCandidateFormula.md) - [PagedModelStructureCandidateScored](docs/PagedModelStructureCandidateScored.md) - [ParentPeak](docs/ParentPeak.md) - [PeakAnnotation](docs/PeakAnnotation.md) + - [PeakPair](docs/PeakPair.md) - [ProjectChangeEvent](docs/ProjectChangeEvent.md) - [ProjectEventType](docs/ProjectEventType.md) - [ProjectInfo](docs/ProjectInfo.md) @@ -261,12 +309,16 @@ Class | Method | HTTP request | Description - [ProjectType](docs/ProjectType.md) - [QualityItem](docs/QualityItem.md) - [QualityWeight](docs/QualityWeight.md) - - [QuantificationColumnType](docs/QuantificationColumnType.md) - - [QuantificationMeasure](docs/QuantificationMeasure.md) - - [QuantificationRowType](docs/QuantificationRowType.md) - - [QuantificationTableExperimental](docs/QuantificationTableExperimental.md) + - [QuantMeasure](docs/QuantMeasure.md) + - [QuantRowType](docs/QuantRowType.md) + - [QuantTableExperimental](docs/QuantTableExperimental.md) + - [Run](docs/Run.md) + - [RunOptField](docs/RunOptField.md) + - [SampleTypeFoldChangeRequest](docs/SampleTypeFoldChangeRequest.md) - [SearchableDatabase](docs/SearchableDatabase.md) - [SearchableDatabaseParameters](docs/SearchableDatabaseParameters.md) + - [SecurityContext](docs/SecurityContext.md) + - [SecurityContextPrincipal](docs/SecurityContextPrincipal.md) - [SimplePeak](docs/SimplePeak.md) - [Sirius](docs/Sirius.md) - [Solver](docs/Solver.md) @@ -274,8 +326,12 @@ Class | Method | HTTP request | Description - [SpectralLibraryMatchOptField](docs/SpectralLibraryMatchOptField.md) - [SpectralLibraryMatchSummary](docs/SpectralLibraryMatchSummary.md) - [SpectralLibrarySearch](docs/SpectralLibrarySearch.md) + - [SpectralMatchType](docs/SpectralMatchType.md) - [SpectralMatchingType](docs/SpectralMatchingType.md) - [SpectrumAnnotation](docs/SpectrumAnnotation.md) + - [SpectrumType](docs/SpectrumType.md) + - [StatisticsTable](docs/StatisticsTable.md) + - [StatisticsType](docs/StatisticsType.md) - [StoredJobSubmission](docs/StoredJobSubmission.md) - [StructureCandidate](docs/StructureCandidate.md) - [StructureCandidateFormula](docs/StructureCandidateFormula.md) @@ -284,6 +340,10 @@ Class | Method | HTTP request | Description - [StructureDbSearch](docs/StructureDbSearch.md) - [Subscription](docs/Subscription.md) - [SubscriptionConsumables](docs/SubscriptionConsumables.md) + - [Tag](docs/Tag.md) + - [TagDefinition](docs/TagDefinition.md) + - [TagDefinitionImport](docs/TagDefinitionImport.md) + - [TagGroup](docs/TagGroup.md) - [Term](docs/Term.md) - [Timeout](docs/Timeout.md) - [TraceAnnotationExperimental](docs/TraceAnnotationExperimental.md) @@ -291,9 +351,13 @@ Class | Method | HTTP request | Description - [TraceExperimental](docs/TraceExperimental.md) - [TraceSetExperimental](docs/TraceSetExperimental.md) - [UseHeuristic](docs/UseHeuristic.md) + - [ValueType](docs/ValueType.md) + - [WebServerNamespace](docs/WebServerNamespace.md) - [Zodiac](docs/Zodiac.md) + - [ZodiacAnalogueNodes](docs/ZodiacAnalogueNodes.md) - [ZodiacEdgeFilterThresholds](docs/ZodiacEdgeFilterThresholds.md) - [ZodiacEpochs](docs/ZodiacEpochs.md) + - [ZodiacLibraryScoring](docs/ZodiacLibraryScoring.md) diff --git a/client-api_python/generated/docs/ActuatorApi.md b/client-api_python/generated/docs/ActuatorApi.md index 9f750cee..88939e25 100644 --- a/client-api_python/generated/docs/ActuatorApi.md +++ b/client-api_python/generated/docs/ActuatorApi.md @@ -59,7 +59,7 @@ No authorization required ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/vnd.spring-boot.actuator.v3+json, application/json, application/vnd.spring-boot.actuator.v2+json + - **Accept**: application/vnd.spring-boot.actuator.v3+json, application/vnd.spring-boot.actuator.v2+json, application/json ### HTTP response details @@ -70,7 +70,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **shutdown** -> object shutdown() +> shutdown() Actuator web endpoint 'shutdown' @@ -96,9 +96,7 @@ with PySirius.ApiClient(configuration) as api_client: try: # Actuator web endpoint 'shutdown' - api_response = api_instance.shutdown() - print("The response of ActuatorApi->shutdown:\n") - pprint(api_response) + api_instance.shutdown() except Exception as e: print("Exception when calling ActuatorApi->shutdown: %s\n" % e) ``` @@ -111,7 +109,7 @@ This endpoint does not need any parameter. ### Return type -**object** +void (empty response body) ### Authorization @@ -120,13 +118,14 @@ No authorization required ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/vnd.spring-boot.actuator.v3+json, application/json, application/vnd.spring-boot.actuator.v2+json + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | OK | - | +**204** | No Content | - | +**400** | Bad Request | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/AggregationType.md b/client-api_python/generated/docs/AggregationType.md new file mode 100644 index 00000000..1751dc71 --- /dev/null +++ b/client-api_python/generated/docs/AggregationType.md @@ -0,0 +1,14 @@ +# AggregationType + + +## Enum + +* `AVG` (value: `'AVG'`) + +* `MIN` (value: `'MIN'`) + +* `MAX` (value: `'MAX'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/AlignedFeature.md b/client-api_python/generated/docs/AlignedFeature.md index 50ad95aa..ea6fc705 100644 --- a/client-api_python/generated/docs/AlignedFeature.md +++ b/client-api_python/generated/docs/AlignedFeature.md @@ -16,14 +16,15 @@ Name | Type | Description | Notes **rt_start_seconds** | **float** | | [optional] **rt_end_seconds** | **float** | | [optional] **rt_apex_seconds** | **float** | | [optional] -**quality** | [**DataQuality**](DataQuality.md) | | [optional] +**quality** | [**DataQuality**](DataQuality.md) | Quality of this feature. | [optional] **has_ms1** | **bool** | If true, the feature has at lease one MS1 spectrum | [optional] **has_ms_ms** | **bool** | If true, the feature has at lease one MS/MS spectrum | [optional] -**ms_data** | [**MsData**](MsData.md) | | [optional] -**top_annotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] -**top_annotations_de_novo** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] +**ms_data** | [**MsData**](MsData.md) | Mass Spec data of this feature (input data) | [optional] +**top_annotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. | [optional] +**top_annotations_de_novo** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. | [optional] **computing** | **bool** | Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results | [optional] -**computed_tools** | [**ComputedSubtools**](ComputedSubtools.md) | | [optional] +**computed_tools** | [**ComputedSubtools**](ComputedSubtools.md) | Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. | [optional] +**tags** | [**Dict[str, Tag]**](Tag.md) | Key: tagName, value: tag | [optional] ## Example diff --git a/client-api_python/generated/docs/AlignedFeatureOptField.md b/client-api_python/generated/docs/AlignedFeatureOptField.md index 63108853..dda49997 100644 --- a/client-api_python/generated/docs/AlignedFeatureOptField.md +++ b/client-api_python/generated/docs/AlignedFeatureOptField.md @@ -7,12 +7,16 @@ * `MSDATA` (value: `'msData'`) +* `TOPANNOTATIONSSUMMARY` (value: `'topAnnotationsSummary'`) + * `TOPANNOTATIONS` (value: `'topAnnotations'`) * `TOPANNOTATIONSDENOVO` (value: `'topAnnotationsDeNovo'`) * `COMPUTEDTOOLS` (value: `'computedTools'`) +* `TAGS` (value: `'tags'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md b/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md index e095cfa1..9059008b 100644 --- a/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md +++ b/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md @@ -7,7 +7,7 @@ EXPERIMENTAL: This schema is experimental and may be changed (or even removed) w Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aligned_feature_id** | **str** | Id of the feature (aligned over runs) this quality information belongs to. | -**overall_quality** | [**DataQuality**](DataQuality.md) | | +**overall_quality** | [**DataQuality**](DataQuality.md) | Overall Quality | **categories** | [**Dict[str, Category]**](Category.md) | Contains all pre-computation quality information that belong to this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc., | ## Example diff --git a/client-api_python/generated/docs/AllowedFeatures.md b/client-api_python/generated/docs/AllowedFeatures.md new file mode 100644 index 00000000..24cbd0e5 --- /dev/null +++ b/client-api_python/generated/docs/AllowedFeatures.md @@ -0,0 +1,34 @@ +# AllowedFeatures + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cli** | **bool** | | [optional] +**api** | **bool** | | [optional] +**de_novo** | **bool** | | [optional] +**import_ms_runs** | **bool** | | [optional] +**import_peak_lists** | **bool** | | [optional] +**import_cef** | **bool** | | [optional] + +## Example + +```python +from PySirius.models.allowed_features import AllowedFeatures + +# TODO update the JSON string below +json = "{}" +# create an instance of AllowedFeatures from a JSON string +allowed_features_instance = AllowedFeatures.from_json(json) +# print the JSON string representation of the object +print(AllowedFeatures.to_json()) + +# convert the object into a dict +allowed_features_dict = allowed_features_instance.to_dict() +# create an instance of AllowedFeatures from a dict +allowed_features_from_dict = AllowedFeatures.from_dict(allowed_features_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/AnnotatedSpectrum.md b/client-api_python/generated/docs/AnnotatedSpectrum.md index 6f191bfb..1ee2eecf 100644 --- a/client-api_python/generated/docs/AnnotatedSpectrum.md +++ b/client-api_python/generated/docs/AnnotatedSpectrum.md @@ -12,9 +12,15 @@ Name | Type | Description | Notes **instrument** | **str** | Instrument information. | [optional] **precursor_mz** | **float** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scan_number** | **int** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] +**cosine_query** | **bool** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to False] +**precursor_peak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] **peaks** | [**List[AnnotatedPeak]**](AnnotatedPeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | -**abs_intensity_factor** | **float** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) | [optional] -**spectrum_annotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | | [optional] +**abs_intensity_factor** | **float** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] +**max_norm_factor** | **float** | Factor to convert absolute intensities to MAX norm. | [optional] +**sum_norm_factor** | **float** | Factor to convert absolute intensities to SUM norm. | [optional] +**l2_norm_factor** | **float** | Factor to convert absolute intensities to L2 (Euclidean) norm. | [optional] +**first_peak_norm_factor** | **float** | Factor to convert absolute intensities to normalize intensities by first peak intensity. | [optional] +**spectrum_annotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | Optional Annotations of this spectrum. | [optional] ## Example diff --git a/client-api_python/generated/docs/QuantificationColumnType.md b/client-api_python/generated/docs/ApiVersion.md similarity index 74% rename from client-api_python/generated/docs/QuantificationColumnType.md rename to client-api_python/generated/docs/ApiVersion.md index b10cc2e8..54358a69 100644 --- a/client-api_python/generated/docs/QuantificationColumnType.md +++ b/client-api_python/generated/docs/ApiVersion.md @@ -1,9 +1,11 @@ -# QuantificationColumnType +# ApiVersion ## Enum -* `SAMPLES` (value: `'SAMPLES'`) +* `V2` (value: `'V2'`) + +* `V3` (value: `'V3'`) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/BasicSpectrum.md b/client-api_python/generated/docs/BasicSpectrum.md index d14327de..1bf6a7b5 100644 --- a/client-api_python/generated/docs/BasicSpectrum.md +++ b/client-api_python/generated/docs/BasicSpectrum.md @@ -11,8 +11,14 @@ Name | Type | Description | Notes **instrument** | **str** | Instrument information. | [optional] **precursor_mz** | **float** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scan_number** | **int** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] +**cosine_query** | **bool** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to False] +**precursor_peak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] **peaks** | [**List[SimplePeak]**](SimplePeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | -**abs_intensity_factor** | **float** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) | [optional] +**abs_intensity_factor** | **float** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] +**max_norm_factor** | **float** | Factor to convert absolute intensities to MAX norm. | [optional] +**sum_norm_factor** | **float** | Factor to convert absolute intensities to SUM norm. | [optional] +**l2_norm_factor** | **float** | Factor to convert absolute intensities to L2 (Euclidean) norm. | [optional] +**first_peak_norm_factor** | **float** | Factor to convert absolute intensities to normalize intensities by first peak intensity. | [optional] ## Example diff --git a/client-api_python/generated/docs/BioTransformerParameters.md b/client-api_python/generated/docs/BioTransformerParameters.md new file mode 100644 index 00000000..7f5daae4 --- /dev/null +++ b/client-api_python/generated/docs/BioTransformerParameters.md @@ -0,0 +1,32 @@ +# BioTransformerParameters + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cyp450_mode** | [**Cyp450Mode**](Cyp450Mode.md) | Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode. | +**p2_mode** | [**P2Mode**](P2Mode.md) | Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode. | +**use_db** | **bool** | \"Specify if you want to enable the retrieving from database (HMDB) feature.\" | [optional] [default to True] +**bio_transformer_sequence_steps** | [**List[BioTransformerSequenceStep]**](BioTransformerSequenceStep.md) | Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one). | + +## Example + +```python +from PySirius.models.bio_transformer_parameters import BioTransformerParameters + +# TODO update the JSON string below +json = "{}" +# create an instance of BioTransformerParameters from a JSON string +bio_transformer_parameters_instance = BioTransformerParameters.from_json(json) +# print the JSON string representation of the object +print(BioTransformerParameters.to_json()) + +# convert the object into a dict +bio_transformer_parameters_dict = bio_transformer_parameters_instance.to_dict() +# create an instance of BioTransformerParameters from a dict +bio_transformer_parameters_from_dict = BioTransformerParameters.from_dict(bio_transformer_parameters_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/BioTransformerSequenceStep.md b/client-api_python/generated/docs/BioTransformerSequenceStep.md new file mode 100644 index 00000000..ad092ecb --- /dev/null +++ b/client-api_python/generated/docs/BioTransformerSequenceStep.md @@ -0,0 +1,30 @@ +# BioTransformerSequenceStep + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metabolic_transformation** | [**MetabolicTransformation**](MetabolicTransformation.md) | | [optional] +**iterations** | **int** | | [optional] + +## Example + +```python +from PySirius.models.bio_transformer_sequence_step import BioTransformerSequenceStep + +# TODO update the JSON string below +json = "{}" +# create an instance of BioTransformerSequenceStep from a JSON string +bio_transformer_sequence_step_instance = BioTransformerSequenceStep.from_json(json) +# print the JSON string representation of the object +print(BioTransformerSequenceStep.to_json()) + +# convert the object into a dict +bio_transformer_sequence_step_dict = bio_transformer_sequence_step_instance.to_dict() +# create an instance of BioTransformerSequenceStep from a dict +bio_transformer_sequence_step_from_dict = BioTransformerSequenceStep.from_dict(bio_transformer_sequence_step_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/Compound.md b/client-api_python/generated/docs/Compound.md index 9b8d19b5..4c1c26b4 100644 --- a/client-api_python/generated/docs/Compound.md +++ b/client-api_python/generated/docs/Compound.md @@ -11,9 +11,10 @@ Name | Type | Description | Notes **rt_end_seconds** | **float** | The merged/consensus retention time end (latest rt) of this compound | [optional] **neutral_mass** | **float** | Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass | [optional] **features** | [**List[AlignedFeature]**](AlignedFeature.md) | List of aligned features (adducts) that belong to the same (this) compound | [optional] -**consensus_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] -**consensus_annotations_de_novo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | | [optional] -**custom_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] +**consensus_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] +**consensus_annotations_de_novo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] +**custom_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | Alternative annotations selected by the User. | [optional] +**tags** | [**Dict[str, Tag]**](Tag.md) | Key: tagName, value: tag | [optional] ## Example diff --git a/client-api_python/generated/docs/CompoundClass.md b/client-api_python/generated/docs/CompoundClass.md index 15b179ca..487e117d 100644 --- a/client-api_python/generated/docs/CompoundClass.md +++ b/client-api_python/generated/docs/CompoundClass.md @@ -6,7 +6,7 @@ Predicted compound class with name, probability and id if available. (ClassyFir Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**type** | [**CompoundClassType**](CompoundClassType.md) | | [optional] +**type** | [**CompoundClassType**](CompoundClassType.md) | Specifies the classification ontology the CompoundClass belongs to. | [optional] **level** | **str** | Name of the level this compound class belongs to | [optional] **level_index** | **int** | Index of the level this compound class belongs to | [optional] **name** | **str** | Name of the compound class. | [optional] diff --git a/client-api_python/generated/docs/CompoundClasses.md b/client-api_python/generated/docs/CompoundClasses.md index 04b9aab4..ef7707e2 100644 --- a/client-api_python/generated/docs/CompoundClasses.md +++ b/client-api_python/generated/docs/CompoundClasses.md @@ -6,9 +6,9 @@ Container class that holds the most likely compound class for different levels o Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**npc_pathway** | [**CompoundClass**](CompoundClass.md) | | [optional] -**npc_superclass** | [**CompoundClass**](CompoundClass.md) | | [optional] -**npc_class** | [**CompoundClass**](CompoundClass.md) | | [optional] +**npc_pathway** | [**CompoundClass**](CompoundClass.md) | Pathway level NPC class with the highest probability | [optional] +**npc_superclass** | [**CompoundClass**](CompoundClass.md) | Superclass level NPC class with the highest probability | [optional] +**npc_class** | [**CompoundClass**](CompoundClass.md) | Class level NPC class with the highest probability | [optional] **classy_fire_lineage** | [**List[CompoundClass]**](CompoundClass.md) | Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation | [optional] **classy_fire_alternatives** | [**List[CompoundClass]**](CompoundClass.md) | Alternative ClassyFire classes with high probability that do not fit into the linage | [optional] diff --git a/client-api_python/generated/docs/CompoundOptField.md b/client-api_python/generated/docs/CompoundOptField.md index e8f7a857..9c28ef9d 100644 --- a/client-api_python/generated/docs/CompoundOptField.md +++ b/client-api_python/generated/docs/CompoundOptField.md @@ -11,6 +11,8 @@ * `CUSTOMANNOTATIONS` (value: `'customAnnotations'`) +* `TAGS` (value: `'tags'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/CompoundStatisticsApi.md b/client-api_python/generated/docs/CompoundStatisticsApi.md new file mode 100644 index 00000000..808618f3 --- /dev/null +++ b/client-api_python/generated/docs/CompoundStatisticsApi.md @@ -0,0 +1,312 @@ +# PySirius.CompoundStatisticsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**compute_compound_fold_changes_experimental**](CompoundStatisticsApi.md#compute_compound_fold_changes_experimental) | **PUT** /api/projects/{projectId}/compounds/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +[**delete_compound_fold_changes_experimental**](CompoundStatisticsApi.md#delete_compound_fold_changes_experimental) | **DELETE** /api/projects/{projectId}/compounds/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +[**get_compound_fold_change_table_experimental**](CompoundStatisticsApi.md#get_compound_fold_change_table_experimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +[**get_fold_changes_by_compound_experimental**](CompoundStatisticsApi.md#get_fold_changes_by_compound_experimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object + + +# **compute_compound_fold_changes_experimental** +> Job compute_compound_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification, opt_fields=opt_fields) + +[EXPERIMENTAL] Compute the fold change between two groups of runs + +[EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to compute the fold change in. + left_group_name = 'left_group_name_example' # str | name of the left tag group. + right_group_name = 'right_group_name_example' # str | name of the right tag group. + aggregation = PySirius.AggregationType() # AggregationType | aggregation type. (optional) + quantification = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) + opt_fields = [progress] # List[JobOptField] | job opt fields. (optional) (default to [progress]) + + try: + # [EXPERIMENTAL] Compute the fold change between two groups of runs + api_response = api_instance.compute_compound_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification, opt_fields=opt_fields) + print("The response of CompoundStatisticsApi->compute_compound_fold_changes_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundStatisticsApi->compute_compound_fold_changes_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to compute the fold change in. | + **left_group_name** | **str**| name of the left tag group. | + **right_group_name** | **str**| name of the right tag group. | + **aggregation** | [**AggregationType**](.md)| aggregation type. | [optional] + **quantification** | [**QuantMeasure**](.md)| quantification type. | [optional] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| job opt fields. | [optional] [default to [progress]] + +### Return type + +[**Job**](Job.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_compound_fold_changes_experimental** +> delete_compound_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification) + +[EXPERIMENTAL] Delete fold changes + +[EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.quant_measure import QuantMeasure +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + left_group_name = 'left_group_name_example' # str | name of the left group. + right_group_name = 'right_group_name_example' # str | name of the right group. + aggregation = PySirius.AggregationType() # AggregationType | (optional) + quantification = PySirius.QuantMeasure() # QuantMeasure | (optional) + + try: + # [EXPERIMENTAL] Delete fold changes + api_instance.delete_compound_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification) + except Exception as e: + print("Exception when calling CompoundStatisticsApi->delete_compound_fold_changes_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **left_group_name** | **str**| name of the left group. | + **right_group_name** | **str**| name of the right group. | + **aggregation** | [**AggregationType**](.md)| | [optional] + **quantification** | [**QuantMeasure**](.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_compound_fold_change_table_experimental** +> StatisticsTable get_compound_fold_change_table_experimental(project_id, aggregation=aggregation, quantification=quantification) + +[EXPERIMENTAL] Get table of all fold changes in the project space + +[EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + aggregation = PySirius.AggregationType() # AggregationType | aggregation type. (optional) + quantification = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) + + try: + # [EXPERIMENTAL] Get table of all fold changes in the project space + api_response = api_instance.get_compound_fold_change_table_experimental(project_id, aggregation=aggregation, quantification=quantification) + print("The response of CompoundStatisticsApi->get_compound_fold_change_table_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundStatisticsApi->get_compound_fold_change_table_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **aggregation** | [**AggregationType**](.md)| aggregation type. | [optional] + **quantification** | [**QuantMeasure**](.md)| quantification type. | [optional] + +### Return type + +[**StatisticsTable**](StatisticsTable.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | table of fold changes. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_fold_changes_by_compound_experimental** +> List[FoldChange] get_fold_changes_by_compound_experimental(project_id, object_id) + +[EXPERIMENTAL] List all fold changes that are associated with an object + +[EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.fold_change import FoldChange +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + object_id = 'object_id_example' # str | id of the object the fold changes are assigned to. + + try: + # [EXPERIMENTAL] List all fold changes that are associated with an object + api_response = api_instance.get_fold_changes_by_compound_experimental(project_id, object_id) + print("The response of CompoundStatisticsApi->get_fold_changes_by_compound_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundStatisticsApi->get_fold_changes_by_compound_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **object_id** | **str**| id of the object the fold changes are assigned to. | + +### Return type + +[**List[FoldChange]**](FoldChange.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | fold changes | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/client-api_python/generated/docs/CompoundsApi.md b/client-api_python/generated/docs/CompoundsApi.md index 17a365b9..3fa7aa40 100644 --- a/client-api_python/generated/docs/CompoundsApi.md +++ b/client-api_python/generated/docs/CompoundsApi.md @@ -5,11 +5,18 @@ All URIs are relative to *http://localhost:8080* Method | HTTP request | Description ------------- | ------------- | ------------- [**add_compounds**](CompoundsApi.md#add_compounds) | **POST** /api/projects/{projectId}/compounds | Import Compounds and its contained features. +[**add_tags_to_compound_experimental**](CompoundsApi.md#add_tags_to_compound_experimental) | **PUT** /api/projects/{projectId}/compounds/tags/{compoundId} | [EXPERIMENTAL] Tags with the same name will be overwritten [**delete_compound**](CompoundsApi.md#delete_compound) | **DELETE** /api/projects/{projectId}/compounds/{compoundId} | Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. [**get_compound**](CompoundsApi.md#get_compound) | **GET** /api/projects/{projectId}/compounds/{compoundId} | Get compound (group of ion identities) with the given identifier from the specified project-space. -[**get_compound_traces_experimental**](CompoundsApi.md#get_compound_traces_experimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[**get_compound_quant_table_experimental**](CompoundsApi.md#get_compound_quant_table_experimental) | **GET** /api/projects/{projectId}/compounds/quant-table | [EXPERIMENTAL] Returns the full quantification table of compounds +[**get_compound_quant_table_row_experimental**](CompoundsApi.md#get_compound_quant_table_row_experimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given compound +[**get_compound_traces_experimental**](CompoundsApi.md#get_compound_traces_experimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | [EXPERIMENTAL] Returns the traces of the given compound [**get_compounds**](CompoundsApi.md#get_compounds) | **GET** /api/projects/{projectId}/compounds | List of all available compounds (group of ion identities) in the given project-space. +[**get_compounds_by_group_experimental**](CompoundsApi.md#get_compounds_by_group_experimental) | **GET** /api/projects/{projectId}/compounds/grouped | [EXPERIMENTAL] Get compounds (group of ion identities) by tag group +[**get_compounds_by_tag_experimental**](CompoundsApi.md#get_compounds_by_tag_experimental) | **GET** /api/projects/{projectId}/compounds/tagged | [EXPERIMENTAL] Get compounds (group of ion identities) by tag [**get_compounds_paged**](CompoundsApi.md#get_compounds_paged) | **GET** /api/projects/{projectId}/compounds/page | Page of available compounds (group of ion identities) in the given project-space. +[**get_tags_for_compound_experimental**](CompoundsApi.md#get_tags_for_compound_experimental) | **GET** /api/projects/{projectId}/compounds/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Compound +[**remove_tag_from_compound_experimental**](CompoundsApi.md#remove_tag_from_compound_experimental) | **DELETE** /api/projects/{projectId}/compounds/tags/{compoundId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space # **add_compounds** @@ -46,8 +53,8 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to import into. compound_import = [PySirius.CompoundImport()] # List[CompoundImport] | the compound data to be imported profile = PySirius.InstrumentProfile() # InstrumentProfile | profile describing the instrument used to measure the data. Used to merge spectra. (optional) - opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to ["none"]) - opt_fields_features = ["none"] # List[AlignedFeatureOptField] | set of optional fields of the nested features to be included. Use 'none' to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to [none]) + opt_fields_features = [none] # List[AlignedFeatureOptField] | set of optional fields of the nested features to be included. Use 'none' to override defaults. (optional) (default to [none]) try: # Import Compounds and its contained features. @@ -68,8 +75,8 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to import into. | **compound_import** | [**List[CompoundImport]**](CompoundImport.md)| the compound data to be imported | **profile** | [**InstrumentProfile**](.md)| profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] - **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] + **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to [none]] ### Return type @@ -92,6 +99,78 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **add_tags_to_compound_experimental** +> List[Tag] add_tags_to_compound_experimental(project_id, compound_id, tag) + +[EXPERIMENTAL] Tags with the same name will be overwritten + +[EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag import Tag +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundsApi(api_client) + project_id = 'project_id_example' # str | project-space to add to. + compound_id = 'compound_id_example' # str | compound (group of ion identities) to add tags to. + tag = [PySirius.Tag()] # List[Tag] | tags to add. + + try: + # [EXPERIMENTAL] Tags with the same name will be overwritten + api_response = api_instance.add_tags_to_compound_experimental(project_id, compound_id, tag) + print("The response of CompoundsApi->add_tags_to_compound_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundsApi->add_tags_to_compound_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to add to. | + **compound_id** | **str**| compound (group of ion identities) to add tags to. | + **tag** | [**List[Tag]**](Tag.md)| tags to add. | + +### Return type + +[**List[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the tags that have been added | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **delete_compound** > delete_compound(project_id, compound_id) @@ -160,7 +239,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_compound** -> Compound get_compound(project_id, compound_id, opt_fields=opt_fields, opt_fields_features=opt_fields_features) +> Compound get_compound(project_id, compound_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, opt_fields_features=opt_fields_features) Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -190,12 +269,13 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.CompoundsApi(api_client) project_id = 'project_id_example' # str | project-space to read from. compound_id = 'compound_id_example' # str | identifier of the compound (group of ion identities) to access. - opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) - opt_fields_features = ["none"] # List[AlignedFeatureOptField] | (optional) (default to ["none"]) + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) + opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields_features = [none] # List[AlignedFeatureOptField] | (optional) (default to [none]) try: # Get compound (group of ion identities) with the given identifier from the specified project-space. - api_response = api_instance.get_compound(project_id, compound_id, opt_fields=opt_fields, opt_fields_features=opt_fields_features) + api_response = api_instance.get_compound(project_id, compound_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, opt_fields_features=opt_fields_features) print("The response of CompoundsApi->get_compound:\n") pprint(api_response) except Exception as e: @@ -211,8 +291,9 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | **compound_id** | **str**| identifier of the compound (group of ion identities) to access. | - **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] - **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to ["none"]] + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to [none]] ### Return type @@ -235,12 +316,156 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_compound_quant_table_experimental** +> QuantTableExperimental get_compound_quant_table_experimental(project_id, type=type) + +[EXPERIMENTAL] Returns the full quantification table of compounds + +[EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* + +### Example + + +```python +import PySirius +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + type = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) + + try: + # [EXPERIMENTAL] Returns the full quantification table of compounds + api_response = api_instance.get_compound_quant_table_experimental(project_id, type=type) + print("The response of CompoundsApi->get_compound_quant_table_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundsApi->get_compound_quant_table_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **type** | [**QuantMeasure**](.md)| quantification type. | [optional] + +### Return type + +[**QuantTableExperimental**](QuantTableExperimental.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_compound_quant_table_row_experimental** +> QuantTableExperimental get_compound_quant_table_row_experimental(project_id, compound_id, type=type) + +[EXPERIMENTAL] Returns a single quantification table row for the given compound + +[EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* + +### Example + + +```python +import PySirius +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + compound_id = 'compound_id_example' # str | compound which should be read out + type = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) + + try: + # [EXPERIMENTAL] Returns a single quantification table row for the given compound + api_response = api_instance.get_compound_quant_table_row_experimental(project_id, compound_id, type=type) + print("The response of CompoundsApi->get_compound_quant_table_row_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundsApi->get_compound_quant_table_row_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **compound_id** | **str**| compound which should be read out | + **type** | [**QuantMeasure**](.md)| quantification type. | [optional] + +### Return type + +[**QuantTableExperimental**](QuantTableExperimental.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_compound_traces_experimental** > TraceSetExperimental get_compound_traces_experimental(project_id, compound_id, feature_id=feature_id) -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given compound -Returns the traces of the given compound. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. +[EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* ### Example @@ -267,7 +492,7 @@ with PySirius.ApiClient(configuration) as api_client: feature_id = '' # str | (optional) (default to '') try: - # EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + # [EXPERIMENTAL] Returns the traces of the given compound api_response = api_instance.get_compound_traces_experimental(project_id, compound_id, feature_id=feature_id) print("The response of CompoundsApi->get_compound_traces_experimental:\n") pprint(api_response) @@ -308,7 +533,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_compounds** -> List[Compound] get_compounds(project_id, opt_fields=opt_fields, opt_fields_features=opt_fields_features) +> List[Compound] get_compounds(project_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, opt_fields_features=opt_fields_features) List of all available compounds (group of ion identities) in the given project-space. @@ -337,12 +562,13 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.CompoundsApi(api_client) project_id = 'project_id_example' # str | project-space to read from. + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) opt_fields_features = ["none"] # List[AlignedFeatureOptField] | (optional) (default to ["none"]) try: # List of all available compounds (group of ion identities) in the given project-space. - api_response = api_instance.get_compounds(project_id, opt_fields=opt_fields, opt_fields_features=opt_fields_features) + api_response = api_instance.get_compounds(project_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, opt_fields_features=opt_fields_features) print("The response of CompoundsApi->get_compounds:\n") pprint(api_response) except Exception as e: @@ -357,6 +583,7 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to ["none"]] @@ -381,8 +608,166 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_compounds_by_group_experimental** +> PagedModelCompound get_compounds_by_group_experimental(project_id, group_name, page=page, size=size, sort=sort, opt_fields=opt_fields) + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag group + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.compound_opt_field import CompoundOptField +from PySirius.models.paged_model_compound import PagedModelCompound +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + group_name = 'group_name_example' # str | tag group name. + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + + try: + # [EXPERIMENTAL] Get compounds (group of ion identities) by tag group + api_response = api_instance.get_compounds_by_group_experimental(project_id, group_name, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of CompoundsApi->get_compounds_by_group_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundsApi->get_compounds_by_group_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **group_name** | **str**| tag group name. | + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + +### Return type + +[**PagedModelCompound**](PagedModelCompound.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | tagged compounds (group of ion identities) | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_compounds_by_tag_experimental** +> PagedModelCompound get_compounds_by_tag_experimental(project_id, filter=filter, page=page, size=size, sort=sort, opt_fields=opt_fields) + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.compound_opt_field import CompoundOptField +from PySirius.models.paged_model_compound import PagedModelCompound +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundsApi(api_client) + project_id = 'project_id_example' # str | project space to get compounds (group of ion identities) from. + filter = '' # str | tag filter. (optional) (default to '') + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + opt_fields = [] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to []) + + try: + # [EXPERIMENTAL] Get compounds (group of ion identities) by tag + api_response = api_instance.get_compounds_by_tag_experimental(project_id, filter=filter, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of CompoundsApi->get_compounds_by_tag_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundsApi->get_compounds_by_tag_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project space to get compounds (group of ion identities) from. | + **filter** | **str**| tag filter. | [optional] [default to ''] + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelCompound**](PagedModelCompound.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | tagged compounds (group of ion identities) | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_compounds_paged** -> PagedModelCompound get_compounds_paged(project_id, page=page, size=size, sort=sort, opt_fields=opt_fields, opt_fields_features=opt_fields_features) +> PagedModelCompound get_compounds_paged(project_id, page=page, size=size, sort=sort, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, opt_fields_features=opt_fields_features) Page of available compounds (group of ion identities) in the given project-space. @@ -414,12 +799,13 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) - opt_fields_features = ["none"] # List[AlignedFeatureOptField] | (optional) (default to ["none"]) + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) + opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields_features = [none] # List[AlignedFeatureOptField] | (optional) (default to [none]) try: # Page of available compounds (group of ion identities) in the given project-space. - api_response = api_instance.get_compounds_paged(project_id, page=page, size=size, sort=sort, opt_fields=opt_fields, opt_fields_features=opt_fields_features) + api_response = api_instance.get_compounds_paged(project_id, page=page, size=size, sort=sort, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields, opt_fields_features=opt_fields_features) print("The response of CompoundsApi->get_compounds_paged:\n") pprint(api_response) except Exception as e: @@ -437,8 +823,9 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] - **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to ["none"]] + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to [none]] ### Return type @@ -461,3 +848,142 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_tags_for_compound_experimental** +> List[Tag] get_tags_for_compound_experimental(project_id, object_id) + +[EXPERIMENTAL] Get all tags associated with this Compound + +[EXPERIMENTAL] Get all tags associated with this Compound + +### Example + + +```python +import PySirius +from PySirius.models.tag import Tag +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundsApi(api_client) + project_id = 'project_id_example' # str | project-space to get from. + object_id = 'object_id_example' # str | CompoundId to get tags for. + + try: + # [EXPERIMENTAL] Get all tags associated with this Compound + api_response = api_instance.get_tags_for_compound_experimental(project_id, object_id) + print("The response of CompoundsApi->get_tags_for_compound_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompoundsApi->get_tags_for_compound_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to get from. | + **object_id** | **str**| CompoundId to get tags for. | + +### Return type + +[**List[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the tags of the requested Compound | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_tag_from_compound_experimental** +> remove_tag_from_compound_experimental(project_id, compound_id, tag_name) + +[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + +[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.CompoundsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + compound_id = 'compound_id_example' # str | compound (group of ion identities) to delete tag from. + tag_name = 'tag_name_example' # str | name of the tag to delete. + + try: + # [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + api_instance.remove_tag_from_compound_experimental(project_id, compound_id, tag_name) + except Exception as e: + print("Exception when calling CompoundsApi->remove_tag_from_compound_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **compound_id** | **str**| compound (group of ion identities) to delete tag from. | + **tag_name** | **str**| name of the tag to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/client-api_python/generated/docs/ComputedSubtools.md b/client-api_python/generated/docs/ComputedSubtools.md index c76f8ae3..71f632b9 100644 --- a/client-api_python/generated/docs/ComputedSubtools.md +++ b/client-api_python/generated/docs/ComputedSubtools.md @@ -1,6 +1,5 @@ # ComputedSubtools -Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. ## Properties diff --git a/client-api_python/generated/docs/ConsensusAnnotationsCSI.md b/client-api_python/generated/docs/ConsensusAnnotationsCSI.md index a2e8f80b..bfaff531 100644 --- a/client-api_python/generated/docs/ConsensusAnnotationsCSI.md +++ b/client-api_python/generated/docs/ConsensusAnnotationsCSI.md @@ -6,10 +6,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecular_formula** | **str** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | | [optional] -**supporting_feature_ids** | **List[Optional[str]]** | FeatureIds where the topAnnotation supports this annotation. | [optional] -**selection_criterion** | [**ConsensusCriterionCSI**](ConsensusCriterionCSI.md) | | [optional] -**csi_finger_id_structure** | [**StructureCandidate**](StructureCandidate.md) | | [optional] +**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] +**supporting_feature_ids** | **List[str]** | FeatureIds where the topAnnotation supports this annotation. | [optional] +**selection_criterion** | [**ConsensusCriterionCSI**](ConsensusCriterionCSI.md) | Null if this is a custom selection | [optional] +**csi_finger_id_structure** | [**StructureCandidate**](StructureCandidate.md) | Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. | [optional] **confidence_exact_match** | **float** | Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported | [optional] **confidence_approx_match** | **float** | Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported | [optional] diff --git a/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md b/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md index 5506bfc6..461d0114 100644 --- a/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md +++ b/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md @@ -6,9 +6,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecular_formula** | **str** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | | [optional] -**supporting_feature_ids** | **List[Optional[str]]** | FeatureIds where the topAnnotation supports this annotation. | [optional] -**selection_criterion** | [**ConsensusCriterionDeNovo**](ConsensusCriterionDeNovo.md) | | [optional] +**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] +**supporting_feature_ids** | **List[str]** | FeatureIds where the topAnnotation supports this annotation. | [optional] +**selection_criterion** | [**ConsensusCriterionDeNovo**](ConsensusCriterionDeNovo.md) | Criterion that was used to select the consensus annotation. | [optional] ## Example diff --git a/client-api_python/generated/docs/Cyp450Mode.md b/client-api_python/generated/docs/Cyp450Mode.md new file mode 100644 index 00000000..9900816f --- /dev/null +++ b/client-api_python/generated/docs/Cyp450Mode.md @@ -0,0 +1,14 @@ +# Cyp450Mode + + +## Enum + +* `RULE_BASED` (value: `'RULE_BASED'`) + +* `CY_PRODUCT` (value: `'CY_PRODUCT'`) + +* `COMBINED` (value: `'COMBINED'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/FeatureAnnotations.md b/client-api_python/generated/docs/FeatureAnnotations.md index 0ba7b825..a4695ff1 100644 --- a/client-api_python/generated/docs/FeatureAnnotations.md +++ b/client-api_python/generated/docs/FeatureAnnotations.md @@ -6,14 +6,14 @@ Summary of the results of a feature (aligned over runs). Can be added to a Align Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**formula_annotation** | [**FormulaCandidate**](FormulaCandidate.md) | | [optional] -**structure_annotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | | [optional] -**compound_class_annotation** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**formula_annotation** | [**FormulaCandidate**](FormulaCandidate.md) | Best matching FormulaCandidate. | [optional] +**structure_annotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. | [optional] +**compound_class_annotation** | [**CompoundClasses**](CompoundClasses.md) | Best matching compound classes that correspond to the formulaAnnotation | [optional] **confidence_exact_match** | **float** | Confidence Score that represents the confidence whether the top hit is correct. | [optional] **confidence_approx_match** | **float** | Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. | [optional] -**expansive_search_state** | [**ConfidenceMode**](ConfidenceMode.md) | | [optional] -**specified_databases** | **List[Optional[str]]** | List of databases that have been specified by for structure db search. Null if no structure db search has been performed. | [optional] -**expanded_databases** | **List[Optional[str]]** | List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed. | [optional] +**expansive_search_state** | [**ConfidenceMode**](ConfidenceMode.md) | Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) | [optional] +**specified_databases** | **List[str]** | List of databases that have been specified by for structure db search. Null if no structure db search has been performed. | [optional] +**expanded_databases** | **List[str]** | List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed. | [optional] ## Example diff --git a/client-api_python/generated/docs/FeatureImport.md b/client-api_python/generated/docs/FeatureImport.md index e4964e21..eb6772b9 100644 --- a/client-api_python/generated/docs/FeatureImport.md +++ b/client-api_python/generated/docs/FeatureImport.md @@ -10,12 +10,12 @@ Name | Type | Description | Notes **external_feature_id** | **str** | Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source. | [optional] **ion_mass** | **float** | | **charge** | **int** | | -**detected_adducts** | **List[Optional[str]]** | Detected adducts of this feature. Can be NULL or empty if no adducts are known. | [optional] +**detected_adducts** | **List[str]** | Detected adducts of this feature. Can be NULL or empty if no adducts are known. | [optional] **rt_start_seconds** | **float** | | [optional] **rt_end_seconds** | **float** | | [optional] **rt_apex_seconds** | **float** | | [optional] -**data_quality** | [**DataQuality**](DataQuality.md) | | [optional] -**merged_ms1** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] +**data_quality** | [**DataQuality**](DataQuality.md) | A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. | [optional] +**merged_ms1** | [**BasicSpectrum**](BasicSpectrum.md) | Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. | [optional] **ms1_spectra** | [**List[BasicSpectrum]**](BasicSpectrum.md) | List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. | [optional] **ms2_spectra** | [**List[BasicSpectrum]**](BasicSpectrum.md) | List of MS/MS spectra that belong to this feature. | [optional] diff --git a/client-api_python/generated/docs/FeatureStatisticsApi.md b/client-api_python/generated/docs/FeatureStatisticsApi.md new file mode 100644 index 00000000..7ed35c71 --- /dev/null +++ b/client-api_python/generated/docs/FeatureStatisticsApi.md @@ -0,0 +1,312 @@ +# PySirius.FeatureStatisticsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**compute_aligned_feature_fold_changes_experimental**](FeatureStatisticsApi.md#compute_aligned_feature_fold_changes_experimental) | **PUT** /api/projects/{projectId}/aligned-features/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +[**delete_aligned_feature_fold_changes_experimental**](FeatureStatisticsApi.md#delete_aligned_feature_fold_changes_experimental) | **DELETE** /api/projects/{projectId}/aligned-features/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +[**get_aligned_feature_fold_change_table_experimental**](FeatureStatisticsApi.md#get_aligned_feature_fold_change_table_experimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +[**get_fold_changes_by_aligned_feature_experimental**](FeatureStatisticsApi.md#get_fold_changes_by_aligned_feature_experimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object + + +# **compute_aligned_feature_fold_changes_experimental** +> Job compute_aligned_feature_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification, opt_fields=opt_fields) + +[EXPERIMENTAL] Compute the fold change between two groups of runs + +[EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeatureStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to compute the fold change in. + left_group_name = 'left_group_name_example' # str | name of the left tag group. + right_group_name = 'right_group_name_example' # str | name of the right tag group. + aggregation = PySirius.AggregationType() # AggregationType | aggregation type. (optional) + quantification = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) + opt_fields = [progress] # List[JobOptField] | job opt fields. (optional) (default to [progress]) + + try: + # [EXPERIMENTAL] Compute the fold change between two groups of runs + api_response = api_instance.compute_aligned_feature_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification, opt_fields=opt_fields) + print("The response of FeatureStatisticsApi->compute_aligned_feature_fold_changes_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeatureStatisticsApi->compute_aligned_feature_fold_changes_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to compute the fold change in. | + **left_group_name** | **str**| name of the left tag group. | + **right_group_name** | **str**| name of the right tag group. | + **aggregation** | [**AggregationType**](.md)| aggregation type. | [optional] + **quantification** | [**QuantMeasure**](.md)| quantification type. | [optional] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| job opt fields. | [optional] [default to [progress]] + +### Return type + +[**Job**](Job.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_aligned_feature_fold_changes_experimental** +> delete_aligned_feature_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification) + +[EXPERIMENTAL] Delete fold changes + +[EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.quant_measure import QuantMeasure +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeatureStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + left_group_name = 'left_group_name_example' # str | name of the left group. + right_group_name = 'right_group_name_example' # str | name of the right group. + aggregation = PySirius.AggregationType() # AggregationType | (optional) + quantification = PySirius.QuantMeasure() # QuantMeasure | (optional) + + try: + # [EXPERIMENTAL] Delete fold changes + api_instance.delete_aligned_feature_fold_changes_experimental(project_id, left_group_name, right_group_name, aggregation=aggregation, quantification=quantification) + except Exception as e: + print("Exception when calling FeatureStatisticsApi->delete_aligned_feature_fold_changes_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **left_group_name** | **str**| name of the left group. | + **right_group_name** | **str**| name of the right group. | + **aggregation** | [**AggregationType**](.md)| | [optional] + **quantification** | [**QuantMeasure**](.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_aligned_feature_fold_change_table_experimental** +> StatisticsTable get_aligned_feature_fold_change_table_experimental(project_id, aggregation=aggregation, quantification=quantification) + +[EXPERIMENTAL] Get table of all fold changes in the project space + +[EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeatureStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + aggregation = PySirius.AggregationType() # AggregationType | aggregation type. (optional) + quantification = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) + + try: + # [EXPERIMENTAL] Get table of all fold changes in the project space + api_response = api_instance.get_aligned_feature_fold_change_table_experimental(project_id, aggregation=aggregation, quantification=quantification) + print("The response of FeatureStatisticsApi->get_aligned_feature_fold_change_table_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeatureStatisticsApi->get_aligned_feature_fold_change_table_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **aggregation** | [**AggregationType**](.md)| aggregation type. | [optional] + **quantification** | [**QuantMeasure**](.md)| quantification type. | [optional] + +### Return type + +[**StatisticsTable**](StatisticsTable.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | table of fold changes. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_fold_changes_by_aligned_feature_experimental** +> List[FoldChange] get_fold_changes_by_aligned_feature_experimental(project_id, object_id) + +[EXPERIMENTAL] List all fold changes that are associated with an object + +[EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.fold_change import FoldChange +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeatureStatisticsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + object_id = 'object_id_example' # str | id of the object the fold changes are assigned to. + + try: + # [EXPERIMENTAL] List all fold changes that are associated with an object + api_response = api_instance.get_fold_changes_by_aligned_feature_experimental(project_id, object_id) + print("The response of FeatureStatisticsApi->get_fold_changes_by_aligned_feature_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeatureStatisticsApi->get_fold_changes_by_aligned_feature_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **object_id** | **str**| id of the object the fold changes are assigned to. | + +### Return type + +[**List[FoldChange]**](FoldChange.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | fold changes | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/client-api_python/generated/docs/FeaturesApi.md b/client-api_python/generated/docs/FeaturesApi.md index 2b5dec86..0868444a 100644 --- a/client-api_python/generated/docs/FeaturesApi.md +++ b/client-api_python/generated/docs/FeaturesApi.md @@ -5,41 +5,49 @@ All URIs are relative to *http://localhost:8080* Method | HTTP request | Description ------------- | ------------- | ------------- [**add_aligned_features**](FeaturesApi.md#add_aligned_features) | **POST** /api/projects/{projectId}/aligned-features | Import (aligned) features into the project. +[**add_de_novo_structure_candidate**](FeaturesApi.md#add_de_novo_structure_candidate) | **PUT** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +[**add_tags_to_aligned_feature_experimental**](FeaturesApi.md#add_tags_to_aligned_feature_experimental) | **PUT** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId} | [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [**delete_aligned_feature**](FeaturesApi.md#delete_aligned_feature) | **DELETE** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Delete feature (aligned over runs) with the given identifier from the specified project-space. [**delete_aligned_features**](FeaturesApi.md#delete_aligned_features) | **PUT** /api/projects/{projectId}/aligned-features/delete | Delete feature (aligned over runs) with the given identifier from the specified project-space. -[**get_adduct_network_with_merged_traces_experimental**](FeaturesApi.md#get_adduct_network_with_merged_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[**get_adduct_network_with_merged_traces_experimental**](FeaturesApi.md#get_adduct_network_with_merged_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [**get_aligned_feature**](FeaturesApi.md#get_aligned_feature) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Get feature (aligned over runs) with the given identifier from the specified project-space. +[**get_aligned_feature_quality_experimental**](FeaturesApi.md#get_aligned_feature_quality_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [**get_aligned_features**](FeaturesApi.md#get_aligned_features) | **GET** /api/projects/{projectId}/aligned-features | Get all available features (aligned over runs) in the given project-space. +[**get_aligned_features_by_group_experimental**](FeaturesApi.md#get_aligned_features_by_group_experimental) | **GET** /api/projects/{projectId}/aligned-features/grouped | [EXPERIMENTAL] Get features (aligned over runs) by tag group +[**get_aligned_features_by_tag_experimental**](FeaturesApi.md#get_aligned_features_by_tag_experimental) | **GET** /api/projects/{projectId}/aligned-features/tagged | [EXPERIMENTAL] Get features (aligned over runs) by tag [**get_aligned_features_paged**](FeaturesApi.md#get_aligned_features_paged) | **GET** /api/projects/{projectId}/aligned-features/page | Get all available features (aligned over runs) in the given project-space. -[**get_aligned_features_quality_experimental**](FeaturesApi.md#get_aligned_features_quality_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -[**get_best_matching_compound_classes**](FeaturesApi.md#get_best_matching_compound_classes) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +[**get_best_matching_compound_classes**](FeaturesApi.md#get_best_matching_compound_classes) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Return Best matching compound classes for given formulaId [**get_canopus_prediction**](FeaturesApi.md#get_canopus_prediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction | All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, [**get_de_novo_structure_candidates**](FeaturesApi.md#get_de_novo_structure_candidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. [**get_de_novo_structure_candidates_by_formula**](FeaturesApi.md#get_de_novo_structure_candidates_by_formula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. [**get_de_novo_structure_candidates_by_formula_paged**](FeaturesApi.md#get_de_novo_structure_candidates_by_formula_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. [**get_de_novo_structure_candidates_paged**](FeaturesApi.md#get_de_novo_structure_candidates_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -[**get_fingerprint_prediction**](FeaturesApi.md#get_fingerprint_prediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. -[**get_formula_annotated_ms_ms_data**](FeaturesApi.md#get_formula_annotated_ms_ms_data) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. -[**get_formula_annotated_spectrum**](FeaturesApi.md#get_formula_annotated_spectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +[**get_feature_quant_table_experimental**](FeaturesApi.md#get_feature_quant_table_experimental) | **GET** /api/projects/{projectId}/aligned-features/quant-table | [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +[**get_fingerprint_prediction**](FeaturesApi.md#get_fingerprint_prediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) +[**get_formula_annotated_ms_ms_data**](FeaturesApi.md#get_formula_annotated_ms_ms_data) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId +[**get_formula_annotated_spectrum**](FeaturesApi.md#get_formula_annotated_spectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e [**get_formula_candidate**](FeaturesApi.md#get_formula_candidate) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId} | FormulaResultContainers for the given 'formulaId' with minimal information. [**get_formula_candidates**](FeaturesApi.md#get_formula_candidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas | List of FormulaResultContainers available for this feature with minimal information. [**get_formula_candidates_paged**](FeaturesApi.md#get_formula_candidates_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page | Page of FormulaResultContainers available for this feature with minimal information. -[**get_frag_tree**](FeaturesApi.md#get_frag_tree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). -[**get_isotope_pattern_annotation**](FeaturesApi.md#get_isotope_pattern_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. -[**get_lipid_annotation**](FeaturesApi.md#get_lipid_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formula result identifier. +[**get_frag_tree**](FeaturesApi.md#get_frag_tree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier +[**get_isotope_pattern_annotation**](FeaturesApi.md#get_isotope_pattern_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information for given formulaId +[**get_lipid_annotation**](FeaturesApi.md#get_lipid_annotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formulaId [**get_ms_data**](FeaturesApi.md#get_ms_data) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data | Mass Spec data (input data) for the given 'alignedFeatureId' . -[**get_quantification_experimental**](FeaturesApi.md#get_quantification_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -[**get_spectral_library_match**](FeaturesApi.md#get_spectral_library_match) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | List of spectral library matches for the given 'alignedFeatureId'. +[**get_quant_table_row_experimental**](FeaturesApi.md#get_quant_table_row_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) +[**get_spectral_library_match**](FeaturesApi.md#get_spectral_library_match) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | Spectral library match for the given 'alignedFeatureId'. [**get_spectral_library_matches**](FeaturesApi.md#get_spectral_library_matches) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches | List of spectral library matches for the given 'alignedFeatureId'. [**get_spectral_library_matches_paged**](FeaturesApi.md#get_spectral_library_matches_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page | Page of spectral library matches for the given 'alignedFeatureId'. [**get_spectral_library_matches_summary**](FeaturesApi.md#get_spectral_library_matches_summary) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary | Summarize matched reference spectra for the given 'alignedFeatureId'. -[**get_structure_annotated_ms_data_experimental**](FeaturesApi.md#get_structure_annotated_ms_data_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. -[**get_structure_annotated_spectrum_experimental**](FeaturesApi.md#get_structure_annotated_spectrum_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[**get_structure_annotated_ms_data_experimental**](FeaturesApi.md#get_structure_annotated_ms_data_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey +[**get_structure_annotated_spectral_library_match_experimental**](FeaturesApi.md#get_structure_annotated_spectral_library_match_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated | [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +[**get_structure_annotated_spectrum_experimental**](FeaturesApi.md#get_structure_annotated_spectrum_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [**get_structure_candidates**](FeaturesApi.md#get_structure_candidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures | List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. [**get_structure_candidates_by_formula**](FeaturesApi.md#get_structure_candidates_by_formula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures | List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. [**get_structure_candidates_by_formula_paged**](FeaturesApi.md#get_structure_candidates_by_formula_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page | Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. [**get_structure_candidates_paged**](FeaturesApi.md#get_structure_candidates_paged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page | Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. -[**get_traces_experimental**](FeaturesApi.md#get_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[**get_tags_for_aligned_features_experimental**](FeaturesApi.md#get_tags_for_aligned_features_experimental) | **GET** /api/projects/{projectId}/aligned-features/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Object +[**get_traces_experimental**](FeaturesApi.md#get_traces_experimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) +[**remove_tag_from_aligned_feature_experimental**](FeaturesApi.md#remove_tag_from_aligned_feature_experimental) | **DELETE** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space # **add_aligned_features** @@ -75,7 +83,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to import into. feature_import = [PySirius.FeatureImport()] # List[FeatureImport] | the feature data to be imported profile = PySirius.InstrumentProfile() # InstrumentProfile | profile describing the instrument used to measure the data. Used to merge spectra. (optional) - opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to [none]) try: # Import (aligned) features into the project. @@ -96,7 +104,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to import into. | **feature_import** | [**List[FeatureImport]**](FeatureImport.md)| the feature data to be imported | **profile** | [**InstrumentProfile**](.md)| profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] ### Return type @@ -119,6 +127,150 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **add_de_novo_structure_candidate** +> List[StructureCandidateFormula] add_de_novo_structure_candidate(project_id, aligned_feature_id, smiles=smiles) + +[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. + +[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. + +### Example + + +```python +import PySirius +from PySirius.models.structure_candidate_formula import StructureCandidateFormula +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. + smiles = 'none' # str | smiles (optional) (default to 'none') + + try: + # [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. + api_response = api_instance.add_de_novo_structure_candidate(project_id, aligned_feature_id, smiles=smiles) + print("The response of FeaturesApi->add_de_novo_structure_candidate:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeaturesApi->add_de_novo_structure_candidate: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | + **smiles** | **str**| smiles | [optional] [default to 'none'] + +### Return type + +[**List[StructureCandidateFormula]**](StructureCandidateFormula.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | StructureCandidate of this feature candidate with specified optional fields. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **add_tags_to_aligned_feature_experimental** +> List[Tag] add_tags_to_aligned_feature_experimental(project_id, aligned_feature_id, tag) + +[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project + +[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag import Tag +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project-space to add to. + aligned_feature_id = 'aligned_feature_id_example' # str | run to add tags to. + tag = [PySirius.Tag()] # List[Tag] | tags to add. + + try: + # [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project + api_response = api_instance.add_tags_to_aligned_feature_experimental(project_id, aligned_feature_id, tag) + print("The response of FeaturesApi->add_tags_to_aligned_feature_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeaturesApi->add_tags_to_aligned_feature_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to add to. | + **aligned_feature_id** | **str**| run to add tags to. | + **tag** | [**List[Tag]**](Tag.md)| tags to add. | + +### Return type + +[**List[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the tags that have been added | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **delete_aligned_feature** > delete_aligned_feature(project_id, aligned_feature_id) @@ -256,9 +408,9 @@ No authorization required # **get_adduct_network_with_merged_traces_experimental** > TraceSetExperimental get_adduct_network_with_merged_traces_experimental(project_id, aligned_feature_id) -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network -Returns the adduct network for a given aligned feature id together with all merged traces contained in the network. +[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -284,7 +436,7 @@ with PySirius.ApiClient(configuration) as api_client: aligned_feature_id = 'aligned_feature_id_example' # str | one feature that is considered the main feature of the adduct network try: - # EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + # [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network api_response = api_instance.get_adduct_network_with_merged_traces_experimental(project_id, aligned_feature_id) print("The response of FeaturesApi->get_adduct_network_with_merged_traces_experimental:\n") pprint(api_response) @@ -324,7 +476,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_aligned_feature** -> AlignedFeature get_aligned_feature(project_id, aligned_feature_id, opt_fields=opt_fields) +> AlignedFeature get_aligned_feature(project_id, aligned_feature_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -353,11 +505,12 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | identifier of feature (aligned over runs) to access. - opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) + opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # Get feature (aligned over runs) with the given identifier from the specified project-space. - api_response = api_instance.get_aligned_feature(project_id, aligned_feature_id, opt_fields=opt_fields) + api_response = api_instance.get_aligned_feature(project_id, aligned_feature_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) print("The response of FeaturesApi->get_aligned_feature:\n") pprint(api_response) except Exception as e: @@ -373,7 +526,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| identifier of feature (aligned over runs) to access. | - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -396,8 +550,78 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_aligned_feature_quality_experimental** +> AlignedFeatureQualityExperimental get_aligned_feature_quality_experimental(project_id, aligned_feature_id) + +[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) + +[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + aligned_feature_id = 'aligned_feature_id_example' # str | identifier of feature (aligned over runs) to access. + + try: + # [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) + api_response = api_instance.get_aligned_feature_quality_experimental(project_id, aligned_feature_id) + print("The response of FeaturesApi->get_aligned_feature_quality_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeaturesApi->get_aligned_feature_quality_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **aligned_feature_id** | **str**| identifier of feature (aligned over runs) to access. | + +### Return type + +[**AlignedFeatureQualityExperimental**](AlignedFeatureQualityExperimental.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | AlignedFeatureQuality quality information of the respective feature. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_aligned_features** -> List[AlignedFeature] get_aligned_features(project_id, opt_fields=opt_fields) +> List[AlignedFeature] get_aligned_features(project_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) Get all available features (aligned over runs) in the given project-space. @@ -425,11 +649,12 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. - opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) + opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # Get all available features (aligned over runs) in the given project-space. - api_response = api_instance.get_aligned_features(project_id, opt_fields=opt_fields) + api_response = api_instance.get_aligned_features(project_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) print("The response of FeaturesApi->get_aligned_features:\n") pprint(api_response) except Exception as e: @@ -444,7 +669,8 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -467,12 +693,12 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_aligned_features_paged** -> PagedModelAlignedFeature get_aligned_features_paged(project_id, page=page, size=size, sort=sort, opt_fields=opt_fields) +# **get_aligned_features_by_group_experimental** +> PagedModelAlignedFeature get_aligned_features_by_group_experimental(project_id, group_name, page=page, size=size, sort=sort, opt_fields=opt_fields) -Get all available features (aligned over runs) in the given project-space. +[EXPERIMENTAL] Get features (aligned over runs) by tag group -Get all available features (aligned over runs) in the given project-space. +[EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -495,19 +721,20 @@ configuration = PySirius.Configuration( with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.FeaturesApi(api_client) - project_id = 'project_id_example' # str | project-space to read from. + project_id = 'project_id_example' # str | project-space to delete from. + group_name = 'group_name_example' # str | tag group name. page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: - # Get all available features (aligned over runs) in the given project-space. - api_response = api_instance.get_aligned_features_paged(project_id, page=page, size=size, sort=sort, opt_fields=opt_fields) - print("The response of FeaturesApi->get_aligned_features_paged:\n") + # [EXPERIMENTAL] Get features (aligned over runs) by tag group + api_response = api_instance.get_aligned_features_by_group_experimental(project_id, group_name, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of FeaturesApi->get_aligned_features_by_group_experimental:\n") pprint(api_response) except Exception as e: - print("Exception when calling FeaturesApi->get_aligned_features_paged: %s\n" % e) + print("Exception when calling FeaturesApi->get_aligned_features_by_group_experimental: %s\n" % e) ``` @@ -517,11 +744,12 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **project_id** | **str**| project-space to read from. | + **project_id** | **str**| project-space to delete from. | + **group_name** | **str**| tag group name. | **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -540,23 +768,103 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | AlignedFeatures with additional annotations and MS/MS data (if specified). | - | +**200** | tagged features (aligned over runs) | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_aligned_features_quality_experimental** -> AlignedFeatureQualityExperimental get_aligned_features_quality_experimental(project_id, aligned_feature_id) +# **get_aligned_features_by_tag_experimental** +> PagedModelAlignedFeature get_aligned_features_by_tag_experimental(project_id, filter=filter, page=page, size=size, sort=sort, opt_fields=opt_fields) -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Get features (aligned over runs) by tag -Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space. +[EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```python import PySirius -from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental +from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField +from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project space to get features (aligned over runs) from. + filter = '' # str | tag filter. (optional) (default to '') + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + opt_fields = [] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to []) + + try: + # [EXPERIMENTAL] Get features (aligned over runs) by tag + api_response = api_instance.get_aligned_features_by_tag_experimental(project_id, filter=filter, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of FeaturesApi->get_aligned_features_by_tag_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeaturesApi->get_aligned_features_by_tag_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project space to get features (aligned over runs) from. | + **filter** | **str**| tag filter. | [optional] [default to ''] + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelAlignedFeature**](PagedModelAlignedFeature.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | tagged features (aligned over runs) | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_aligned_features_paged** +> PagedModelAlignedFeature get_aligned_features_paged(project_id, page=page, size=size, sort=sort, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) + +Get all available features (aligned over runs) in the given project-space. + +Get all available features (aligned over runs) in the given project-space. + +### Example + + +```python +import PySirius +from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField +from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature from PySirius.rest import ApiException from pprint import pprint @@ -572,15 +880,19 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. - aligned_feature_id = 'aligned_feature_id_example' # str | identifier of feature (aligned over runs) to access. + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) + opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: - # EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. - api_response = api_instance.get_aligned_features_quality_experimental(project_id, aligned_feature_id) - print("The response of FeaturesApi->get_aligned_features_quality_experimental:\n") + # Get all available features (aligned over runs) in the given project-space. + api_response = api_instance.get_aligned_features_paged(project_id, page=page, size=size, sort=sort, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) + print("The response of FeaturesApi->get_aligned_features_paged:\n") pprint(api_response) except Exception as e: - print("Exception when calling FeaturesApi->get_aligned_features_quality_experimental: %s\n" % e) + print("Exception when calling FeaturesApi->get_aligned_features_paged: %s\n" % e) ``` @@ -591,11 +903,15 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | - **aligned_feature_id** | **str**| identifier of feature (aligned over runs) to access. | + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type -[**AlignedFeatureQualityExperimental**](AlignedFeatureQualityExperimental.md) +[**PagedModelAlignedFeature**](PagedModelAlignedFeature.md) ### Authorization @@ -610,16 +926,16 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | AlignedFeatureQuality quality information of the respective feature. | - | +**200** | AlignedFeatures with additional annotations and MS/MS data (if specified). | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_best_matching_compound_classes** > CompoundClasses get_best_matching_compound_classes(project_id, aligned_feature_id, formula_id) -Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +Return Best matching compound classes for given formulaId -Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, ### Example @@ -646,7 +962,7 @@ with PySirius.ApiClient(configuration) as api_client: formula_id = 'formula_id_example' # str | identifier of the requested formula result try: - # Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + # Return Best matching compound classes for given formulaId api_response = api_instance.get_best_matching_compound_classes(project_id, aligned_feature_id, formula_id) print("The response of FeaturesApi->get_best_matching_compound_classes:\n") pprint(api_response) @@ -862,7 +1178,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result - opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -870,7 +1186,85 @@ with PySirius.ApiClient(configuration) as api_client: print("The response of FeaturesApi->get_de_novo_structure_candidates_by_formula:\n") pprint(api_response) except Exception as e: - print("Exception when calling FeaturesApi->get_de_novo_structure_candidates_by_formula: %s\n" % e) + print("Exception when calling FeaturesApi->get_de_novo_structure_candidates_by_formula: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | + **formula_id** | **str**| identifier of the requested formula result | + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + +### Return type + +[**List[StructureCandidateScored]**](StructureCandidateScored.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | StructureCandidate of this formula candidate with specified optional fields. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_de_novo_structure_candidates_by_formula_paged** +> PagedModelStructureCandidateScored get_de_novo_structure_candidates_by_formula_paged(project_id, aligned_feature_id, formula_id, page=page, size=size, sort=sort, opt_fields=opt_fields) + +Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + +Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + +### Example + + +```python +import PySirius +from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored +from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. + formula_id = 'formula_id_example' # str | identifier of the requested formula result + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + + try: + # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + api_response = api_instance.get_de_novo_structure_candidates_by_formula_paged(project_id, aligned_feature_id, formula_id, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of FeaturesApi->get_de_novo_structure_candidates_by_formula_paged:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeaturesApi->get_de_novo_structure_candidates_by_formula_paged: %s\n" % e) ``` @@ -883,11 +1277,14 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type -[**List[StructureCandidateScored]**](StructureCandidateScored.md) +[**PagedModelStructureCandidateScored**](PagedModelStructureCandidateScored.md) ### Authorization @@ -906,19 +1303,19 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_de_novo_structure_candidates_by_formula_paged** -> PagedModelStructureCandidateScored get_de_novo_structure_candidates_by_formula_paged(project_id, aligned_feature_id, formula_id, page=page, size=size, sort=sort, opt_fields=opt_fields) +# **get_de_novo_structure_candidates_paged** +> PagedModelStructureCandidateFormula get_de_novo_structure_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, opt_fields=opt_fields) -Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. ### Example ```python import PySirius -from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored +from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField from PySirius.rest import ApiException from pprint import pprint @@ -935,20 +1332,19 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. - aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. - formula_id = 'formula_id_example' # str | identifier of the requested formula result + aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: - # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - api_response = api_instance.get_de_novo_structure_candidates_by_formula_paged(project_id, aligned_feature_id, formula_id, page=page, size=size, sort=sort, opt_fields=opt_fields) - print("The response of FeaturesApi->get_de_novo_structure_candidates_by_formula_paged:\n") + # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. + api_response = api_instance.get_de_novo_structure_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of FeaturesApi->get_de_novo_structure_candidates_paged:\n") pprint(api_response) except Exception as e: - print("Exception when calling FeaturesApi->get_de_novo_structure_candidates_by_formula_paged: %s\n" % e) + print("Exception when calling FeaturesApi->get_de_novo_structure_candidates_paged: %s\n" % e) ``` @@ -959,16 +1355,15 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | - **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | - **formula_id** | **str**| identifier of the requested formula result | + **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type -[**PagedModelStructureCandidateScored**](PagedModelStructureCandidateScored.md) +[**PagedModelStructureCandidateFormula**](PagedModelStructureCandidateFormula.md) ### Authorization @@ -983,24 +1378,24 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | StructureCandidate of this formula candidate with specified optional fields. | - | +**200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_de_novo_structure_candidates_paged** -> PagedModelStructureCandidateFormula get_de_novo_structure_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, opt_fields=opt_fields) +# **get_feature_quant_table_experimental** +> QuantTableExperimental get_feature_quant_table_experimental(project_id, type=type) -Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) -Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```python import PySirius -from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula -from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental from PySirius.rest import ApiException from pprint import pprint @@ -1016,19 +1411,15 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. - aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. - page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) - size = 20 # int | The size of the page to be returned (optional) (default to 20) - sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + type = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) try: - # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. - api_response = api_instance.get_de_novo_structure_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, opt_fields=opt_fields) - print("The response of FeaturesApi->get_de_novo_structure_candidates_paged:\n") + # [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) + api_response = api_instance.get_feature_quant_table_experimental(project_id, type=type) + print("The response of FeaturesApi->get_feature_quant_table_experimental:\n") pprint(api_response) except Exception as e: - print("Exception when calling FeaturesApi->get_de_novo_structure_candidates_paged: %s\n" % e) + print("Exception when calling FeaturesApi->get_feature_quant_table_experimental: %s\n" % e) ``` @@ -1039,15 +1430,11 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | - **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | - **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] - **size** | **int**| The size of the page to be returned | [optional] [default to 20] - **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **type** | [**QuantMeasure**](.md)| quantification type. | [optional] ### Return type -[**PagedModelStructureCandidateFormula**](PagedModelStructureCandidateFormula.md) +[**QuantTableExperimental**](QuantTableExperimental.md) ### Authorization @@ -1062,16 +1449,16 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | +**200** | Quant table if akk feature in this project | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_fingerprint_prediction** > List[float] get_fingerprint_prediction(project_id, aligned_feature_id, formula_id) -Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) -Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. ### Example @@ -1097,7 +1484,7 @@ with PySirius.ApiClient(configuration) as api_client: formula_id = 'formula_id_example' # str | identifier of the requested formula result try: - # Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + # Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) api_response = api_instance.get_fingerprint_prediction(project_id, aligned_feature_id, formula_id) print("The response of FeaturesApi->get_fingerprint_prediction:\n") pprint(api_response) @@ -1138,11 +1525,11 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_formula_annotated_ms_ms_data** -> AnnotatedMsMsData get_formula_annotated_ms_ms_data(project_id, aligned_feature_id, formula_id) +> AnnotatedMsMsData get_formula_annotated_ms_ms_data(project_id, aligned_feature_id, formula_id, ms_data_search_prepared=ms_data_search_prepared) -Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId -Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. ### Example @@ -1167,10 +1554,11 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) try: - # Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. - api_response = api_instance.get_formula_annotated_ms_ms_data(project_id, aligned_feature_id, formula_id) + # Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId + api_response = api_instance.get_formula_annotated_ms_ms_data(project_id, aligned_feature_id, formula_id, ms_data_search_prepared=ms_data_search_prepared) print("The response of FeaturesApi->get_formula_annotated_ms_ms_data:\n") pprint(api_response) except Exception as e: @@ -1187,6 +1575,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] ### Return type @@ -1210,11 +1599,11 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_formula_annotated_spectrum** -> AnnotatedSpectrum get_formula_annotated_spectrum(project_id, aligned_feature_id, formula_id, spectrum_index=spectrum_index) +> AnnotatedSpectrum get_formula_annotated_spectrum(project_id, aligned_feature_id, formula_id, spectrum_index=spectrum_index, search_prepared=search_prepared) -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +Returns a fragmentation spectrum (e -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. ### Example @@ -1240,10 +1629,11 @@ with PySirius.ApiClient(configuration) as api_client: aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result spectrum_index = -1 # int | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (optional) (default to -1) + search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) try: - # Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. - api_response = api_instance.get_formula_annotated_spectrum(project_id, aligned_feature_id, formula_id, spectrum_index=spectrum_index) + # Returns a fragmentation spectrum (e + api_response = api_instance.get_formula_annotated_spectrum(project_id, aligned_feature_id, formula_id, spectrum_index=spectrum_index, search_prepared=search_prepared) print("The response of FeaturesApi->get_formula_annotated_spectrum:\n") pprint(api_response) except Exception as e: @@ -1261,6 +1651,7 @@ Name | Type | Description | Notes **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | **spectrum_index** | **int**| index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) | [optional] [default to -1] + **search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] ### Return type @@ -1284,7 +1675,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_formula_candidate** -> FormulaCandidate get_formula_candidate(project_id, aligned_feature_id, formula_id, opt_fields=opt_fields) +> FormulaCandidate get_formula_candidate(project_id, aligned_feature_id, formula_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) FormulaResultContainers for the given 'formulaId' with minimal information. @@ -1314,11 +1705,12 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result - opt_fields = ["none"] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) + opt_fields = [none] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # FormulaResultContainers for the given 'formulaId' with minimal information. - api_response = api_instance.get_formula_candidate(project_id, aligned_feature_id, formula_id, opt_fields=opt_fields) + api_response = api_instance.get_formula_candidate(project_id, aligned_feature_id, formula_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) print("The response of FeaturesApi->get_formula_candidate:\n") pprint(api_response) except Exception as e: @@ -1335,7 +1727,8 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | - **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] + **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -1359,7 +1752,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_formula_candidates** -> List[FormulaCandidate] get_formula_candidates(project_id, aligned_feature_id, opt_fields=opt_fields) +> List[FormulaCandidate] get_formula_candidates(project_id, aligned_feature_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) List of FormulaResultContainers available for this feature with minimal information. @@ -1388,11 +1781,12 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) opt_fields = ["none"] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # List of FormulaResultContainers available for this feature with minimal information. - api_response = api_instance.get_formula_candidates(project_id, aligned_feature_id, opt_fields=opt_fields) + api_response = api_instance.get_formula_candidates(project_id, aligned_feature_id, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) print("The response of FeaturesApi->get_formula_candidates:\n") pprint(api_response) except Exception as e: @@ -1408,6 +1802,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1432,7 +1827,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_formula_candidates_paged** -> PagedModelFormulaCandidate get_formula_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, opt_fields=opt_fields) +> PagedModelFormulaCandidate get_formula_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) Page of FormulaResultContainers available for this feature with minimal information. @@ -1464,11 +1859,12 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) + opt_fields = [none] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # Page of FormulaResultContainers available for this feature with minimal information. - api_response = api_instance.get_formula_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, opt_fields=opt_fields) + api_response = api_instance.get_formula_candidates_paged(project_id, aligned_feature_id, page=page, size=size, sort=sort, ms_data_search_prepared=ms_data_search_prepared, opt_fields=opt_fields) print("The response of FeaturesApi->get_formula_candidates_paged:\n") pprint(api_response) except Exception as e: @@ -1487,7 +1883,8 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] + **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -1513,9 +1910,9 @@ No authorization required # **get_frag_tree** > FragmentationTree get_frag_tree(project_id, aligned_feature_id, formula_id) -Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +Returns fragmentation tree (SIRIUS) for the given formula result identifier -Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). ### Example @@ -1542,7 +1939,7 @@ with PySirius.ApiClient(configuration) as api_client: formula_id = 'formula_id_example' # str | identifier of the requested formula result try: - # Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + # Returns fragmentation tree (SIRIUS) for the given formula result identifier api_response = api_instance.get_frag_tree(project_id, aligned_feature_id, formula_id) print("The response of FeaturesApi->get_frag_tree:\n") pprint(api_response) @@ -1585,9 +1982,9 @@ No authorization required # **get_isotope_pattern_annotation** > IsotopePatternAnnotation get_isotope_pattern_annotation(project_id, aligned_feature_id, formula_id) -Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. +Returns Isotope pattern information for given formulaId -Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). +Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). ### Example @@ -1614,7 +2011,7 @@ with PySirius.ApiClient(configuration) as api_client: formula_id = 'formula_id_example' # str | identifier of the requested formula result try: - # Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. + # Returns Isotope pattern information for given formulaId api_response = api_instance.get_isotope_pattern_annotation(project_id, aligned_feature_id, formula_id) print("The response of FeaturesApi->get_isotope_pattern_annotation:\n") pprint(api_response) @@ -1657,9 +2054,9 @@ No authorization required # **get_lipid_annotation** > LipidAnnotation get_lipid_annotation(project_id, aligned_feature_id, formula_id) -Returns Lipid annotation (ElGordo) for the given formula result identifier. +Returns Lipid annotation (ElGordo) for the given formulaId -Returns Lipid annotation (ElGordo) for the given formula result identifier. ElGordo lipid annotation runs as part of the SIRIUS formula identification step. +Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. ### Example @@ -1686,7 +2083,7 @@ with PySirius.ApiClient(configuration) as api_client: formula_id = 'formula_id_example' # str | identifier of the requested formula result try: - # Returns Lipid annotation (ElGordo) for the given formula result identifier. + # Returns Lipid annotation (ElGordo) for the given formulaId api_response = api_instance.get_lipid_annotation(project_id, aligned_feature_id, formula_id) print("The response of FeaturesApi->get_lipid_annotation:\n") pprint(api_response) @@ -1727,7 +2124,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_ms_data** -> MsData get_ms_data(project_id, aligned_feature_id) +> MsData get_ms_data(project_id, aligned_feature_id, ms_data_search_prepared=ms_data_search_prepared) Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -1754,11 +2151,12 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. - aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the Mass Spec data belong sto. + aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the Mass Spec data belongs to. + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) try: # Mass Spec data (input data) for the given 'alignedFeatureId' . - api_response = api_instance.get_ms_data(project_id, aligned_feature_id) + api_response = api_instance.get_ms_data(project_id, aligned_feature_id, ms_data_search_prepared=ms_data_search_prepared) print("The response of FeaturesApi->get_ms_data:\n") pprint(api_response) except Exception as e: @@ -1773,7 +2171,8 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | - **aligned_feature_id** | **str**| feature (aligned over runs) the Mass Spec data belong sto. | + **aligned_feature_id** | **str**| feature (aligned over runs) the Mass Spec data belongs to. | + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] ### Return type @@ -1796,20 +2195,20 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_quantification_experimental** -> QuantificationTableExperimental get_quantification_experimental(project_id, aligned_feature_id, type=type) +# **get_quant_table_row_experimental** +> QuantTableExperimental get_quant_table_row_experimental(project_id, aligned_feature_id, type=type) -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) -Returns a single quantification table row for the given feature. The quantification table contains the intensity of the feature within all samples it is contained in. +[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```python import PySirius -from PySirius.models.quantification_measure import QuantificationMeasure -from PySirius.models.quantification_table_experimental import QuantificationTableExperimental +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental from PySirius.rest import ApiException from pprint import pprint @@ -1825,16 +2224,16 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. - aligned_feature_id = 'aligned_feature_id_example' # str | feature which intensities should be read out - type = PySirius.QuantificationMeasure() # QuantificationMeasure | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (optional) + aligned_feature_id = 'aligned_feature_id_example' # str | feature which quantity should be read out + type = PySirius.QuantMeasure() # QuantMeasure | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (optional) try: - # EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. - api_response = api_instance.get_quantification_experimental(project_id, aligned_feature_id, type=type) - print("The response of FeaturesApi->get_quantification_experimental:\n") + # [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) + api_response = api_instance.get_quant_table_row_experimental(project_id, aligned_feature_id, type=type) + print("The response of FeaturesApi->get_quant_table_row_experimental:\n") pprint(api_response) except Exception as e: - print("Exception when calling FeaturesApi->get_quantification_experimental: %s\n" % e) + print("Exception when calling FeaturesApi->get_quant_table_row_experimental: %s\n" % e) ``` @@ -1845,12 +2244,12 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | - **aligned_feature_id** | **str**| feature which intensities should be read out | - **type** | [**QuantificationMeasure**](.md)| quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. | [optional] + **aligned_feature_id** | **str**| feature which quantity should be read out | + **type** | [**QuantMeasure**](.md)| quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. | [optional] ### Return type -[**QuantificationTableExperimental**](QuantificationTableExperimental.md) +[**QuantTableExperimental**](QuantTableExperimental.md) ### Authorization @@ -1872,9 +2271,9 @@ No authorization required # **get_spectral_library_match** > SpectralLibraryMatch get_spectral_library_match(project_id, aligned_feature_id, match_id, opt_fields=opt_fields) -List of spectral library matches for the given 'alignedFeatureId'. +Spectral library match for the given 'alignedFeatureId'. -List of spectral library matches for the given 'alignedFeatureId'. +Spectral library match for the given 'alignedFeatureId'. ### Example @@ -1899,11 +2298,11 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. - match_id = 'match_id_example' # str | - opt_fields = ["none"] # List[SpectralLibraryMatchOptField] | (optional) (default to ["none"]) + match_id = 'match_id_example' # str | id of the library match to be returned. + opt_fields = [none] # List[SpectralLibraryMatchOptField] | (optional) (default to [none]) try: - # List of spectral library matches for the given 'alignedFeatureId'. + # Spectral library match for the given 'alignedFeatureId'. api_response = api_instance.get_spectral_library_match(project_id, aligned_feature_id, match_id, opt_fields=opt_fields) print("The response of FeaturesApi->get_spectral_library_match:\n") pprint(api_response) @@ -1920,8 +2319,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | - **match_id** | **str**| | - **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to ["none"]] + **match_id** | **str**| id of the library match to be returned. | + **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to [none]] ### Return type @@ -1940,7 +2339,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Spectral library matches of this feature (aligned over runs). | - | +**200** | Spectral library match with requested mathcId. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) @@ -2059,7 +2458,7 @@ with PySirius.ApiClient(configuration) as api_client: min_shared_peaks = 1 # int | (optional) (default to 1) min_similarity = 0.2 # float | (optional) (default to 0.2) inchi_key = '' # str | (optional) (default to '') - opt_fields = ["none"] # List[SpectralLibraryMatchOptField] | (optional) (default to ["none"]) + opt_fields = [none] # List[SpectralLibraryMatchOptField] | (optional) (default to [none]) try: # Page of spectral library matches for the given 'alignedFeatureId'. @@ -2085,7 +2484,7 @@ Name | Type | Description | Notes **min_shared_peaks** | **int**| | [optional] [default to 1] **min_similarity** | **float**| | [optional] [default to 0.2] **inchi_key** | **str**| | [optional] [default to ''] - **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to ["none"]] + **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to [none]] ### Return type @@ -2185,11 +2584,11 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_structure_annotated_ms_data_experimental** -> AnnotatedMsMsData get_structure_annotated_ms_data_experimental(project_id, aligned_feature_id, formula_id, inchi_key) +> AnnotatedMsMsData get_structure_annotated_ms_data_experimental(project_id, aligned_feature_id, formula_id, inchi_key, ms_data_search_prepared=ms_data_search_prepared) -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey -Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available. +[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -2215,10 +2614,11 @@ with PySirius.ApiClient(configuration) as api_client: aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result inchi_key = 'inchi_key_example' # str | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation + ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) try: - # EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. - api_response = api_instance.get_structure_annotated_ms_data_experimental(project_id, aligned_feature_id, formula_id, inchi_key) + # [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey + api_response = api_instance.get_structure_annotated_ms_data_experimental(project_id, aligned_feature_id, formula_id, inchi_key, ms_data_search_prepared=ms_data_search_prepared) print("The response of FeaturesApi->get_structure_annotated_ms_data_experimental:\n") pprint(api_response) except Exception as e: @@ -2236,6 +2636,7 @@ Name | Type | Description | Notes **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | **inchi_key** | **str**| 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation | + **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] ### Return type @@ -2258,12 +2659,84 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_structure_annotated_spectral_library_match_experimental** +> AnnotatedSpectrum get_structure_annotated_spectral_library_match_experimental(project_id, aligned_feature_id, match_id) + +[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations + +[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.annotated_spectrum import AnnotatedSpectrum +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. + match_id = 'match_id_example' # str | id of the library match to be returned. + + try: + # [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations + api_response = api_instance.get_structure_annotated_spectral_library_match_experimental(project_id, aligned_feature_id, match_id) + print("The response of FeaturesApi->get_structure_annotated_spectral_library_match_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeaturesApi->get_structure_annotated_spectral_library_match_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | + **match_id** | **str**| id of the library match to be returned. | + +### Return type + +[**AnnotatedSpectrum**](AnnotatedSpectrum.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Spectral library match with requested mathcId. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_structure_annotated_spectrum_experimental** -> AnnotatedSpectrum get_structure_annotated_spectrum_experimental(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index=spectrum_index) +> AnnotatedSpectrum get_structure_annotated_spectrum_experimental(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index=spectrum_index, search_prepared=search_prepared) -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -2290,10 +2763,11 @@ with PySirius.ApiClient(configuration) as api_client: formula_id = 'formula_id_example' # str | identifier of the requested formula result inchi_key = 'inchi_key_example' # str | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation spectrum_index = -1 # int | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (optional) (default to -1) + search_prepared = False # bool | (optional) (default to False) try: - # EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. - api_response = api_instance.get_structure_annotated_spectrum_experimental(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index=spectrum_index) + # [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey + api_response = api_instance.get_structure_annotated_spectrum_experimental(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index=spectrum_index, search_prepared=search_prepared) print("The response of FeaturesApi->get_structure_annotated_spectrum_experimental:\n") pprint(api_response) except Exception as e: @@ -2312,6 +2786,7 @@ Name | Type | Description | Notes **formula_id** | **str**| identifier of the requested formula result | **inchi_key** | **str**| 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation | **spectrum_index** | **int**| index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) | [optional] [default to -1] + **search_prepared** | **bool**| | [optional] [default to False] ### Return type @@ -2364,7 +2839,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. - opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -2384,7 +2859,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -2438,7 +2913,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result - opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -2459,7 +2934,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -2516,7 +2991,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -2540,7 +3015,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -2596,7 +3071,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -2619,7 +3094,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -2642,12 +3117,82 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_tags_for_aligned_features_experimental** +> List[Tag] get_tags_for_aligned_features_experimental(project_id, object_id) + +[EXPERIMENTAL] Get all tags associated with this Object + +[EXPERIMENTAL] Get all tags associated with this Object + +### Example + + +```python +import PySirius +from PySirius.models.tag import Tag +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project-space to get from. + object_id = 'object_id_example' # str | object to get tags for. + + try: + # [EXPERIMENTAL] Get all tags associated with this Object + api_response = api_instance.get_tags_for_aligned_features_experimental(project_id, object_id) + print("The response of FeaturesApi->get_tags_for_aligned_features_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling FeaturesApi->get_tags_for_aligned_features_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to get from. | + **object_id** | **str**| object to get tags for. | + +### Return type + +[**List[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the tags of the requested object | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_traces_experimental** > TraceSetExperimental get_traces_experimental(project_id, aligned_feature_id, include_all=include_all) -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) -Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in. +[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -2674,7 +3219,7 @@ with PySirius.ApiClient(configuration) as api_client: include_all = False # bool | when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. (optional) (default to False) try: - # EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + # [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) api_response = api_instance.get_traces_experimental(project_id, aligned_feature_id, include_all=include_all) print("The response of FeaturesApi->get_traces_experimental:\n") pprint(api_response) @@ -2714,3 +3259,72 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **remove_tag_from_aligned_feature_experimental** +> remove_tag_from_aligned_feature_experimental(project_id, aligned_feature_id, tag_name) + +[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space + +[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.FeaturesApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) to delete tag from. + tag_name = 'tag_name_example' # str | name of the tag to delete. + + try: + # [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space + api_instance.remove_tag_from_aligned_feature_experimental(project_id, aligned_feature_id, tag_name) + except Exception as e: + print("Exception when calling FeaturesApi->remove_tag_from_aligned_feature_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **aligned_feature_id** | **str**| feature (aligned over runs) to delete tag from. | + **tag_name** | **str**| name of the tag to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/client-api_python/generated/docs/FoldChange.md b/client-api_python/generated/docs/FoldChange.md new file mode 100644 index 00000000..18fe240e --- /dev/null +++ b/client-api_python/generated/docs/FoldChange.md @@ -0,0 +1,35 @@ +# FoldChange + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**left_group** | **str** | | [optional] +**right_group** | **str** | | [optional] +**aggregation** | [**AggregationType**](AggregationType.md) | | [optional] +**quantification** | [**QuantMeasure**](QuantMeasure.md) | | [optional] +**quant_type** | [**QuantRowType**](QuantRowType.md) | | +**object_id** | **str** | | +**fold_change** | **float** | | + +## Example + +```python +from PySirius.models.fold_change import FoldChange + +# TODO update the JSON string below +json = "{}" +# create an instance of FoldChange from a JSON string +fold_change_instance = FoldChange.from_json(json) +# print the JSON string representation of the object +print(FoldChange.to_json()) + +# convert the object into a dict +fold_change_dict = fold_change_instance.to_dict() +# create an instance of FoldChange from a dict +fold_change_from_dict = FoldChange.from_dict(fold_change_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/FormulaCandidate.md b/client-api_python/generated/docs/FormulaCandidate.md index 65b258af..93c29e78 100644 --- a/client-api_python/generated/docs/FormulaCandidate.md +++ b/client-api_python/generated/docs/FormulaCandidate.md @@ -19,13 +19,13 @@ Name | Type | Description | Notes **num_of_explainable_peaks** | **int** | | [optional] **total_explained_intensity** | **float** | | [optional] **median_mass_deviation** | [**Deviation**](Deviation.md) | | [optional] -**fragmentation_tree** | [**FragmentationTree**](FragmentationTree.md) | | [optional] -**annotated_spectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | | [optional] -**isotope_pattern_annotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | | [optional] -**lipid_annotation** | [**LipidAnnotation**](LipidAnnotation.md) | | [optional] -**predicted_fingerprint** | **List[Optional[float]]** | Probabilistic molecular fingerprint predicted by CSI:FingerID | [optional] -**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | | [optional] -**canopus_prediction** | [**CanopusPrediction**](CanopusPrediction.md) | | [optional] +**fragmentation_tree** | [**FragmentationTree**](FragmentationTree.md) | The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). | [optional] +**annotated_spectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses | [optional] +**isotope_pattern_annotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. | [optional] +**lipid_annotation** | [**LipidAnnotation**](LipidAnnotation.md) | ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid | [optional] +**predicted_fingerprint** | **List[float]** | Probabilistic molecular fingerprint predicted by CSI:FingerID | [optional] +**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) | [optional] +**canopus_prediction** | [**CanopusPrediction**](CanopusPrediction.md) | All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) | [optional] ## Example diff --git a/client-api_python/generated/docs/GuiApi.md b/client-api_python/generated/docs/GuiApi.md deleted file mode 100644 index aa6e9448..00000000 --- a/client-api_python/generated/docs/GuiApi.md +++ /dev/null @@ -1,209 +0,0 @@ -# PySirius.GuiApi - -All URIs are relative to *http://localhost:8080* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**close_gui**](GuiApi.md#close_gui) | **DELETE** /api/projects/{projectId}/gui | Close GUI instance of given project-space if available. -[**get_guis**](GuiApi.md#get_guis) | **GET** /api/guis | Get list of currently running gui windows, managed by this SIRIUS instance. -[**open_gui**](GuiApi.md#open_gui) | **POST** /api/projects/{projectId}/gui | Open GUI instance on specified project-space and bring the GUI window to foreground. - - -# **close_gui** -> bool close_gui(project_id, close_project=close_project) - -Close GUI instance of given project-space if available. - -Close GUI instance of given project-space if available. - -### Example - - -```python -import PySirius -from PySirius.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to http://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = PySirius.Configuration( - host = "http://localhost:8080" -) - - -# Enter a context with an instance of the API client -with PySirius.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = PySirius.GuiApi(api_client) - project_id = 'project_id_example' # str | if project-space the GUI instance is connected to. - close_project = True # bool | (optional) - - try: - # Close GUI instance of given project-space if available. - api_response = api_instance.close_gui(project_id, close_project=close_project) - print("The response of GuiApi->close_gui:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling GuiApi->close_gui: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **project_id** | **str**| if project-space the GUI instance is connected to. | - **close_project** | **bool**| | [optional] - -### Return type - -**bool** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_guis** -> List[GuiInfo] get_guis() - -Get list of currently running gui windows, managed by this SIRIUS instance. - -Get list of currently running gui windows, managed by this SIRIUS instance. Note this will not show any Clients that are connected from a separate process! - -### Example - - -```python -import PySirius -from PySirius.models.gui_info import GuiInfo -from PySirius.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to http://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = PySirius.Configuration( - host = "http://localhost:8080" -) - - -# Enter a context with an instance of the API client -with PySirius.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = PySirius.GuiApi(api_client) - - try: - # Get list of currently running gui windows, managed by this SIRIUS instance. - api_response = api_instance.get_guis() - print("The response of GuiApi->get_guis:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling GuiApi->get_guis: %s\n" % e) -``` - - - -### Parameters - -This endpoint does not need any parameter. - -### Return type - -[**List[GuiInfo]**](GuiInfo.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | List of GUI windows that are currently managed by this SIRIUS instance. | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **open_gui** -> open_gui(project_id) - -Open GUI instance on specified project-space and bring the GUI window to foreground. - -Open GUI instance on specified project-space and bring the GUI window to foreground. - -### Example - - -```python -import PySirius -from PySirius.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to http://localhost:8080 -# See configuration.py for a list of all supported configuration parameters. -configuration = PySirius.Configuration( - host = "http://localhost:8080" -) - - -# Enter a context with an instance of the API client -with PySirius.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = PySirius.GuiApi(api_client) - project_id = 'project_id_example' # str | of project-space the GUI instance will connect to. - - try: - # Open GUI instance on specified project-space and bring the GUI window to foreground. - api_instance.open_gui(project_id) - except Exception as e: - print("Exception when calling GuiApi->open_gui: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **project_id** | **str**| of project-space the GUI instance will connect to. | - -### Return type - -void (empty response body) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: Not defined - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | Created | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/client-api_python/generated/docs/Job.md b/client-api_python/generated/docs/Job.md index fa7e0ae3..f9d532ce 100644 --- a/client-api_python/generated/docs/Job.md +++ b/client-api_python/generated/docs/Job.md @@ -8,10 +8,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | Unique identifier to access the job via the API | [optional] **command** | **str** | Command string of the executed Task | [optional] -**progress** | [**JobProgress**](JobProgress.md) | | [optional] -**affected_compound_ids** | **List[Optional[str]]** | List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] -**affected_aligned_feature_ids** | **List[Optional[str]]** | List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] -**job_effect** | [**JobEffect**](JobEffect.md) | | [optional] +**progress** | [**JobProgress**](JobProgress.md) | Optional progress information of this job | [optional] +**affected_compound_ids** | **List[str]** | List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] +**affected_aligned_feature_ids** | **List[str]** | List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] +**job_effect** | [**JobEffect**](JobEffect.md) | Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested | [optional] ## Example diff --git a/client-api_python/generated/docs/JobProgress.md b/client-api_python/generated/docs/JobProgress.md index fb328017..48e0f58c 100644 --- a/client-api_python/generated/docs/JobProgress.md +++ b/client-api_python/generated/docs/JobProgress.md @@ -7,7 +7,7 @@ Progress information of a computation job that has already been submitted to SIR Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **indeterminate** | **bool** | Is the progress indeterminate or not | [optional] -**state** | [**JobState**](JobState.md) | | [optional] +**state** | [**JobState**](JobState.md) | Current state of the Jobs in the SIRIUS internal Job scheduler WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs) READY: Ready for submission but not yet enqueued for submission to ExecutorService. QUEUED: Enqueued for submission to ExecutorService. SUBMITTED: Submitted and waiting to be executed. RUNNING: Job is running. CANCELED: Jobs is finished due to cancellation by user or dependent jobs. FAILED: Job is finished but failed. DONE: Job finished successfully. | [optional] **current_progress** | **int** | Current progress value of the job. | [optional] **max_progress** | **int** | Progress value to reach (might also change during execution) | [optional] **message** | **str** | Progress information and warnings. | [optional] diff --git a/client-api_python/generated/docs/JobSubmission.md b/client-api_python/generated/docs/JobSubmission.md index aec0ff53..b64a5e9e 100644 --- a/client-api_python/generated/docs/JobSubmission.md +++ b/client-api_python/generated/docs/JobSubmission.md @@ -6,20 +6,20 @@ Object to submit a job to be executed by SIRIUS Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**compound_ids** | **List[Optional[str]]** | Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified. | [optional] -**aligned_feature_ids** | **List[Optional[str]]** | Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified. | [optional] -**fallback_adducts** | **List[Optional[str]]** | Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] -**enforced_adducts** | **List[Optional[str]]** | Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] -**detectable_adducts** | **List[Optional[str]]** | Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] +**compound_ids** | **List[str]** | Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified. | [optional] +**aligned_feature_ids** | **List[str]** | Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified. | [optional] +**fallback_adducts** | **List[str]** | Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] +**enforced_adducts** | **List[str]** | Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] +**detectable_adducts** | **List[str]** | Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] **recompute** | **bool** | Indicate if already existing result for a tool to be executed should be overwritten or not. | [optional] -**spectra_search_params** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | | [optional] -**formula_id_params** | [**Sirius**](Sirius.md) | | [optional] -**zodiac_params** | [**Zodiac**](Zodiac.md) | | [optional] -**fingerprint_prediction_params** | [**FingerprintPrediction**](FingerprintPrediction.md) | | [optional] -**canopus_params** | [**Canopus**](Canopus.md) | | [optional] -**structure_db_search_params** | [**StructureDbSearch**](StructureDbSearch.md) | | [optional] -**ms_novelist_params** | [**MsNovelist**](MsNovelist.md) | | [optional] -**config_map** | **Dict[str, Optional[str]]** | As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. | [optional] +**spectra_search_params** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. | [optional] +**formula_id_params** | [**Sirius**](Sirius.md) | Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. | [optional] +**zodiac_params** | [**Zodiac**](Zodiac.md) | Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. | [optional] +**fingerprint_prediction_params** | [**FingerprintPrediction**](FingerprintPrediction.md) | Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. | [optional] +**canopus_params** | [**Canopus**](Canopus.md) | Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. | [optional] +**structure_db_search_params** | [**StructureDbSearch**](StructureDbSearch.md) | Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. | [optional] +**ms_novelist_params** | [**MsNovelist**](MsNovelist.md) | Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. | [optional] +**config_map** | **Dict[str, str]** | As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. | [optional] ## Example diff --git a/client-api_python/generated/docs/JobsApi.md b/client-api_python/generated/docs/JobsApi.md index 1d616e05..fb880bd3 100644 --- a/client-api_python/generated/docs/JobsApi.md +++ b/client-api_python/generated/docs/JobsApi.md @@ -7,10 +7,11 @@ Method | HTTP request | Description [**delete_job**](JobsApi.md#delete_job) | **DELETE** /api/projects/{projectId}/jobs/{jobId} | Delete job. [**delete_job_config**](JobsApi.md#delete_job_config) | **DELETE** /api/job-configs/{name} | Delete job configuration with given name. [**delete_jobs**](JobsApi.md#delete_jobs) | **DELETE** /api/projects/{projectId}/jobs | * Delete ALL jobs. +[**get_command**](JobsApi.md#get_command) | **POST** /api/job-configs/get-command | Get a CLI command for the given job configuration. [**get_default_job_config**](JobsApi.md#get_default_job_config) | **GET** /api/default-job-config | Request default job configuration [**get_job**](JobsApi.md#get_job) | **GET** /api/projects/{projectId}/jobs/{jobId} | Get job information and its current state and progress (if available). [**get_job_config**](JobsApi.md#get_job_config) | **GET** /api/job-configs/{name} | Request job configuration with given name. -[**get_job_config_names**](JobsApi.md#get_job_config_names) | **GET** /api/job-config-names | DEPRECATED: use /job-configs to get all configs with names. +[**get_job_config_names**](JobsApi.md#get_job_config_names) | **GET** /api/job-config-names | [DEPRECATED] Get all (non-default) job configuration names [**get_job_configs**](JobsApi.md#get_job_configs) | **GET** /api/job-configs | Request all available job configurations [**get_jobs**](JobsApi.md#get_jobs) | **GET** /api/projects/{projectId}/jobs | Get List of all available jobs with information such as current state and progress (if available). [**get_jobs_paged**](JobsApi.md#get_jobs_paged) | **GET** /api/projects/{projectId}/jobs/page | Get Page of jobs with information such as current state and progress (if available). @@ -225,6 +226,74 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_command** +> List[str] get_command(job_submission) + +Get a CLI command for the given job configuration. + +Get a CLI command for the given job configuration. + +### Example + + +```python +import PySirius +from PySirius.models.job_submission import JobSubmission +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.JobsApi(api_client) + job_submission = PySirius.JobSubmission() # JobSubmission | + + try: + # Get a CLI command for the given job configuration. + api_response = api_instance.get_command(job_submission) + print("The response of JobsApi->get_command:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling JobsApi->get_command: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_submission** | [**JobSubmission**](JobSubmission.md)| | + +### Return type + +**List[str]** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_default_job_config** > JobSubmission get_default_job_config(include_config_map=include_config_map, move_parameters_to_config_map=move_parameters_to_config_map, include_custom_dbs_for_structure_search=include_custom_dbs_for_structure_search) @@ -254,7 +323,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.JobsApi(api_client) include_config_map = False # bool | if true, generic configmap with-defaults will be included (optional) (default to False) move_parameters_to_config_map = False # bool | if true, object-based parameters will be converted to and added to the generic configMap parameters (optional) (default to False) - include_custom_dbs_for_structure_search = False # bool | if true, default database selection of structure db search contains also all available custom DB. (optional) (default to False) + include_custom_dbs_for_structure_search = False # bool | if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (optional) (default to False) try: # Request default job configuration @@ -274,7 +343,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **include_config_map** | **bool**| if true, generic configmap with-defaults will be included | [optional] [default to False] **move_parameters_to_config_map** | **bool**| if true, object-based parameters will be converted to and added to the generic configMap parameters | [optional] [default to False] - **include_custom_dbs_for_structure_search** | **bool**| if true, default database selection of structure db search contains also all available custom DB. | [optional] [default to False] + **include_custom_dbs_for_structure_search** | **bool**| if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. | [optional] [default to False] ### Return type @@ -327,7 +396,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.JobsApi(api_client) project_id = 'project_id_example' # str | project-space to run jobs on job_id = 'job_id_example' # str | of the job to be returned - opt_fields = ["progress"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["progress"]) + opt_fields = [progress] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [progress]) try: # Get job information and its current state and progress (if available). @@ -347,7 +416,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to run jobs on | **job_id** | **str**| of the job to be returned | - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] ### Return type @@ -443,9 +512,9 @@ No authorization required # **get_job_config_names** > List[str] get_job_config_names() -DEPRECATED: use /job-configs to get all configs with names. +[DEPRECATED] Get all (non-default) job configuration names -Get all (non-default) job configuration names +[DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. ### Example @@ -468,7 +537,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.JobsApi(api_client) try: - # DEPRECATED: use /job-configs to get all configs with names. + # [DEPRECATED] Get all (non-default) job configuration names api_response = api_instance.get_job_config_names() print("The response of JobsApi->get_job_config_names:\n") pprint(api_response) @@ -670,7 +739,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = ["none"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields = [none] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) try: # Get Page of jobs with information such as current state and progress (if available). @@ -692,7 +761,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -962,7 +1031,7 @@ with PySirius.ApiClient(configuration) as api_client: job_config_name = 'job_config_name_example' # str | name if the config to be used request_body = ['request_body_example'] # List[str] | List of alignedFeatureIds to be computed recompute = True # bool | enable or disable recompute. If null the stored value will be used. (optional) - opt_fields = ["command","progress"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["command","progress"]) + opt_fields = [command, progress] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [command, progress]) try: # Start computation for given compounds and with parameters from a stored job-config. @@ -984,7 +1053,7 @@ Name | Type | Description | Notes **job_config_name** | **str**| name if the config to be used | **request_body** | [**List[str]**](str.md)| List of alignedFeatureIds to be computed | **recompute** | **bool**| enable or disable recompute. If null the stored value will be used. | [optional] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["command","progress"]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [command, progress]] ### Return type diff --git a/client-api_python/generated/docs/LcmsSubmissionParameters.md b/client-api_python/generated/docs/LcmsSubmissionParameters.md index da84c412..dcafa257 100644 --- a/client-api_python/generated/docs/LcmsSubmissionParameters.md +++ b/client-api_python/generated/docs/LcmsSubmissionParameters.md @@ -6,6 +6,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **align_lcms_runs** | **bool** | Specifies whether LC/MS runs should be aligned | [optional] [default to True] +**noise_intensity** | **float** | Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. | [optional] [default to -1] +**trace_max_mass_deviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. | [optional] +**align_max_mass_deviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. | [optional] +**align_max_retention_time_deviation** | **float** | Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. | [optional] [default to -1] +**min_snr** | **float** | Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory | [optional] [default to 3] ## Example diff --git a/client-api_python/generated/docs/LicenseInfo.md b/client-api_python/generated/docs/LicenseInfo.md index e85e2ac5..8f11f669 100644 --- a/client-api_python/generated/docs/LicenseInfo.md +++ b/client-api_python/generated/docs/LicenseInfo.md @@ -7,8 +7,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **user_email** | **str** | Email address of the user account this license information belongs to. | [optional] **user_id** | **str** | User ID (uid) of the user account this license information belongs to. | [optional] -**subscription** | [**Subscription**](Subscription.md) | | [optional] -**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | | [optional] +**subscription** | [**Subscription**](Subscription.md) | The active subscription that was used the requested the information | [optional] +**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | Status of the consumable resources of the {@link Subscription Subscription}. | [optional] **terms** | [**List[Term]**](Term.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/MetabolicTransformation.md b/client-api_python/generated/docs/MetabolicTransformation.md new file mode 100644 index 00000000..a49d33ca --- /dev/null +++ b/client-api_python/generated/docs/MetabolicTransformation.md @@ -0,0 +1,22 @@ +# MetabolicTransformation + + +## Enum + +* `PHASE_1_CYP450` (value: `'PHASE_1_CYP450'`) + +* `EC_BASED` (value: `'EC_BASED'`) + +* `PHASE_2` (value: `'PHASE_2'`) + +* `HUMAN_GUT` (value: `'HUMAN_GUT'`) + +* `ALL_HUMAN` (value: `'ALL_HUMAN'`) + +* `ABIOTIC` (value: `'ABIOTIC'`) + +* `HUMAN_CUSTOM_MULTI` (value: `'HUMAN_CUSTOM_MULTI'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/MsData.md b/client-api_python/generated/docs/MsData.md index fb737aab..309cbb0f 100644 --- a/client-api_python/generated/docs/MsData.md +++ b/client-api_python/generated/docs/MsData.md @@ -1,11 +1,12 @@ # MsData -The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar +The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One extracted isotope pattern (optional) - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**isotope_pattern** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **merged_ms1** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **merged_ms2** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **ms1_spectra** | [**List[BasicSpectrum]**](BasicSpectrum.md) | | [optional] diff --git a/client-api_python/generated/docs/P2Mode.md b/client-api_python/generated/docs/P2Mode.md new file mode 100644 index 00000000..fa02e31d --- /dev/null +++ b/client-api_python/generated/docs/P2Mode.md @@ -0,0 +1,14 @@ +# P2Mode + + +## Enum + +* `BT_RULE_BASED` (value: `'BT_RULE_BASED'`) + +* `P2_RULE_ONLY` (value: `'P2_RULE_ONLY'`) + +* `COMBINED_RULES` (value: `'COMBINED_RULES'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/PagedModelRun.md b/client-api_python/generated/docs/PagedModelRun.md new file mode 100644 index 00000000..ea6c0287 --- /dev/null +++ b/client-api_python/generated/docs/PagedModelRun.md @@ -0,0 +1,30 @@ +# PagedModelRun + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content** | [**List[Run]**](Run.md) | | [optional] +**page** | [**PageMetadata**](PageMetadata.md) | | [optional] + +## Example + +```python +from PySirius.models.paged_model_run import PagedModelRun + +# TODO update the JSON string below +json = "{}" +# create an instance of PagedModelRun from a JSON string +paged_model_run_instance = PagedModelRun.from_json(json) +# print the JSON string representation of the object +print(PagedModelRun.to_json()) + +# convert the object into a dict +paged_model_run_dict = paged_model_run_instance.to_dict() +# create an instance of PagedModelRun from a dict +paged_model_run_from_dict = PagedModelRun.from_dict(paged_model_run_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/PeakAnnotation.md b/client-api_python/generated/docs/PeakAnnotation.md index 3356decd..d07656ca 100644 --- a/client-api_python/generated/docs/PeakAnnotation.md +++ b/client-api_python/generated/docs/PeakAnnotation.md @@ -13,10 +13,10 @@ Name | Type | Description | Notes **mass_deviation_ppm** | **float** | Relative mass deviation of the exact mass to the measured peak mass in ppm | [optional] **recalibrated_mass_deviation_mz** | **float** | Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa | [optional] **recalibrated_mass_deviation_ppm** | **float** | Relative mass deviation of the exact mass to the recalibrated peak mass in ppm | [optional] -**parent_peak** | [**ParentPeak**](ParentPeak.md) | | [optional] -**substructure_atoms** | **List[Optional[int]]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) | [optional] -**substructure_bonds** | **List[Optional[int]]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. | [optional] -**substructure_bonds_cut** | **List[Optional[int]]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. | [optional] +**parent_peak** | [**ParentPeak**](ParentPeak.md) | Link to the parent peak connected via the neutral loss from the fragmentation tree. | [optional] +**substructure_atoms** | **List[int]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) | [optional] +**substructure_bonds** | **List[int]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. | [optional] +**substructure_bonds_cut** | **List[int]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. | [optional] **substructure_score** | **float** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. This score roughly reflects the probability of this fragment forming. This is the score of the path from root to this node which has the maximal score or \"profit\". The score of a path is equal to the sum of scores of its contained fragments and edges. Note: Refers to 'totalScore' in CombinatorialNode Null if substructure annotation not available or not requested. | [optional] **hydrogen_rearrangements** | **int** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Number of hydrogens rearrangements needed to match the substructure to the fragment formula. Null if substructure annotation not available or not requested. | [optional] diff --git a/client-api_python/generated/docs/GuiInfo.md b/client-api_python/generated/docs/PeakPair.md similarity index 52% rename from client-api_python/generated/docs/GuiInfo.md rename to client-api_python/generated/docs/PeakPair.md index de6176ef..a51ef9b5 100644 --- a/client-api_python/generated/docs/GuiInfo.md +++ b/client-api_python/generated/docs/PeakPair.md @@ -1,28 +1,29 @@ -# GuiInfo +# PeakPair ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**project_id** | **str** | The project this instance is running on | [optional] +**query_peak** | **int** | | +**reference_peak** | **int** | | ## Example ```python -from PySirius.models.gui_info import GuiInfo +from PySirius.models.peak_pair import PeakPair # TODO update the JSON string below json = "{}" -# create an instance of GuiInfo from a JSON string -gui_info_instance = GuiInfo.from_json(json) +# create an instance of PeakPair from a JSON string +peak_pair_instance = PeakPair.from_json(json) # print the JSON string representation of the object -print(GuiInfo.to_json()) +print(PeakPair.to_json()) # convert the object into a dict -gui_info_dict = gui_info_instance.to_dict() -# create an instance of GuiInfo from a dict -gui_info_from_dict = GuiInfo.from_dict(gui_info_dict) +peak_pair_dict = peak_pair_instance.to_dict() +# create an instance of PeakPair from a dict +peak_pair_from_dict = PeakPair.from_dict(peak_pair_dict) ``` [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/ProjectInfo.md b/client-api_python/generated/docs/ProjectInfo.md index 84137ddf..15d4ddff 100644 --- a/client-api_python/generated/docs/ProjectInfo.md +++ b/client-api_python/generated/docs/ProjectInfo.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **project_id** | **str** | a user selected unique name of the project for easy access. | [optional] **location** | **str** | storage location of the project. | [optional] **description** | **str** | Description of this project. | [optional] -**type** | [**ProjectType**](ProjectType.md) | | [optional] +**type** | [**ProjectType**](ProjectType.md) | Type of this project. NULL if project type has not yet been specified by importing data. | [optional] **compatible** | **bool** | Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend. If true project is up-to-date and there are no restrictions regarding usage. If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information If NULL the information has not been requested. | [optional] **num_of_features** | **int** | Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation'). | [optional] **num_of_compounds** | **int** | Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type. | [optional] diff --git a/client-api_python/generated/docs/ProjectType.md b/client-api_python/generated/docs/ProjectType.md index 7b2a5d69..3b1d74aa 100644 --- a/client-api_python/generated/docs/ProjectType.md +++ b/client-api_python/generated/docs/ProjectType.md @@ -3,6 +3,8 @@ ## Enum +* `UNIMPORTED` (value: `'UNIMPORTED'`) + * `DIRECT_IMPORT` (value: `'DIRECT_IMPORT'`) * `PEAKLISTS` (value: `'PEAKLISTS'`) diff --git a/client-api_python/generated/docs/ProjectsApi.md b/client-api_python/generated/docs/ProjectsApi.md index bcbbfe81..d5751f7c 100644 --- a/client-api_python/generated/docs/ProjectsApi.md +++ b/client-api_python/generated/docs/ProjectsApi.md @@ -4,7 +4,7 @@ All URIs are relative to *http://localhost:8080* Method | HTTP request | Description ------------- | ------------- | ------------- -[**close_project**](ProjectsApi.md#close_project) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from application +[**close_project**](ProjectsApi.md#close_project) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from the application [**create_project**](ProjectsApi.md#create_project) | **POST** /api/projects/{projectId} | Create and open a new project-space at given location and make it accessible via the given projectId. [**get_canopus_classy_fire_data**](ProjectsApi.md#get_canopus_classy_fire_data) | **GET** /api/projects/{projectId}/cf-data | Get CANOPUS prediction vector definition for ClassyFire classes [**get_canopus_npc_data**](ProjectsApi.md#get_canopus_npc_data) | **GET** /api/projects/{projectId}/npc-data | Get CANOPUS prediction vector definition for NPC classes @@ -19,11 +19,11 @@ Method | HTTP request | Description # **close_project** -> close_project(project_id) +> close_project(project_id, compact=compact) -Close project-space and remove it from application +Close project-space and remove it from the application -Close project-space and remove it from application. Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. +Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. ### Example @@ -45,10 +45,11 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | unique name/identifier of the project-space to be closed. + compact = False # bool | if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (optional) (default to False) try: - # Close project-space and remove it from application - api_instance.close_project(project_id) + # Close project-space and remove it from the application + api_instance.close_project(project_id, compact=compact) except Exception as e: print("Exception when calling ProjectsApi->close_project: %s\n" % e) ``` @@ -61,6 +62,7 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| unique name/identifier of the project-space to be closed. | + **compact** | **bool**| if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. | [optional] [default to False] ### Return type @@ -113,7 +115,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. path_to_project = 'path_to_project_example' # str | local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (optional) - opt_fields = ["none"] # List[ProjectInfoOptField] | (optional) (default to ["none"]) + opt_fields = [none] # List[ProjectInfoOptField] | (optional) (default to [none]) try: # Create and open a new project-space at given location and make it accessible via the given projectId. @@ -133,7 +135,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **str**| local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to ["none"]] + **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to [none]] ### Return type @@ -493,7 +495,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **import_ms_run_data** -> ImportResult import_ms_run_data(project_id, input_files=input_files, parameters=parameters) +> ImportResult import_ms_run_data(project_id, input_files, parameters) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -521,12 +523,12 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | Project-space to import into. - input_files = None # List[bytearray] | (optional) - parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | (optional) + input_files = None # List[bytearray] | Files to import into project. + parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. try: # Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) - api_response = api_instance.import_ms_run_data(project_id, input_files=input_files, parameters=parameters) + api_response = api_instance.import_ms_run_data(project_id, input_files, parameters) print("The response of ProjectsApi->import_ms_run_data:\n") pprint(api_response) except Exception as e: @@ -541,8 +543,8 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| Project-space to import into. | - **input_files** | **List[bytearray]**| | [optional] - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | [optional] + **input_files** | **List[bytearray]**| Files to import into project. | + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | ### Return type @@ -566,7 +568,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **import_ms_run_data_as_job** -> Job import_ms_run_data_as_job(project_id, opt_fields=opt_fields, input_files=input_files, parameters=parameters) +> Job import_ms_run_data_as_job(project_id, input_files, parameters, opt_fields=opt_fields) Import and Align full MS-Runs from various formats into the specified project as background job. @@ -595,13 +597,13 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | Project-space to import into. - opt_fields = ["progress"] # List[JobOptField] | Set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["progress"]) - input_files = None # List[bytearray] | (optional) - parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | (optional) + input_files = None # List[bytearray] | Files to import into project. + parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. + opt_fields = [progress] # List[JobOptField] | Set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [progress]) try: # Import and Align full MS-Runs from various formats into the specified project as background job. - api_response = api_instance.import_ms_run_data_as_job(project_id, opt_fields=opt_fields, input_files=input_files, parameters=parameters) + api_response = api_instance.import_ms_run_data_as_job(project_id, input_files, parameters, opt_fields=opt_fields) print("The response of ProjectsApi->import_ms_run_data_as_job:\n") pprint(api_response) except Exception as e: @@ -616,9 +618,9 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| Project-space to import into. | - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] - **input_files** | **List[bytearray]**| | [optional] - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | [optional] + **input_files** | **List[bytearray]**| Files to import into project. | + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] ### Return type @@ -642,7 +644,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **import_preprocessed_data** -> ImportResult import_preprocessed_data(project_id, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, input_files=input_files) +> ImportResult import_preprocessed_data(project_id, input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -669,13 +671,13 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | project-space to import into. + input_files = None # List[bytearray] | files to import into project ignore_formulas = False # bool | (optional) (default to False) allow_ms1_only = True # bool | (optional) (default to True) - input_files = None # List[bytearray] | (optional) try: # Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) - api_response = api_instance.import_preprocessed_data(project_id, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, input_files=input_files) + api_response = api_instance.import_preprocessed_data(project_id, input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only) print("The response of ProjectsApi->import_preprocessed_data:\n") pprint(api_response) except Exception as e: @@ -690,9 +692,9 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to import into. | + **input_files** | **List[bytearray]**| files to import into project | **ignore_formulas** | **bool**| | [optional] [default to False] **allow_ms1_only** | **bool**| | [optional] [default to True] - **input_files** | **List[bytearray]**| | [optional] ### Return type @@ -716,7 +718,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **import_preprocessed_data_as_job** -> Job import_preprocessed_data_as_job(project_id, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, opt_fields=opt_fields, input_files=input_files) +> Job import_preprocessed_data_as_job(project_id, input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, opt_fields=opt_fields) Import ms/ms data from the given format into the specified project-space as background job. @@ -744,14 +746,14 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | project-space to import into. + input_files = None # List[bytearray] | ignore_formulas = False # bool | (optional) (default to False) allow_ms1_only = True # bool | (optional) (default to True) - opt_fields = ["progress"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["progress"]) - input_files = None # List[bytearray] | (optional) + opt_fields = [progress] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [progress]) try: # Import ms/ms data from the given format into the specified project-space as background job. - api_response = api_instance.import_preprocessed_data_as_job(project_id, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, opt_fields=opt_fields, input_files=input_files) + api_response = api_instance.import_preprocessed_data_as_job(project_id, input_files, ignore_formulas=ignore_formulas, allow_ms1_only=allow_ms1_only, opt_fields=opt_fields) print("The response of ProjectsApi->import_preprocessed_data_as_job:\n") pprint(api_response) except Exception as e: @@ -766,10 +768,10 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to import into. | + **input_files** | **List[bytearray]**| | **ignore_formulas** | **bool**| | [optional] [default to False] **allow_ms1_only** | **bool**| | [optional] [default to True] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] - **input_files** | **List[bytearray]**| | [optional] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] ### Return type @@ -822,7 +824,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. path_to_project = 'path_to_project_example' # str | local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (optional) - opt_fields = ["none"] # List[ProjectInfoOptField] | (optional) (default to ["none"]) + opt_fields = [none] # List[ProjectInfoOptField] | (optional) (default to [none]) try: # Open an existing project-space and make it accessible via the given projectId. @@ -842,7 +844,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **str**| local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to ["none"]] + **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to [none]] ### Return type diff --git a/client-api_python/generated/docs/QuantMeasure.md b/client-api_python/generated/docs/QuantMeasure.md new file mode 100644 index 00000000..d12338e9 --- /dev/null +++ b/client-api_python/generated/docs/QuantMeasure.md @@ -0,0 +1,12 @@ +# QuantMeasure + + +## Enum + +* `APEX_INTENSITY` (value: `'APEX_INTENSITY'`) + +* `AREA_UNDER_CURVE` (value: `'AREA_UNDER_CURVE'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/QuantificationRowType.md b/client-api_python/generated/docs/QuantRowType.md similarity index 79% rename from client-api_python/generated/docs/QuantificationRowType.md rename to client-api_python/generated/docs/QuantRowType.md index 9f8c7115..97a3ab9e 100644 --- a/client-api_python/generated/docs/QuantificationRowType.md +++ b/client-api_python/generated/docs/QuantRowType.md @@ -1,10 +1,12 @@ -# QuantificationRowType +# QuantRowType ## Enum * `FEATURES` (value: `'FEATURES'`) +* `COMPOUNDS` (value: `'COMPOUNDS'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/QuantTableExperimental.md b/client-api_python/generated/docs/QuantTableExperimental.md new file mode 100644 index 00000000..04ef8cc5 --- /dev/null +++ b/client-api_python/generated/docs/QuantTableExperimental.md @@ -0,0 +1,36 @@ +# QuantTableExperimental + +EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**quantification_measure** | [**QuantMeasure**](QuantMeasure.md) | | [optional] +**row_type** | [**QuantRowType**](QuantRowType.md) | | [optional] +**row_ids** | **List[int]** | | [optional] +**column_ids** | **List[int]** | | [optional] +**row_names** | **List[str]** | | [optional] +**column_names** | **List[str]** | | [optional] +**values** | **List[List[float]]** | | [optional] + +## Example + +```python +from PySirius.models.quant_table_experimental import QuantTableExperimental + +# TODO update the JSON string below +json = "{}" +# create an instance of QuantTableExperimental from a JSON string +quant_table_experimental_instance = QuantTableExperimental.from_json(json) +# print the JSON string representation of the object +print(QuantTableExperimental.to_json()) + +# convert the object into a dict +quant_table_experimental_dict = quant_table_experimental_instance.to_dict() +# create an instance of QuantTableExperimental from a dict +quant_table_experimental_from_dict = QuantTableExperimental.from_dict(quant_table_experimental_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/QuantificationTableExperimental.md b/client-api_python/generated/docs/QuantificationTableExperimental.md deleted file mode 100644 index d87c3e7e..00000000 --- a/client-api_python/generated/docs/QuantificationTableExperimental.md +++ /dev/null @@ -1,37 +0,0 @@ -# QuantificationTableExperimental - -EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**quantification_type** | [**QuantificationMeasure**](QuantificationMeasure.md) | | [optional] -**row_type** | [**QuantificationRowType**](QuantificationRowType.md) | | [optional] -**column_type** | [**QuantificationColumnType**](QuantificationColumnType.md) | | [optional] -**row_ids** | **List[Optional[int]]** | | [optional] -**column_ids** | **List[Optional[int]]** | | [optional] -**row_names** | **List[Optional[str]]** | | [optional] -**column_names** | **List[Optional[str]]** | | [optional] -**values** | **List[List[float]]** | | [optional] - -## Example - -```python -from PySirius.models.quantification_table_experimental import QuantificationTableExperimental - -# TODO update the JSON string below -json = "{}" -# create an instance of QuantificationTableExperimental from a JSON string -quantification_table_experimental_instance = QuantificationTableExperimental.from_json(json) -# print the JSON string representation of the object -print(QuantificationTableExperimental.to_json()) - -# convert the object into a dict -quantification_table_experimental_dict = quantification_table_experimental_instance.to_dict() -# create an instance of QuantificationTableExperimental from a dict -quantification_table_experimental_from_dict = QuantificationTableExperimental.from_dict(quantification_table_experimental_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/client-api_python/generated/docs/Run.md b/client-api_python/generated/docs/Run.md new file mode 100644 index 00000000..a8110928 --- /dev/null +++ b/client-api_python/generated/docs/Run.md @@ -0,0 +1,36 @@ +# Run + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**run_id** | **str** | Identifier | [optional] +**name** | **str** | Informative, human-readable name of this run | [optional] +**source** | **str** | Source location | [optional] +**chromatography** | **str** | | [optional] +**ionization** | **str** | | [optional] +**fragmentation** | **str** | | [optional] +**mass_analyzers** | **List[str]** | | [optional] +**tags** | [**Dict[str, Tag]**](Tag.md) | Key: tagName, value: tag | [optional] + +## Example + +```python +from PySirius.models.run import Run + +# TODO update the JSON string below +json = "{}" +# create an instance of Run from a JSON string +run_instance = Run.from_json(json) +# print the JSON string representation of the object +print(Run.to_json()) + +# convert the object into a dict +run_dict = run_instance.to_dict() +# create an instance of Run from a dict +run_from_dict = Run.from_dict(run_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/RunOptField.md b/client-api_python/generated/docs/RunOptField.md new file mode 100644 index 00000000..8c26389a --- /dev/null +++ b/client-api_python/generated/docs/RunOptField.md @@ -0,0 +1,12 @@ +# RunOptField + + +## Enum + +* `NONE` (value: `'none'`) + +* `TAGS` (value: `'tags'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/RunsApi.md b/client-api_python/generated/docs/RunsApi.md new file mode 100644 index 00000000..5812f44f --- /dev/null +++ b/client-api_python/generated/docs/RunsApi.md @@ -0,0 +1,609 @@ +# PySirius.RunsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_tags_to_run_experimental**](RunsApi.md#add_tags_to_run_experimental) | **PUT** /api/projects/{projectId}/runs/tags/{runId} | [EXPERIMENTAL] Add tags to a run in the project +[**compute_fold_change_for_blank_subtraction**](RunsApi.md#compute_fold_change_for_blank_subtraction) | **PUT** /api/projects/{projectId}/runs/blanksubtract/compute | **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +[**get_run_experimental**](RunsApi.md#get_run_experimental) | **GET** /api/projects/{projectId}/runs/{runId} | [EXPERIMENTAL] Get run with the given identifier from the specified project-space +[**get_run_page_experimental**](RunsApi.md#get_run_page_experimental) | **GET** /api/projects/{projectId}/runs/page | [EXPERIMENTAL] Get all available runs in the given project-space +[**get_runs_by_group_experimental**](RunsApi.md#get_runs_by_group_experimental) | **GET** /api/projects/{projectId}/runs/grouped | [EXPERIMENTAL] Get runs by tag group +[**get_runs_by_tag_experimental**](RunsApi.md#get_runs_by_tag_experimental) | **GET** /api/projects/{projectId}/runs/tagged | [EXPERIMENTAL] Get runs by tag +[**get_tags_for_run_experimental**](RunsApi.md#get_tags_for_run_experimental) | **GET** /api/projects/{projectId}/runs/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Run +[**remove_tag_from_run_experimental**](RunsApi.md#remove_tag_from_run_experimental) | **DELETE** /api/projects/{projectId}/runs/tags/{runId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + + +# **add_tags_to_run_experimental** +> List[Tag] add_tags_to_run_experimental(project_id, run_id, tag) + +[EXPERIMENTAL] Add tags to a run in the project + +[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag import Tag +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project-space to add to. + run_id = 'run_id_example' # str | run to add tags to. + tag = [PySirius.Tag()] # List[Tag] | tags to add. + + try: + # [EXPERIMENTAL] Add tags to a run in the project + api_response = api_instance.add_tags_to_run_experimental(project_id, run_id, tag) + print("The response of RunsApi->add_tags_to_run_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RunsApi->add_tags_to_run_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to add to. | + **run_id** | **str**| run to add tags to. | + **tag** | [**List[Tag]**](Tag.md)| tags to add. | + +### Return type + +[**List[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the tags that have been added | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **compute_fold_change_for_blank_subtraction** +> Job compute_fold_change_for_blank_subtraction(project_id, sample_type_fold_change_request, opt_fields=opt_fields) + +**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + +**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

+ +### Example + + +```python +import PySirius +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project-space to compute the fold change in. + sample_type_fold_change_request = PySirius.SampleTypeFoldChangeRequest() # SampleTypeFoldChangeRequest | request with lists of run IDs that are sample, blank, and control runs + opt_fields = ["progress"] # List[JobOptField] | job opt fields. (optional) (default to ["progress"]) + + try: + # **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + api_response = api_instance.compute_fold_change_for_blank_subtraction(project_id, sample_type_fold_change_request, opt_fields=opt_fields) + print("The response of RunsApi->compute_fold_change_for_blank_subtraction:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RunsApi->compute_fold_change_for_blank_subtraction: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to compute the fold change in. | + **sample_type_fold_change_request** | [**SampleTypeFoldChangeRequest**](SampleTypeFoldChangeRequest.md)| request with lists of run IDs that are sample, blank, and control runs | + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| job opt fields. | [optional] [default to ["progress"]] + +### Return type + +[**Job**](Job.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_run_experimental** +> Run get_run_experimental(project_id, run_id, opt_fields=opt_fields) + +[EXPERIMENTAL] Get run with the given identifier from the specified project-space + +[EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.run import Run +from PySirius.models.run_opt_field import RunOptField +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + run_id = 'run_id_example' # str | identifier of run to access. + opt_fields = [] # List[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to []) + + try: + # [EXPERIMENTAL] Get run with the given identifier from the specified project-space + api_response = api_instance.get_run_experimental(project_id, run_id, opt_fields=opt_fields) + print("The response of RunsApi->get_run_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RunsApi->get_run_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **run_id** | **str**| identifier of run to access. | + **opt_fields** | [**List[RunOptField]**](RunOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**Run**](Run.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Run with tags (if specified). | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_run_page_experimental** +> PagedModelRun get_run_page_experimental(project_id, page=page, size=size, sort=sort, opt_fields=opt_fields) + +[EXPERIMENTAL] Get all available runs in the given project-space + +[EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.paged_model_run import PagedModelRun +from PySirius.models.run_opt_field import RunOptField +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + opt_fields = [] # List[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to []) + + try: + # [EXPERIMENTAL] Get all available runs in the given project-space + api_response = api_instance.get_run_page_experimental(project_id, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of RunsApi->get_run_page_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RunsApi->get_run_page_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | [**List[RunOptField]**](RunOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelRun**](PagedModelRun.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Runs with tags (if specified). | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_runs_by_group_experimental** +> PagedModelRun get_runs_by_group_experimental(project_id, group_name, page=page, size=size, sort=sort, opt_fields=opt_fields) + +[EXPERIMENTAL] Get runs by tag group + +[EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.paged_model_run import PagedModelRun +from PySirius.models.run_opt_field import RunOptField +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + group_name = 'group_name_example' # str | tag group name. + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + opt_fields = ["none"] # List[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + + try: + # [EXPERIMENTAL] Get runs by tag group + api_response = api_instance.get_runs_by_group_experimental(project_id, group_name, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of RunsApi->get_runs_by_group_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RunsApi->get_runs_by_group_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **group_name** | **str**| tag group name. | + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | [**List[RunOptField]**](RunOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + +### Return type + +[**PagedModelRun**](PagedModelRun.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | tagged runs | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_runs_by_tag_experimental** +> PagedModelRun get_runs_by_tag_experimental(project_id, filter=filter, page=page, size=size, sort=sort, opt_fields=opt_fields) + +[EXPERIMENTAL] Get runs by tag + +[EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.paged_model_run import PagedModelRun +from PySirius.models.run_opt_field import RunOptField +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project space to get runs from. + filter = '' # str | tag filter. (optional) (default to '') + page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) + size = 20 # int | The size of the page to be returned (optional) (default to 20) + sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) + opt_fields = [] # List[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to []) + + try: + # [EXPERIMENTAL] Get runs by tag + api_response = api_instance.get_runs_by_tag_experimental(project_id, filter=filter, page=page, size=size, sort=sort, opt_fields=opt_fields) + print("The response of RunsApi->get_runs_by_tag_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RunsApi->get_runs_by_tag_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project space to get runs from. | + **filter** | **str**| tag filter. | [optional] [default to ''] + **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **int**| The size of the page to be returned | [optional] [default to 20] + **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | [**List[RunOptField]**](RunOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelRun**](PagedModelRun.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | tagged runs | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_tags_for_run_experimental** +> List[Tag] get_tags_for_run_experimental(project_id, object_id) + +[EXPERIMENTAL] Get all tags associated with this Run + +[EXPERIMENTAL] Get all tags associated with this Run + +### Example + + +```python +import PySirius +from PySirius.models.tag import Tag +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project-space to get from. + object_id = 'object_id_example' # str | RunId to get tags for. + + try: + # [EXPERIMENTAL] Get all tags associated with this Run + api_response = api_instance.get_tags_for_run_experimental(project_id, object_id) + print("The response of RunsApi->get_tags_for_run_experimental:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RunsApi->get_tags_for_run_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to get from. | + **object_id** | **str**| RunId to get tags for. | + +### Return type + +[**List[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the tags of the requested object | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **remove_tag_from_run_experimental** +> remove_tag_from_run_experimental(project_id, run_id, tag_name) + +[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + +[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.RunsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + run_id = 'run_id_example' # str | run to delete tag from. + tag_name = 'tag_name_example' # str | name of the tag to delete. + + try: + # [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + api_instance.remove_tag_from_run_experimental(project_id, run_id, tag_name) + except Exception as e: + print("Exception when calling RunsApi->remove_tag_from_run_experimental: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **run_id** | **str**| run to delete tag from. | + **tag_name** | **str**| name of the tag to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/client-api_python/generated/docs/SampleTypeFoldChangeRequest.md b/client-api_python/generated/docs/SampleTypeFoldChangeRequest.md new file mode 100644 index 00000000..f7481ffc --- /dev/null +++ b/client-api_python/generated/docs/SampleTypeFoldChangeRequest.md @@ -0,0 +1,31 @@ +# SampleTypeFoldChangeRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sample_run_ids** | **List[str]** | | [optional] +**blank_run_ids** | **List[str]** | | [optional] +**control_run_ids** | **List[str]** | | [optional] + +## Example + +```python +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SampleTypeFoldChangeRequest from a JSON string +sample_type_fold_change_request_instance = SampleTypeFoldChangeRequest.from_json(json) +# print the JSON string representation of the object +print(SampleTypeFoldChangeRequest.to_json()) + +# convert the object into a dict +sample_type_fold_change_request_dict = sample_type_fold_change_request_instance.to_dict() +# create an instance of SampleTypeFoldChangeRequest from a dict +sample_type_fold_change_request_from_dict = SampleTypeFoldChangeRequest.from_dict(sample_type_fold_change_request_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/SearchableDatabasesApi.md b/client-api_python/generated/docs/SearchableDatabasesApi.md index 421931ac..8cd0511a 100644 --- a/client-api_python/generated/docs/SearchableDatabasesApi.md +++ b/client-api_python/generated/docs/SearchableDatabasesApi.md @@ -416,7 +416,7 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **import_into_database** -> SearchableDatabase import_into_database(database_id, buffer_size=buffer_size, input_files=input_files) +> SearchableDatabase import_into_database(database_id, input_files, buffer_size=buffer_size, bio_transformer_parameters=bio_transformer_parameters) Start import of structure and spectra files into the specified database. @@ -427,6 +427,7 @@ Start import of structure and spectra files into the specified database. ```python import PySirius +from PySirius.models.bio_transformer_parameters import BioTransformerParameters from PySirius.models.searchable_database import SearchableDatabase from PySirius.rest import ApiException from pprint import pprint @@ -443,12 +444,13 @@ with PySirius.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = PySirius.SearchableDatabasesApi(api_client) database_id = 'database_id_example' # str | database to import into + input_files = None # List[bytearray] | files to be imported buffer_size = 1000 # int | (optional) (default to 1000) - input_files = None # List[bytearray] | (optional) + bio_transformer_parameters = PySirius.BioTransformerParameters() # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (optional) try: # Start import of structure and spectra files into the specified database. - api_response = api_instance.import_into_database(database_id, buffer_size=buffer_size, input_files=input_files) + api_response = api_instance.import_into_database(database_id, input_files, buffer_size=buffer_size, bio_transformer_parameters=bio_transformer_parameters) print("The response of SearchableDatabasesApi->import_into_database:\n") pprint(api_response) except Exception as e: @@ -463,8 +465,9 @@ with PySirius.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **database_id** | **str**| database to import into | + **input_files** | **List[bytearray]**| files to be imported | **buffer_size** | **int**| | [optional] [default to 1000] - **input_files** | **List[bytearray]**| | [optional] + **bio_transformer_parameters** | [**BioTransformerParameters**](BioTransformerParameters.md)| configuration for biotransformer execution. If null, BioTransformer is not applied. | [optional] ### Return type @@ -483,7 +486,7 @@ No authorization required | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | Job of the import command to be executed. | - | +**200** | Meta-Information of the affected database after the import has been performed. | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/SecurityContext.md b/client-api_python/generated/docs/SecurityContext.md new file mode 100644 index 00000000..e377f8b6 --- /dev/null +++ b/client-api_python/generated/docs/SecurityContext.md @@ -0,0 +1,29 @@ +# SecurityContext + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**principal** | [**SecurityContextPrincipal**](SecurityContextPrincipal.md) | | [optional] + +## Example + +```python +from PySirius.models.security_context import SecurityContext + +# TODO update the JSON string below +json = "{}" +# create an instance of SecurityContext from a JSON string +security_context_instance = SecurityContext.from_json(json) +# print the JSON string representation of the object +print(SecurityContext.to_json()) + +# convert the object into a dict +security_context_dict = security_context_instance.to_dict() +# create an instance of SecurityContext from a dict +security_context_from_dict = SecurityContext.from_dict(security_context_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/SecurityContextPrincipal.md b/client-api_python/generated/docs/SecurityContextPrincipal.md new file mode 100644 index 00000000..986e1d22 --- /dev/null +++ b/client-api_python/generated/docs/SecurityContextPrincipal.md @@ -0,0 +1,29 @@ +# SecurityContextPrincipal + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] + +## Example + +```python +from PySirius.models.security_context_principal import SecurityContextPrincipal + +# TODO update the JSON string below +json = "{}" +# create an instance of SecurityContextPrincipal from a JSON string +security_context_principal_instance = SecurityContextPrincipal.from_json(json) +# print the JSON string representation of the object +print(SecurityContextPrincipal.to_json()) + +# convert the object into a dict +security_context_principal_dict = security_context_principal_instance.to_dict() +# create an instance of SecurityContextPrincipal from a dict +security_context_principal_from_dict = SecurityContextPrincipal.from_dict(security_context_principal_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/Sirius.md b/client-api_python/generated/docs/Sirius.md index 3a0c49ba..514948ee 100644 --- a/client-api_python/generated/docs/Sirius.md +++ b/client-api_python/generated/docs/Sirius.md @@ -7,22 +7,22 @@ User/developer friendly parameter subset for the Formula/SIRIUS tool Can use re Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **bool** | tags whether the tool is enabled | [optional] -**profile** | [**InstrumentProfile**](InstrumentProfile.md) | | [optional] +**profile** | [**InstrumentProfile**](InstrumentProfile.md) | Instrument specific profile for internal algorithms Just select what comes closest to the instrument that was used for measuring the data. | [optional] **number_of_candidates** | **int** | Number of formula candidates to keep as result list (Formula Candidates). | [optional] **number_of_candidates_per_ionization** | **int** | Use this parameter if you want to force SIRIUS to report at least NumberOfCandidatesPerIonization results per ionization. if <= 0, this parameter will have no effect and just the top NumberOfCandidates results will be reported. | [optional] **mass_accuracy_ms2ppm** | **float** | Maximum allowed mass deviation. Only molecular formulas within this mass window are considered. | [optional] -**isotope_ms2_settings** | [**IsotopeMs2Strategy**](IsotopeMs2Strategy.md) | | [optional] +**isotope_ms2_settings** | [**IsotopeMs2Strategy**](IsotopeMs2Strategy.md) | Specify how isotope patterns in MS/MS should be handled. <p> FILTER: When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score. <p> SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns <p> IGNORE: Ignore that there might be isotope patterns in MS/MS | [optional] **filter_by_isotope_pattern** | **bool** | When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score. | [optional] **enforce_el_gordo_formula** | **bool** | El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate. | [optional] **perform_bottom_up_search** | **bool** | If true, molecular formula generation via bottom up search is enabled. | [optional] **perform_denovo_below_mz** | **float** | Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation. | [optional] -**formula_search_dbs** | **List[Optional[str]]** | List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason. | [optional] +**formula_search_dbs** | **List[str]** | List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason. | [optional] **apply_formula_constraints_to_db_and_bottom_up_search** | **bool** | By default, the formula (element) constraints are only applied to de novo molecular formula generation. If true, the constraints are as well applied to database search and bottom up search. | [optional] **enforced_formula_constraints** | **str** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Enforced: Enforced elements are always considered | [optional] **fallback_formula_constraints** | **str** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) | [optional] -**detectable_elements** | **List[Optional[str]]** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) | [optional] -**ilp_timeout** | [**Timeout**](Timeout.md) | | [optional] -**use_heuristic** | [**UseHeuristic**](UseHeuristic.md) | | [optional] +**detectable_elements** | **List[str]** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) | [optional] +**ilp_timeout** | [**Timeout**](Timeout.md) | Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint | [optional] +**use_heuristic** | [**UseHeuristic**](UseHeuristic.md) | Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. | [optional] **inject_spec_lib_match_formulas** | **bool** | If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied | [optional] **min_score_to_inject_spec_lib_match** | **float** | Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. | [optional] **min_peaks_to_inject_spec_lib_match** | **int** | Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. | [optional] diff --git a/client-api_python/generated/docs/SpectralLibraryMatch.md b/client-api_python/generated/docs/SpectralLibraryMatch.md index aff6bd24..27d73ba6 100644 --- a/client-api_python/generated/docs/SpectralLibraryMatch.md +++ b/client-api_python/generated/docs/SpectralLibraryMatch.md @@ -7,8 +7,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **spec_match_id** | **str** | | [optional] **rank** | **int** | | [optional] -**similarity** | **float** | | -**shared_peaks** | **int** | | [optional] +**similarity** | **float** | Similarity between query and reference spectrum | +**shared_peaks** | **int** | Number of shared/matched peaks | [optional] +**shared_peak_mapping** | [**List[PeakPair]**](PeakPair.md) | List of paired/matched peak indices. Maps indices of peaks from the query spectrum (mass sorted) to indices of matched peaks in the reference spectrum (mass sorted) | [optional] **query_spectrum_index** | **int** | | **db_name** | **str** | | [optional] **db_id** | **str** | | [optional] @@ -16,10 +17,13 @@ Name | Type | Description | Notes **splash** | **str** | | [optional] **molecular_formula** | **str** | | [optional] **adduct** | **str** | | [optional] -**exact_mass** | **str** | | [optional] +**exact_mass** | **float** | | [optional] **smiles** | **str** | | [optional] +**type** | [**SpectralMatchType**](SpectralMatchType.md) | | [optional] **inchi_key** | **str** | | +**reference_spectrum_type** | [**SpectrumType**](SpectrumType.md) | | [optional] **reference_spectrum** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] +**query_spectrum_type** | [**SpectrumType**](SpectrumType.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/SpectralLibrarySearch.md b/client-api_python/generated/docs/SpectralLibrarySearch.md index 1bb52697..498bf621 100644 --- a/client-api_python/generated/docs/SpectralLibrarySearch.md +++ b/client-api_python/generated/docs/SpectralLibrarySearch.md @@ -7,10 +7,15 @@ User/developer friendly parameter subset for the Spectral library search tool. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **bool** | tags whether the tool is enabled | [optional] -**spectra_search_dbs** | **List[Optional[str]]** | Structure Databases with Reference spectra to search in. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] -**peak_deviation_ppm** | **float** | Maximum allowed mass deviation in ppm for matching peaks. | [optional] +**spectra_search_dbs** | **List[str]** | Structure Databases with Reference spectra to search in. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] **precursor_deviation_ppm** | **float** | Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used. | [optional] -**scoring** | [**SpectralMatchingType**](SpectralMatchingType.md) | | [optional] +**min_similarity** | **float** | Minimal spectral similarity of a spectral match to be considered a hit. | [optional] +**min_num_of_peaks** | **int** | Minimal number of matching peaks of a spectral match to be considered a hit. | [optional] +**enable_analogue_search** | **bool** | Enable analogue search in addition to the identity spectral library search | [optional] +**min_similarity_analogue** | **float** | Minimal spectral similarity of a spectral match to be considered an analogue hit. | [optional] +**min_num_of_peaks_analogue** | **int** | Minimal number of matching peaks of a spectral match to be considered an analogue hit. | [optional] +**scoring** | [**SpectralMatchingType**](SpectralMatchingType.md) | NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. | [optional] +**peak_deviation_ppm** | **float** | NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks. | [optional] ## Example diff --git a/client-api_python/generated/docs/SpectralMatchType.md b/client-api_python/generated/docs/SpectralMatchType.md new file mode 100644 index 00000000..ef528a52 --- /dev/null +++ b/client-api_python/generated/docs/SpectralMatchType.md @@ -0,0 +1,12 @@ +# SpectralMatchType + + +## Enum + +* `IDENTITY` (value: `'IDENTITY'`) + +* `ANALOG` (value: `'ANALOG'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/SpectralMatchingType.md b/client-api_python/generated/docs/SpectralMatchingType.md index 717fb5e3..8b26b90f 100644 --- a/client-api_python/generated/docs/SpectralMatchingType.md +++ b/client-api_python/generated/docs/SpectralMatchingType.md @@ -9,6 +9,8 @@ * `MODIFIED_COSINE` (value: `'MODIFIED_COSINE'`) +* `FAST_COSINE` (value: `'FAST_COSINE'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/SpectrumAnnotation.md b/client-api_python/generated/docs/SpectrumAnnotation.md index 24073e29..65643ae1 100644 --- a/client-api_python/generated/docs/SpectrumAnnotation.md +++ b/client-api_python/generated/docs/SpectrumAnnotation.md @@ -10,8 +10,10 @@ Name | Type | Description | Notes **exact_mass** | **float** | Exact mass based on the annotated molecular formula and ionization | [optional] **mass_deviation_mz** | **float** | Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa | [optional] **mass_deviation_ppm** | **float** | Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm | [optional] -**structure_annotation_smiles** | **str** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. Null if substructure annotation not available or not requested. | [optional] -**structure_annotation_score** | **float** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) Null if substructure annotation not available or not requested. | [optional] +**structure_annotation_smiles** | **str** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. <p> Null if substructure annotation not available or not requested. | [optional] +**structure_annotation_name** | **str** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation. <p> Null if substructure annotation not available or not requested. | [optional] +**structure_annotation_svg** | **str** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refers to this SVG. <p> Null if substructure annotation not available or not requested. | [optional] +**structure_annotation_score** | **float** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) <p> Null if substructure annotation not available or not requested. | [optional] ## Example diff --git a/client-api_python/generated/docs/SpectrumType.md b/client-api_python/generated/docs/SpectrumType.md new file mode 100644 index 00000000..cd21e901 --- /dev/null +++ b/client-api_python/generated/docs/SpectrumType.md @@ -0,0 +1,12 @@ +# SpectrumType + + +## Enum + +* `SPECTRUM` (value: `'SPECTRUM'`) + +* `MERGED_SPECTRUM` (value: `'MERGED_SPECTRUM'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/StatisticsTable.md b/client-api_python/generated/docs/StatisticsTable.md new file mode 100644 index 00000000..9d6fbcf2 --- /dev/null +++ b/client-api_python/generated/docs/StatisticsTable.md @@ -0,0 +1,37 @@ +# StatisticsTable + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**statistics_type** | [**StatisticsType**](StatisticsType.md) | | [optional] +**aggregation_type** | [**AggregationType**](AggregationType.md) | | [optional] +**quantification_measure** | [**QuantMeasure**](QuantMeasure.md) | | [optional] +**row_type** | [**QuantRowType**](QuantRowType.md) | | [optional] +**row_ids** | **List[str]** | | [optional] +**column_names** | **List[str]** | | [optional] +**column_left_groups** | **List[str]** | | [optional] +**column_right_groups** | **List[str]** | | [optional] +**values** | **List[List[float]]** | | [optional] + +## Example + +```python +from PySirius.models.statistics_table import StatisticsTable + +# TODO update the JSON string below +json = "{}" +# create an instance of StatisticsTable from a JSON string +statistics_table_instance = StatisticsTable.from_json(json) +# print the JSON string representation of the object +print(StatisticsTable.to_json()) + +# convert the object into a dict +statistics_table_dict = statistics_table_instance.to_dict() +# create an instance of StatisticsTable from a dict +statistics_table_from_dict = StatisticsTable.from_dict(statistics_table_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/QuantificationMeasure.md b/client-api_python/generated/docs/StatisticsType.md similarity index 73% rename from client-api_python/generated/docs/QuantificationMeasure.md rename to client-api_python/generated/docs/StatisticsType.md index 541b3676..58246e2d 100644 --- a/client-api_python/generated/docs/QuantificationMeasure.md +++ b/client-api_python/generated/docs/StatisticsType.md @@ -1,9 +1,9 @@ -# QuantificationMeasure +# StatisticsType ## Enum -* `APEX_HEIGHT` (value: `'APEX_HEIGHT'`) +* `FOLD_CHANGE` (value: `'FOLD_CHANGE'`) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/StoredJobSubmission.md b/client-api_python/generated/docs/StoredJobSubmission.md index 0906796f..71e99e50 100644 --- a/client-api_python/generated/docs/StoredJobSubmission.md +++ b/client-api_python/generated/docs/StoredJobSubmission.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **str** | Unique name to identify this JobSubmission (job config). | **editable** | **bool** | False for predefined configs which are not editable and not removable. | -**job_submission** | [**JobSubmission**](JobSubmission.md) | | +**job_submission** | [**JobSubmission**](JobSubmission.md) | The JobSubmission identified by the name | ## Example diff --git a/client-api_python/generated/docs/StructureCandidate.md b/client-api_python/generated/docs/StructureCandidate.md index 26143f95..7a826798 100644 --- a/client-api_python/generated/docs/StructureCandidate.md +++ b/client-api_python/generated/docs/StructureCandidate.md @@ -8,9 +8,10 @@ Name | Type | Description | Notes **inchi_key** | **str** | | [optional] **smiles** | **str** | | [optional] **structure_name** | **str** | | [optional] -**xlog_p** | **float** | | [optional] +**structure_svg** | **str** | SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter | [optional] **db_links** | [**List[DBLink]**](DBLink.md) | List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] **spectral_library_matches** | [**List[SpectralLibraryMatch]**](SpectralLibraryMatch.md) | List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] +**xlog_p** | **float** | | [optional] ## Example diff --git a/client-api_python/generated/docs/StructureCandidateFormula.md b/client-api_python/generated/docs/StructureCandidateFormula.md index 3f307dd7..ac88321a 100644 --- a/client-api_python/generated/docs/StructureCandidateFormula.md +++ b/client-api_python/generated/docs/StructureCandidateFormula.md @@ -8,14 +8,15 @@ Name | Type | Description | Notes **inchi_key** | **str** | | [optional] **smiles** | **str** | | [optional] **structure_name** | **str** | | [optional] -**xlog_p** | **float** | | [optional] +**structure_svg** | **str** | SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter | [optional] **db_links** | [**List[DBLink]**](DBLink.md) | List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] **spectral_library_matches** | [**List[SpectralLibraryMatch]**](SpectralLibraryMatch.md) | List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] +**xlog_p** | **float** | | [optional] **rank** | **int** | the overall rank of this candidate among all candidates of this feature | [optional] **csi_score** | **float** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimoto_similarity** | **float** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mces_dist_to_top_hit** | **float** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] **molecular_formula** | **str** | Molecular formula of this candidate | [optional] **adduct** | **str** | Adduct of this candidate | [optional] **formula_id** | **str** | Id of the corresponding Formula candidate | [optional] diff --git a/client-api_python/generated/docs/StructureCandidateOptField.md b/client-api_python/generated/docs/StructureCandidateOptField.md index b069a535..cd1a876a 100644 --- a/client-api_python/generated/docs/StructureCandidateOptField.md +++ b/client-api_python/generated/docs/StructureCandidateOptField.md @@ -11,6 +11,8 @@ * `LIBRARYMATCHES` (value: `'libraryMatches'`) +* `STRUCTURESVG` (value: `'structureSvg'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/client-api_python/generated/docs/StructureCandidateScored.md b/client-api_python/generated/docs/StructureCandidateScored.md index 3857f03a..58d4ae1d 100644 --- a/client-api_python/generated/docs/StructureCandidateScored.md +++ b/client-api_python/generated/docs/StructureCandidateScored.md @@ -8,14 +8,15 @@ Name | Type | Description | Notes **inchi_key** | **str** | | [optional] **smiles** | **str** | | [optional] **structure_name** | **str** | | [optional] -**xlog_p** | **float** | | [optional] +**structure_svg** | **str** | SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter | [optional] **db_links** | [**List[DBLink]**](DBLink.md) | List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] **spectral_library_matches** | [**List[SpectralLibraryMatch]**](SpectralLibraryMatch.md) | List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] +**xlog_p** | **float** | | [optional] **rank** | **int** | the overall rank of this candidate among all candidates of this feature | [optional] **csi_score** | **float** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimoto_similarity** | **float** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mces_dist_to_top_hit** | **float** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] ## Example diff --git a/client-api_python/generated/docs/StructureDbSearch.md b/client-api_python/generated/docs/StructureDbSearch.md index 0730dcea..cdfa3502 100644 --- a/client-api_python/generated/docs/StructureDbSearch.md +++ b/client-api_python/generated/docs/StructureDbSearch.md @@ -7,9 +7,9 @@ User/developer friendly parameter subset for the CSI:FingerID structure db searc Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **bool** | tags whether the tool is enabled | [optional] -**structure_search_dbs** | **List[Optional[str]]** | Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] +**structure_search_dbs** | **List[str]** | Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] **tag_structures_with_lipid_class** | **bool** | Candidates matching the lipid class estimated by El Gordo will be tagged. The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum. If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation tree, but the matching structure candidates will not be tagged if they match lipid class. | [optional] -**expansive_search_confidence_mode** | [**ConfidenceMode**](ConfidenceMode.md) | | [optional] +**expansive_search_confidence_mode** | [**ConfidenceMode**](ConfidenceMode.md) | Expansive search mode. Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was found in one of the specified databases (structureSearchDBs). <p> Possible Values OFF - No expansive search is performed EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification. APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification. | [optional] ## Example diff --git a/client-api_python/generated/docs/Subscription.md b/client-api_python/generated/docs/Subscription.md index 86f13995..415a7ad1 100644 --- a/client-api_python/generated/docs/Subscription.md +++ b/client-api_python/generated/docs/Subscription.md @@ -20,6 +20,7 @@ Name | Type | Description | Notes **name** | **str** | | [optional] **tos** | **str** | | [optional] **pp** | **str** | | [optional] +**allowed_features** | [**AllowedFeatures**](AllowedFeatures.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/Tag.md b/client-api_python/generated/docs/Tag.md new file mode 100644 index 00000000..08946d3b --- /dev/null +++ b/client-api_python/generated/docs/Tag.md @@ -0,0 +1,30 @@ +# Tag + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tag_name** | **str** | Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. | +**value** | **object** | | [optional] + +## Example + +```python +from PySirius.models.tag import Tag + +# TODO update the JSON string below +json = "{}" +# create an instance of Tag from a JSON string +tag_instance = Tag.from_json(json) +# print the JSON string representation of the object +print(Tag.to_json()) + +# convert the object into a dict +tag_dict = tag_instance.to_dict() +# create an instance of Tag from a dict +tag_from_dict = Tag.from_dict(tag_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/TagDefinition.md b/client-api_python/generated/docs/TagDefinition.md new file mode 100644 index 00000000..a5b592ee --- /dev/null +++ b/client-api_python/generated/docs/TagDefinition.md @@ -0,0 +1,36 @@ +# TagDefinition + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tag_name** | **str** | Name of this tag defined by this definition (key) | +**description** | **str** | A human-readable description about the purpose of this tag. | [optional] +**tag_type** | **str** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] +**value_type** | [**ValueType**](ValueType.md) | | +**possible_values** | **List[object]** | | [optional] +**min_value** | **object** | | [optional] +**max_value** | **object** | | [optional] +**editable** | **bool** | | [optional] + +## Example + +```python +from PySirius.models.tag_definition import TagDefinition + +# TODO update the JSON string below +json = "{}" +# create an instance of TagDefinition from a JSON string +tag_definition_instance = TagDefinition.from_json(json) +# print the JSON string representation of the object +print(TagDefinition.to_json()) + +# convert the object into a dict +tag_definition_dict = tag_definition_instance.to_dict() +# create an instance of TagDefinition from a dict +tag_definition_from_dict = TagDefinition.from_dict(tag_definition_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/TagDefinitionImport.md b/client-api_python/generated/docs/TagDefinitionImport.md new file mode 100644 index 00000000..7ba47332 --- /dev/null +++ b/client-api_python/generated/docs/TagDefinitionImport.md @@ -0,0 +1,35 @@ +# TagDefinitionImport + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tag_name** | **str** | Name of this tag defined by this definition (key) | +**description** | **str** | A human-readable description about the purpose of this tag. | [optional] +**tag_type** | **str** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] +**value_type** | [**ValueType**](ValueType.md) | | +**possible_values** | **List[object]** | | [optional] +**min_value** | **object** | | [optional] +**max_value** | **object** | | [optional] + +## Example + +```python +from PySirius.models.tag_definition_import import TagDefinitionImport + +# TODO update the JSON string below +json = "{}" +# create an instance of TagDefinitionImport from a JSON string +tag_definition_import_instance = TagDefinitionImport.from_json(json) +# print the JSON string representation of the object +print(TagDefinitionImport.to_json()) + +# convert the object into a dict +tag_definition_import_dict = tag_definition_import_instance.to_dict() +# create an instance of TagDefinitionImport from a dict +tag_definition_import_from_dict = TagDefinitionImport.from_dict(tag_definition_import_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/TagGroup.md b/client-api_python/generated/docs/TagGroup.md new file mode 100644 index 00000000..0cd70b7a --- /dev/null +++ b/client-api_python/generated/docs/TagGroup.md @@ -0,0 +1,31 @@ +# TagGroup + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**group_name** | **str** | Name of this Grouping query. | [optional] +**lucene_query** | **str** | Query used to group the entities in lucene format. | [optional] +**group_type** | **str** | | [optional] + +## Example + +```python +from PySirius.models.tag_group import TagGroup + +# TODO update the JSON string below +json = "{}" +# create an instance of TagGroup from a JSON string +tag_group_instance = TagGroup.from_json(json) +# print the JSON string representation of the object +print(TagGroup.to_json()) + +# convert the object into a dict +tag_group_dict = tag_group_instance.to_dict() +# create an instance of TagGroup from a dict +tag_group_from_dict = TagGroup.from_dict(tag_group_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/TagsApi.md b/client-api_python/generated/docs/TagsApi.md new file mode 100644 index 00000000..f294ec96 --- /dev/null +++ b/client-api_python/generated/docs/TagsApi.md @@ -0,0 +1,648 @@ +# PySirius.TagsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_group**](TagsApi.md#add_group) | **POST** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Group tags in the project +[**add_possible_values_to_tag_definition**](TagsApi.md#add_possible_values_to_tag_definition) | **PATCH** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Add a possible value to the tag definition in the project +[**create_tags**](TagsApi.md#create_tags) | **PUT** /api/projects/{projectId}/tags | [EXPERIMENTAL] Add tags to the project +[**delete_group**](TagsApi.md#delete_group) | **DELETE** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +[**delete_tag**](TagsApi.md#delete_tag) | **DELETE** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +[**get_group_by_name**](TagsApi.md#get_group_by_name) | **GET** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Get tag group by name in the given project-space +[**get_groups**](TagsApi.md#get_groups) | **GET** /api/projects/{projectId}/groups | [EXPERIMENTAL] Get all tag based groups in the given project-space +[**get_tag**](TagsApi.md#get_tag) | **GET** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Get tag definition by its name in the given project-space +[**get_tags**](TagsApi.md#get_tags) | **GET** /api/projects/{projectId}/tags | [EXPERIMENTAL] Get all tag definitions in the given project-space + + +# **add_group** +> TagGroup add_group(project_id, group_name, filter, type) + +[EXPERIMENTAL] Group tags in the project + +[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag_group import TagGroup +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to add to. + group_name = 'group_name_example' # str | name of the new group + filter = 'filter_example' # str | filter query to create the group + type = 'type_example' # str | type of the group + + try: + # [EXPERIMENTAL] Group tags in the project + api_response = api_instance.add_group(project_id, group_name, filter, type) + print("The response of TagsApi->add_group:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->add_group: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to add to. | + **group_name** | **str**| name of the new group | + **filter** | **str**| filter query to create the group | + **type** | **str**| type of the group | + +### Return type + +[**TagGroup**](TagGroup.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the tag group that was added | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **add_possible_values_to_tag_definition** +> TagDefinition add_possible_values_to_tag_definition(project_id, tag_name, request_body) + +[EXPERIMENTAL] Add a possible value to the tag definition in the project + +[EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag_definition import TagDefinition +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to add to. + tag_name = 'tag_name_example' # str | the tag definition to add the values to + request_body = None # List[object] | + + try: + # [EXPERIMENTAL] Add a possible value to the tag definition in the project + api_response = api_instance.add_possible_values_to_tag_definition(project_id, tag_name, request_body) + print("The response of TagsApi->add_possible_values_to_tag_definition:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->add_possible_values_to_tag_definition: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to add to. | + **tag_name** | **str**| the tag definition to add the values to | + **request_body** | [**List[object]**](object.md)| | + +### Return type + +[**TagDefinition**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the definitions of the tags that have been added | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_tags** +> List[TagDefinition] create_tags(project_id, tag_definition_import) + +[EXPERIMENTAL] Add tags to the project + +[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag_definition import TagDefinition +from PySirius.models.tag_definition_import import TagDefinitionImport +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to add to. + tag_definition_import = [PySirius.TagDefinitionImport()] # List[TagDefinitionImport] | the tag definitions to be created + + try: + # [EXPERIMENTAL] Add tags to the project + api_response = api_instance.create_tags(project_id, tag_definition_import) + print("The response of TagsApi->create_tags:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->create_tags: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to add to. | + **tag_definition_import** | [**List[TagDefinitionImport]**](TagDefinitionImport.md)| the tag definitions to be created | + +### Return type + +[**List[TagDefinition]**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | the definitions of the tags that have been created | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_group** +> delete_group(project_id, group_name) + +[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + +[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + group_name = 'group_name_example' # str | name of group to delete. + + try: + # [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + api_instance.delete_group(project_id, group_name) + except Exception as e: + print("Exception when calling TagsApi->delete_group: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **group_name** | **str**| name of group to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_tag** +> delete_tag(project_id, tag_name) + +[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + +[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to delete from. + tag_name = 'tag_name_example' # str | name of the tag definition to delete. + + try: + # [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + api_instance.delete_tag(project_id, tag_name) + except Exception as e: + print("Exception when calling TagsApi->delete_tag: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to delete from. | + **tag_name** | **str**| name of the tag definition to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_group_by_name** +> TagGroup get_group_by_name(project_id, group_name) + +[EXPERIMENTAL] Get tag group by name in the given project-space + +[EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag_group import TagGroup +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + group_name = 'group_name_example' # str | name of the group + + try: + # [EXPERIMENTAL] Get tag group by name in the given project-space + api_response = api_instance.get_group_by_name(project_id, group_name) + print("The response of TagsApi->get_group_by_name:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->get_group_by_name: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **group_name** | **str**| name of the group | + +### Return type + +[**TagGroup**](TagGroup.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Tag group. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_groups** +> List[TagGroup] get_groups(project_id, group_type=group_type) + +[EXPERIMENTAL] Get all tag based groups in the given project-space + +[EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag_group import TagGroup +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + group_type = 'group_type_example' # str | type of the group (optional) + + try: + # [EXPERIMENTAL] Get all tag based groups in the given project-space + api_response = api_instance.get_groups(project_id, group_type=group_type) + print("The response of TagsApi->get_groups:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->get_groups: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **group_type** | **str**| type of the group | [optional] + +### Return type + +[**List[TagGroup]**](TagGroup.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Groups. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_tag** +> TagDefinition get_tag(project_id, tag_name) + +[EXPERIMENTAL] Get tag definition by its name in the given project-space + +[EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag_definition import TagDefinition +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + tag_name = 'tag_name_example' # str | name of the tag + + try: + # [EXPERIMENTAL] Get tag definition by its name in the given project-space + api_response = api_instance.get_tag(project_id, tag_name) + print("The response of TagsApi->get_tag:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->get_tag: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **tag_name** | **str**| name of the tag | + +### Return type + +[**TagDefinition**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Tag definition. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_tags** +> List[TagDefinition] get_tags(project_id, tag_type=tag_type) + +[EXPERIMENTAL] Get all tag definitions in the given project-space + +[EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example + + +```python +import PySirius +from PySirius.models.tag_definition import TagDefinition +from PySirius.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost:8080 +# See configuration.py for a list of all supported configuration parameters. +configuration = PySirius.Configuration( + host = "http://localhost:8080" +) + + +# Enter a context with an instance of the API client +with PySirius.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = PySirius.TagsApi(api_client) + project_id = 'project_id_example' # str | project-space to read from. + tag_type = 'tag_type_example' # str | scope of the tag (optional) (optional) + + try: + # [EXPERIMENTAL] Get all tag definitions in the given project-space + api_response = api_instance.get_tags(project_id, tag_type=tag_type) + print("The response of TagsApi->get_tags:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->get_tags: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| project-space to read from. | + **tag_type** | **str**| scope of the tag (optional) | [optional] + +### Return type + +[**List[TagDefinition]**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Tag definitions. | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/client-api_python/generated/docs/TraceExperimental.md b/client-api_python/generated/docs/TraceExperimental.md index 1cc6c10e..cf20876a 100644 --- a/client-api_python/generated/docs/TraceExperimental.md +++ b/client-api_python/generated/docs/TraceExperimental.md @@ -10,6 +10,7 @@ Name | Type | Description | Notes **sample_id** | **str** | | [optional] **sample_name** | **str** | | [optional] **label** | **str** | | [optional] +**color** | **str** | | [optional] **intensities** | **List[float]** | | [optional] **annotations** | [**List[TraceAnnotationExperimental]**](TraceAnnotationExperimental.md) | | [optional] **mz** | **float** | | [optional] diff --git a/client-api_python/generated/docs/ValueType.md b/client-api_python/generated/docs/ValueType.md new file mode 100644 index 00000000..15337e4a --- /dev/null +++ b/client-api_python/generated/docs/ValueType.md @@ -0,0 +1,22 @@ +# ValueType + + +## Enum + +* `NONE` (value: `'NONE'`) + +* `BOOLEAN` (value: `'BOOLEAN'`) + +* `INTEGER` (value: `'INTEGER'`) + +* `REAL` (value: `'REAL'`) + +* `TEXT` (value: `'TEXT'`) + +* `DATE` (value: `'DATE'`) + +* `TIME` (value: `'TIME'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/WebServerNamespace.md b/client-api_python/generated/docs/WebServerNamespace.md new file mode 100644 index 00000000..e7699298 --- /dev/null +++ b/client-api_python/generated/docs/WebServerNamespace.md @@ -0,0 +1,29 @@ +# WebServerNamespace + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | | [optional] + +## Example + +```python +from PySirius.models.web_server_namespace import WebServerNamespace + +# TODO update the JSON string below +json = "{}" +# create an instance of WebServerNamespace from a JSON string +web_server_namespace_instance = WebServerNamespace.from_json(json) +# print the JSON string representation of the object +print(WebServerNamespace.to_json()) + +# convert the object into a dict +web_server_namespace_dict = web_server_namespace_instance.to_dict() +# create an instance of WebServerNamespace from a dict +web_server_namespace_from_dict = WebServerNamespace.from_dict(web_server_namespace_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/Zodiac.md b/client-api_python/generated/docs/Zodiac.md index 0413fb38..e9238ad7 100644 --- a/client-api_python/generated/docs/Zodiac.md +++ b/client-api_python/generated/docs/Zodiac.md @@ -10,8 +10,10 @@ Name | Type | Description | Notes **considered_candidates_at300_mz** | **int** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. | [optional] **considered_candidates_at800_mz** | **int** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. | [optional] **run_in_two_steps** | **bool** | As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. | [optional] -**edge_filter_thresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | | [optional] -**gibbs_sampler_parameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | | [optional] +**edge_filter_thresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. | [optional] +**gibbs_sampler_parameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. | [optional] +**library_search_anchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | Configure the use of identity spectral library search results as anchors in ZODIAC network | [optional] +**analogue_search_anchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | Configure the use of analogue spectral library search results as anchors in ZODIAC network | [optional] ## Example diff --git a/client-api_python/generated/docs/ZodiacAnalogueNodes.md b/client-api_python/generated/docs/ZodiacAnalogueNodes.md new file mode 100644 index 00000000..c9e4fa0e --- /dev/null +++ b/client-api_python/generated/docs/ZodiacAnalogueNodes.md @@ -0,0 +1,31 @@ +# ZodiacAnalogueNodes + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | | [optional] +**min_similarity** | **float** | | [optional] +**min_shared_peaks** | **int** | | [optional] + +## Example + +```python +from PySirius.models.zodiac_analogue_nodes import ZodiacAnalogueNodes + +# TODO update the JSON string below +json = "{}" +# create an instance of ZodiacAnalogueNodes from a JSON string +zodiac_analogue_nodes_instance = ZodiacAnalogueNodes.from_json(json) +# print the JSON string representation of the object +print(ZodiacAnalogueNodes.to_json()) + +# convert the object into a dict +zodiac_analogue_nodes_dict = zodiac_analogue_nodes_instance.to_dict() +# create an instance of ZodiacAnalogueNodes from a dict +zodiac_analogue_nodes_from_dict = ZodiacAnalogueNodes.from_dict(zodiac_analogue_nodes_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/docs/ZodiacLibraryScoring.md b/client-api_python/generated/docs/ZodiacLibraryScoring.md new file mode 100644 index 00000000..51fa36ff --- /dev/null +++ b/client-api_python/generated/docs/ZodiacLibraryScoring.md @@ -0,0 +1,30 @@ +# ZodiacLibraryScoring + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | | [optional] +**min_similarity** | **float** | | [optional] + +## Example + +```python +from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring + +# TODO update the JSON string below +json = "{}" +# create an instance of ZodiacLibraryScoring from a JSON string +zodiac_library_scoring_instance = ZodiacLibraryScoring.from_json(json) +# print the JSON string representation of the object +print(ZodiacLibraryScoring.to_json()) + +# convert the object into a dict +zodiac_library_scoring_dict = zodiac_library_scoring_instance.to_dict() +# create an instance of ZodiacLibraryScoring from a dict +zodiac_library_scoring_from_dict = ZodiacLibraryScoring.from_dict(zodiac_library_scoring_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/client-api_python/generated/test/test_compounds_api.py b/client-api_python/generated/test/test_compounds_api.py index 717a90dc..a4e7141f 100644 --- a/client-api_python/generated/test/test_compounds_api.py +++ b/client-api_python/generated/test/test_compounds_api.py @@ -11,7 +11,6 @@ import os import json -import shutil import unittest import PySirius @@ -74,6 +73,7 @@ def test_add_compounds(self) -> None: """ pass + def test_delete_compound(self) -> None: """Test case for delete_compound @@ -118,14 +118,5 @@ def test_get_compounds_paged(self) -> None: response = self.api.compounds().get_compounds_paged(self.project_id) self.assertIsInstance(response, PagedModelCompound) - def test_get_traces(self) -> None: - """Test case for get_traces - - """ - # TODO "No trace information available for project id = test_compounds_api and compound id = 599595888450877371" - # compound_id = self.api.compounds().get_compounds(self.project_id)[0].compound_id - # response = self.api.compounds().get_traces(self.project_id, compound_id) - # self.assertIsInstance(response, TraceSet) - if __name__ == '__main__': unittest.main() diff --git a/client-api_python/generated/test/test_features_api.py b/client-api_python/generated/test/test_features_api.py index b77a323f..19a3e4db 100644 --- a/client-api_python/generated/test/test_features_api.py +++ b/client-api_python/generated/test/test_features_api.py @@ -12,7 +12,7 @@ import unittest from PySirius import SiriusSDK, PagedModelAlignedFeature, PagedModelStructureCandidateScored, \ - PagedModelStructureCandidateFormula, PagedModelFormulaCandidate, QuantificationTableExperimental, \ + PagedModelStructureCandidateFormula, PagedModelFormulaCandidate, QuantTableExperimental, \ PagedModelSpectralLibraryMatch, TraceSetExperimental from PySirius.models.aligned_feature import AlignedFeature from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData @@ -117,6 +117,13 @@ def test_delete_aligned_feature(self) -> None: self.api.projects().close_project(project_id) os.remove(project_info.location) + def test_delete_aligned_features(self) -> None: + """Test case for delete_aligned_features + + Delete feature (aligned over runs) with the given identifier from the specified project-space. + """ + pass + def test_get_aligned_feature(self) -> None: """Test case for get_aligned_feature @@ -284,13 +291,6 @@ def test_get_ms_data(self) -> None: # response = self.api.features().get_ms_data(self.project_id, self.aligned_feature_id) # self.assertIsInstance(response, MsData) - def test_get_quantification(self) -> None: - """Test case for get_quantification - - """ - response = self.api.features().get_quantification_experimental(self.project_id, self.aligned_feature_id) - self.assertIsInstance(response, QuantificationTableExperimental) - def test_get_spectral_library_match(self) -> None: """Test case for get_spectral_library_match @@ -323,20 +323,6 @@ def test_get_spectral_library_matches_summary(self) -> None: response = self.api.features().get_spectral_library_matches_summary(self.project_id, self.aligned_feature_id) self.assertIsInstance(response, SpectralLibraryMatchSummary) - def test_get_structure_annotated_ms_data(self) -> None: - """Test case for get_structure_annotated_ms_data - - Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. - """ - pass - - def test_get_structure_annotated_spectrum(self) -> None: - """Test case for get_structure_annotated_spectrum - - Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. - """ - pass - def test_get_structure_candidates(self) -> None: """Test case for get_structure_candidates @@ -374,13 +360,5 @@ def test_get_structure_candidates_paged(self) -> None: response = self.api.features().get_structure_candidates_paged(self.project_id, self.aligned_feature_id) self.assertIsInstance(response, PagedModelStructureCandidateFormula) - def test_get_traces1(self) -> None: - """Test case for get_traces1 - - """ - response = self.api.features().get_traces_experimental(self.project_id, self.aligned_feature_id) - self.assertIsInstance(response, TraceSetExperimental) - - if __name__ == '__main__': unittest.main() diff --git a/client-api_python/generated/test/test_jobs_api.py b/client-api_python/generated/test/test_jobs_api.py index 3298bcf2..7c38e9bf 100644 --- a/client-api_python/generated/test/test_jobs_api.py +++ b/client-api_python/generated/test/test_jobs_api.py @@ -96,6 +96,13 @@ def test_delete_jobs(self) -> None: self.assertIsInstance(response_after, list) self.assertEqual(len(response_after), 0) + def test_get_command(self) -> None: + """Test case for get_command + + Get a CLI command for the given job configuration. + """ + pass + def test_get_default_job_config(self) -> None: """Test case for get_default_job_config @@ -127,6 +134,13 @@ def test_get_job_config(self) -> None: self.assertIsInstance(response, StoredJobSubmission) + def test_get_job_config_names(self) -> None: + """Test case for get_job_config_names + + [DEPRECATED] Get all (non-default) job configuration names + """ + pass + def test_get_job_configs(self) -> None: """Test case for get_job_configs diff --git a/client-api_python/generated/test/test_projects_api.py b/client-api_python/generated/test/test_projects_api.py index 0848663f..74b0e7e4 100644 --- a/client-api_python/generated/test/test_projects_api.py +++ b/client-api_python/generated/test/test_projects_api.py @@ -50,6 +50,13 @@ def test_close_project(self) -> None: """ pass + def test_copy_project(self) -> None: + """Test case for copy_project + + DEPRECATED: this endpoint is based on local file paths and will likely be removed in future versions of this API. + """ + pass + def test_create_project(self) -> None: """Test case for create_project diff --git a/client-api_python/sirius_api.py b/client-api_python/sirius_api.py index 2d6496b4..7a9b7a46 100644 --- a/client-api_python/sirius_api.py +++ b/client-api_python/sirius_api.py @@ -8,25 +8,37 @@ class PySiriusAPI: def __init__(self, api_client): self.api_client = api_client - + def get_client(self): return self.api_client + def actuator(self): + """returns API endpoint of the ActuatorApi""" + return PySirius.ActuatorApi(self.api_client) + + def compound_statistics(self): + """returns API endpoint of the CompoundsStatisticsApi""" + return PySirius.CompoundStatisticsApi(self.api_client) + def compounds(self): """returns API endpoint of the CompoundsApi""" return PySirius.CompoundsApi(self.api_client) - def jobs(self): - """returns API endpoint of the JobsApi""" - return PySirius.JobsApi(self.api_client) + def feature_statistics(self): + """returns API endpoint of the FeaturesStatisticsApi""" + return PySirius.FeatureStatisticsApi(self.api_client) def features(self): """returns API endpoint of the FeaturesApi""" return PySirius.FeaturesApi(self.api_client) - def gui(self): - """returns API endpoint of the ExperimentalGUIApi""" - return PySirius.GuiApi(self.api_client) + def infos(self): + """returns API endpoint of the InfoApi""" + return PySirius.InfoApi(self.api_client) + + def jobs(self): + """returns API endpoint of the JobsApi""" + return PySirius.JobsApi(self.api_client) def account(self): """returns API endpoint of the LoginAndAccountApi""" @@ -36,14 +48,18 @@ def projects(self): """returns API endpoint of the ProjectsApi""" return PySirius.ProjectsApi(self.api_client) - def infos(self): - """returns API endpoint of the InfoApi""" - return PySirius.InfoApi(self.api_client) + def runs(self): + """returns API endpoint of the RunsApi""" + return PySirius.RunsApi(self.api_client) def databases(self): """returns API endpoint of the SearchableDatabasesApi""" return PySirius.SearchableDatabasesApi(self.api_client) + def tags(self): + """returns API endpoint of the TagsApi""" + return PySirius.TagsApi(self.api_client) + def models(self): """returns the Superclass of all models""" - return PySirius.models + return PySirius.models \ No newline at end of file diff --git a/client-api_r/generated/.openapi-generator/FILES b/client-api_r/generated/.openapi-generator/FILES index b846f935..0fe3244b 100644 --- a/client-api_r/generated/.openapi-generator/FILES +++ b/client-api_r/generated/.openapi-generator/FILES @@ -11,6 +11,7 @@ R/adduct_network_experimental.R R/adduct_node_experimental.R R/aligned_feature.R R/aligned_feature_quality_experimental.R +R/allowed_features.R R/annotated_ms_ms_data.R R/annotated_peak.R R/annotated_spectrum.R @@ -20,6 +21,8 @@ R/axes.R R/background_computations_state_event.R R/basic_spectrum.R R/binary_fingerprint.R +R/bio_transformer_parameters.R +R/bio_transformer_sequence_step.R R/canopus.R R/canopus_prediction.R R/category.R @@ -27,6 +30,7 @@ R/compound.R R/compound_class.R R/compound_classes.R R/compound_import.R +R/compound_statistics_api.R R/compounds_api.R R/computed_subtools.R R/connection_check.R @@ -38,13 +42,13 @@ R/db_link.R R/deviation.R R/feature_annotations.R R/feature_import.R +R/feature_statistics_api.R R/features_api.R R/fingerprint_prediction.R +R/fold_change.R R/formula_candidate.R R/fragment_node.R R/fragmentation_tree.R -R/gui_api.R -R/gui_info.R R/import_result.R R/info.R R/info_api.R @@ -65,26 +69,35 @@ R/paged_model_aligned_feature.R R/paged_model_compound.R R/paged_model_formula_candidate.R R/paged_model_job.R +R/paged_model_run.R R/paged_model_spectral_library_match.R R/paged_model_structure_candidate_formula.R R/paged_model_structure_candidate_scored.R R/parent_peak.R R/peak_annotation.R +R/peak_pair.R R/project_change_event.R R/project_info.R R/projects_api.R R/quality_item.R -R/quantification_table_experimental.R +R/quant_table_experimental.R R/rsirius_api.R +R/run.R +R/run_opt_field.R +R/runs_api.R +R/sample_type_fold_change_request.R R/searchable_database.R R/searchable_database_parameters.R R/searchable_databases_api.R +R/security_context.R +R/security_context_principal.R R/simple_peak.R R/sirius.R R/spectral_library_match.R R/spectral_library_match_summary.R R/spectral_library_search.R R/spectrum_annotation.R +R/statistics_table.R R/stored_job_submission.R R/structure_candidate.R R/structure_candidate_formula.R @@ -92,15 +105,23 @@ R/structure_candidate_scored.R R/structure_db_search.R R/subscription.R R/subscription_consumables.R +R/tag.R +R/tag_definition.R +R/tag_definition_import.R +R/tag_group.R +R/tags_api.R R/term.R R/timeout.R R/trace_annotation_experimental.R R/trace_experimental.R R/trace_set_experimental.R R/use_heuristic.R +R/web_server_namespace.R R/zodiac.R +R/zodiac_analogue_nodes.R R/zodiac_edge_filter_thresholds.R R/zodiac_epochs.R +R/zodiac_library_scoring.R README.md docs/AccountCredentials.md docs/AccountInfo.md @@ -110,6 +131,7 @@ docs/AdductNetworkExperimental.md docs/AdductNodeExperimental.md docs/AlignedFeature.md docs/AlignedFeatureQualityExperimental.md +docs/AllowedFeatures.md docs/AnnotatedMsMsData.md docs/AnnotatedPeak.md docs/AnnotatedSpectrum.md @@ -117,6 +139,8 @@ docs/Axes.md docs/BackgroundComputationsStateEvent.md docs/BasicSpectrum.md docs/BinaryFingerprint.md +docs/BioTransformerParameters.md +docs/BioTransformerSequenceStep.md docs/Canopus.md docs/CanopusPrediction.md docs/Category.md @@ -124,6 +148,7 @@ docs/Compound.md docs/CompoundClass.md docs/CompoundClasses.md docs/CompoundImport.md +docs/CompoundStatisticsApi.md docs/CompoundsApi.md docs/ComputedSubtools.md docs/ConnectionCheck.md @@ -135,13 +160,13 @@ docs/DataImportEvent.md docs/Deviation.md docs/FeatureAnnotations.md docs/FeatureImport.md +docs/FeatureStatisticsApi.md docs/FeaturesApi.md docs/FingerprintPrediction.md +docs/FoldChange.md docs/FormulaCandidate.md docs/FragmentNode.md docs/FragmentationTree.md -docs/GuiApi.md -docs/GuiInfo.md docs/ImportResult.md docs/Info.md docs/InfoApi.md @@ -162,25 +187,34 @@ docs/PagedModelAlignedFeature.md docs/PagedModelCompound.md docs/PagedModelFormulaCandidate.md docs/PagedModelJob.md +docs/PagedModelRun.md docs/PagedModelSpectralLibraryMatch.md docs/PagedModelStructureCandidateFormula.md docs/PagedModelStructureCandidateScored.md docs/ParentPeak.md docs/PeakAnnotation.md +docs/PeakPair.md docs/ProjectChangeEvent.md docs/ProjectInfo.md docs/ProjectsApi.md docs/QualityItem.md -docs/QuantificationTableExperimental.md +docs/QuantTableExperimental.md +docs/Run.md +docs/RunOptField.md +docs/RunsApi.md +docs/SampleTypeFoldChangeRequest.md docs/SearchableDatabase.md docs/SearchableDatabaseParameters.md docs/SearchableDatabasesApi.md +docs/SecurityContext.md +docs/SecurityContextPrincipal.md docs/SimplePeak.md docs/Sirius.md docs/SpectralLibraryMatch.md docs/SpectralLibraryMatchSummary.md docs/SpectralLibrarySearch.md docs/SpectrumAnnotation.md +docs/StatisticsTable.md docs/StoredJobSubmission.md docs/StructureCandidate.md docs/StructureCandidateFormula.md @@ -188,12 +222,20 @@ docs/StructureCandidateScored.md docs/StructureDbSearch.md docs/Subscription.md docs/SubscriptionConsumables.md +docs/Tag.md +docs/TagDefinition.md +docs/TagDefinitionImport.md +docs/TagGroup.md +docs/TagsApi.md docs/Term.md docs/Timeout.md docs/TraceAnnotationExperimental.md docs/TraceExperimental.md docs/TraceSetExperimental.md docs/UseHeuristic.md +docs/WebServerNamespace.md docs/Zodiac.md +docs/ZodiacAnalogueNodes.md docs/ZodiacEdgeFilterThresholds.md docs/ZodiacEpochs.md +docs/ZodiacLibraryScoring.md diff --git a/client-api_r/generated/NAMESPACE b/client-api_r/generated/NAMESPACE index e0922a08..c998f4b4 100644 --- a/client-api_r/generated/NAMESPACE +++ b/client-api_r/generated/NAMESPACE @@ -22,6 +22,7 @@ export(AdductNetworkExperimental) export(AdductNodeExperimental) export(AlignedFeature) export(AlignedFeatureQualityExperimental) +export(AllowedFeatures) export(AnnotatedMsMsData) export(AnnotatedPeak) export(AnnotatedSpectrum) @@ -29,6 +30,8 @@ export(Axes) export(BackgroundComputationsStateEvent) export(BasicSpectrum) export(BinaryFingerprint) +export(BioTransformerParameters) +export(BioTransformerSequenceStep) export(Canopus) export(CanopusPrediction) export(Category) @@ -47,10 +50,10 @@ export(Deviation) export(FeatureAnnotations) export(FeatureImport) export(FingerprintPrediction) +export(FoldChange) export(FormulaCandidate) export(FragmentNode) export(FragmentationTree) -export(GuiInfo) export(ImportResult) export(Info) export(IsotopePatternAnnotation) @@ -68,23 +71,31 @@ export(PagedModelAlignedFeature) export(PagedModelCompound) export(PagedModelFormulaCandidate) export(PagedModelJob) +export(PagedModelRun) export(PagedModelSpectralLibraryMatch) export(PagedModelStructureCandidateFormula) export(PagedModelStructureCandidateScored) export(ParentPeak) export(PeakAnnotation) +export(PeakPair) export(ProjectChangeEvent) export(ProjectInfo) export(QualityItem) -export(QuantificationTableExperimental) +export(QuantTableExperimental) +export(Run) +export(RunOptField) +export(SampleTypeFoldChangeRequest) export(SearchableDatabase) export(SearchableDatabaseParameters) +export(SecurityContext) +export(SecurityContextPrincipal) export(SimplePeak) export(Sirius) export(SpectralLibraryMatch) export(SpectralLibraryMatchSummary) export(SpectralLibrarySearch) export(SpectrumAnnotation) +export(StatisticsTable) export(StoredJobSubmission) export(StructureCandidate) export(StructureCandidateFormula) @@ -92,26 +103,36 @@ export(StructureCandidateScored) export(StructureDbSearch) export(Subscription) export(SubscriptionConsumables) +export(Tag) +export(TagDefinition) +export(TagDefinitionImport) +export(TagGroup) export(Term) export(Timeout) export(TraceAnnotationExperimental) export(TraceExperimental) export(TraceSetExperimental) export(UseHeuristic) +export(WebServerNamespace) export(Zodiac) +export(ZodiacAnalogueNodes) export(ZodiacEdgeFilterThresholds) export(ZodiacEpochs) +export(ZodiacLibraryScoring) # APIs export(ActuatorApi) +export(CompoundStatisticsApi) export(CompoundsApi) +export(FeatureStatisticsApi) export(FeaturesApi) -export(GuiApi) export(InfoApi) export(JobsApi) export(LoginAndAccountApi) export(ProjectsApi) +export(RunsApi) export(SearchableDatabasesApi) +export(TagsApi) # SDK export(SiriusSDK) diff --git a/client-api_r/generated/R/actuator_api.R b/client-api_r/generated/R/actuator_api.R index f7680b7d..5aa8ed72 100644 --- a/client-api_r/generated/R/actuator_api.R +++ b/client-api_r/generated/R/actuator_api.R @@ -33,10 +33,7 @@ #' #Actuator web endpoint 'shutdown' #' api_instance <- rsirius_api$new() #' -#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$Shutdown(data_file = "result.txt") -#' result <- api_instance$actuator_api$Shutdown() -#' dput(result) +#' api_instance$actuator_api$Shutdown() #' #' #' } @@ -100,7 +97,7 @@ ActuatorApi <- R6::R6Class( local_var_url_path <- "/actuator/health" # The Accept request HTTP header - local_var_accepts <- list("application/vnd.spring-boot.actuator.v3+json", "application/json", "application/vnd.spring-boot.actuator.v2+json") + local_var_accepts <- list("application/vnd.spring-boot.actuator.v3+json", "application/vnd.spring-boot.actuator.v2+json", "application/json") # The Content-Type representation header local_var_content_types <- list() @@ -147,12 +144,11 @@ ActuatorApi <- R6::R6Class( #' @description #' Actuator web endpoint 'shutdown' #' - #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return object - Shutdown = function(data_file = NULL, ...) { - local_var_response <- self$ShutdownWithHttpInfo(data_file = data_file, ...) + #' @return void + Shutdown = function(...) { + local_var_response <- self$ShutdownWithHttpInfo(...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -167,11 +163,10 @@ ActuatorApi <- R6::R6Class( #' @description #' Actuator web endpoint 'shutdown' #' - #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (object) with additional information such as HTTP status code, headers - ShutdownWithHttpInfo = function(data_file = NULL, ...) { + #' @return API response (void) with additional information such as HTTP status code, headers + ShutdownWithHttpInfo = function(...) { args <- list(...) query_params <- list() header_params <- c() @@ -184,7 +179,7 @@ ActuatorApi <- R6::R6Class( local_var_url_path <- "/actuator/shutdown" # The Accept request HTTP header - local_var_accepts <- list("application/vnd.spring-boot.actuator.v3+json", "application/json", "application/vnd.spring-boot.actuator.v2+json") + local_var_accepts <- list() # The Content-Type representation header local_var_content_types <- list() @@ -203,18 +198,7 @@ ActuatorApi <- R6::R6Class( ...) if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { - # save response in a file - if (!is.null(data_file)) { - write(local_var_resp$response, data_file) - } - - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "object", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + local_var_resp$content <- NULL local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/aligned_feature.R b/client-api_r/generated/R/aligned_feature.R index 627a1e2e..19fb1927 100644 --- a/client-api_r/generated/R/aligned_feature.R +++ b/client-api_r/generated/R/aligned_feature.R @@ -20,11 +20,12 @@ #' @field quality Quality of this feature. character [optional] #' @field hasMs1 If true, the feature has at lease one MS1 spectrum character [optional] #' @field hasMsMs If true, the feature has at lease one MS/MS spectrum character [optional] -#' @field msData \link{MsData} [optional] -#' @field topAnnotations \link{FeatureAnnotations} [optional] -#' @field topAnnotationsDeNovo \link{FeatureAnnotations} [optional] +#' @field msData Mass Spec data of this feature (input data) \link{MsData} [optional] +#' @field topAnnotations Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional] +#' @field topAnnotationsDeNovo Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional] #' @field computing Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results character [optional] -#' @field computedTools \link{ComputedSubtools} [optional] +#' @field computedTools Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. \link{ComputedSubtools} [optional] +#' @field tags Key: tagName, value: tag named list(\link{Tag}) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -49,6 +50,7 @@ AlignedFeature <- R6::R6Class( `topAnnotationsDeNovo` = NULL, `computing` = NULL, `computedTools` = NULL, + `tags` = NULL, #' @description #' Initialize a new AlignedFeature class. @@ -66,13 +68,14 @@ AlignedFeature <- R6::R6Class( #' @param quality Quality of this feature. #' @param hasMs1 If true, the feature has at lease one MS1 spectrum #' @param hasMsMs If true, the feature has at lease one MS/MS spectrum - #' @param msData msData - #' @param topAnnotations topAnnotations - #' @param topAnnotationsDeNovo topAnnotationsDeNovo + #' @param msData Mass Spec data of this feature (input data) + #' @param topAnnotations Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. + #' @param topAnnotationsDeNovo Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. #' @param computing Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results - #' @param computedTools computedTools + #' @param computedTools Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. + #' @param tags Key: tagName, value: tag #' @param ... Other optional arguments. - initialize = function(`charge`, `detectedAdducts`, `alignedFeatureId` = NULL, `compoundId` = NULL, `name` = NULL, `externalFeatureId` = NULL, `ionMass` = NULL, `rtStartSeconds` = NULL, `rtEndSeconds` = NULL, `rtApexSeconds` = NULL, `quality` = NULL, `hasMs1` = NULL, `hasMsMs` = NULL, `msData` = NULL, `topAnnotations` = NULL, `topAnnotationsDeNovo` = NULL, `computing` = NULL, `computedTools` = NULL, ...) { + initialize = function(`charge`, `detectedAdducts`, `alignedFeatureId` = NULL, `compoundId` = NULL, `name` = NULL, `externalFeatureId` = NULL, `ionMass` = NULL, `rtStartSeconds` = NULL, `rtEndSeconds` = NULL, `rtApexSeconds` = NULL, `quality` = NULL, `hasMs1` = NULL, `hasMsMs` = NULL, `msData` = NULL, `topAnnotations` = NULL, `topAnnotationsDeNovo` = NULL, `computing` = NULL, `computedTools` = NULL, `tags` = NULL, ...) { if (!missing(`charge`)) { if (!(is.numeric(`charge`) && length(`charge`) == 1)) { stop(paste("Error! Invalid data for `charge`. Must be an integer:", `charge`)) @@ -178,6 +181,11 @@ AlignedFeature <- R6::R6Class( stopifnot(R6::is.R6(`computedTools`)) self$`computedTools` <- `computedTools` } + if (!is.null(`tags`)) { + stopifnot(is.vector(`tags`), length(`tags`) != 0) + sapply(`tags`, function(x) stopifnot(R6::is.R6(x))) + self$`tags` <- `tags` + } }, #' @description @@ -283,6 +291,10 @@ AlignedFeature <- R6::R6Class( AlignedFeatureObject[["computedTools"]] <- self$`computedTools`$toSimpleType() } + if (!is.null(self$`tags`)) { + AlignedFeatureObject[["tags"]] <- + lapply(self$`tags`, function(x) x$toSimpleType()) + } return(AlignedFeatureObject) }, @@ -361,6 +373,9 @@ AlignedFeature <- R6::R6Class( `computedtools_object`$fromJSON(jsonlite::toJSON(this_object$`computedTools`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`computedTools` <- `computedtools_object` } + if (!is.null(this_object$`tags`)) { + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + } self }, @@ -406,6 +421,7 @@ AlignedFeature <- R6::R6Class( self$`topAnnotationsDeNovo` <- FeatureAnnotations$new()$fromJSON(jsonlite::toJSON(this_object$`topAnnotationsDeNovo`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`computing` <- this_object$`computing` self$`computedTools` <- ComputedSubtools$new()$fromJSON(jsonlite::toJSON(this_object$`computedTools`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) self }, diff --git a/client-api_r/generated/R/aligned_feature_quality_experimental.R b/client-api_r/generated/R/aligned_feature_quality_experimental.R index e986237b..ea030f3b 100644 --- a/client-api_r/generated/R/aligned_feature_quality_experimental.R +++ b/client-api_r/generated/R/aligned_feature_quality_experimental.R @@ -194,6 +194,11 @@ AlignedFeatureQualityExperimental <- R6::R6Class( return(FALSE) } + # check if the required `overallQuality` is null + if (is.null(self$`overallQuality`)) { + return(FALSE) + } + # check if the required `categories` is null if (is.null(self$`categories`)) { return(FALSE) @@ -213,6 +218,11 @@ AlignedFeatureQualityExperimental <- R6::R6Class( invalid_fields["alignedFeatureId"] <- "Non-nullable required field `alignedFeatureId` cannot be null." } + # check if the required `overallQuality` is null + if (is.null(self$`overallQuality`)) { + invalid_fields["overallQuality"] <- "Non-nullable required field `overallQuality` cannot be null." + } + # check if the required `categories` is null if (is.null(self$`categories`)) { invalid_fields["categories"] <- "Non-nullable required field `categories` cannot be null." diff --git a/client-api_r/generated/R/allowed_features.R b/client-api_r/generated/R/allowed_features.R new file mode 100644 index 00000000..7e11f7be --- /dev/null +++ b/client-api_r/generated/R/allowed_features.R @@ -0,0 +1,244 @@ +#' Create a new AllowedFeatures +#' +#' @description +#' AllowedFeatures Class +#' +#' @docType class +#' @title AllowedFeatures +#' @description AllowedFeatures Class +#' @format An \code{R6Class} generator object +#' @field cli character [optional] +#' @field api character [optional] +#' @field deNovo character [optional] +#' @field importMSRuns character [optional] +#' @field importPeakLists character [optional] +#' @field importCef character [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +AllowedFeatures <- R6::R6Class( + "AllowedFeatures", + public = list( + `cli` = NULL, + `api` = NULL, + `deNovo` = NULL, + `importMSRuns` = NULL, + `importPeakLists` = NULL, + `importCef` = NULL, + + #' @description + #' Initialize a new AllowedFeatures class. + #' + #' @param cli cli + #' @param api api + #' @param deNovo deNovo + #' @param importMSRuns importMSRuns + #' @param importPeakLists importPeakLists + #' @param importCef importCef + #' @param ... Other optional arguments. + initialize = function(`cli` = NULL, `api` = NULL, `deNovo` = NULL, `importMSRuns` = NULL, `importPeakLists` = NULL, `importCef` = NULL, ...) { + if (!is.null(`cli`)) { + if (!(is.logical(`cli`) && length(`cli`) == 1)) { + stop(paste("Error! Invalid data for `cli`. Must be a boolean:", `cli`)) + } + self$`cli` <- `cli` + } + if (!is.null(`api`)) { + if (!(is.logical(`api`) && length(`api`) == 1)) { + stop(paste("Error! Invalid data for `api`. Must be a boolean:", `api`)) + } + self$`api` <- `api` + } + if (!is.null(`deNovo`)) { + if (!(is.logical(`deNovo`) && length(`deNovo`) == 1)) { + stop(paste("Error! Invalid data for `deNovo`. Must be a boolean:", `deNovo`)) + } + self$`deNovo` <- `deNovo` + } + if (!is.null(`importMSRuns`)) { + if (!(is.logical(`importMSRuns`) && length(`importMSRuns`) == 1)) { + stop(paste("Error! Invalid data for `importMSRuns`. Must be a boolean:", `importMSRuns`)) + } + self$`importMSRuns` <- `importMSRuns` + } + if (!is.null(`importPeakLists`)) { + if (!(is.logical(`importPeakLists`) && length(`importPeakLists`) == 1)) { + stop(paste("Error! Invalid data for `importPeakLists`. Must be a boolean:", `importPeakLists`)) + } + self$`importPeakLists` <- `importPeakLists` + } + if (!is.null(`importCef`)) { + if (!(is.logical(`importCef`) && length(`importCef`) == 1)) { + stop(paste("Error! Invalid data for `importCef`. Must be a boolean:", `importCef`)) + } + self$`importCef` <- `importCef` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return AllowedFeatures as a base R list. + #' @examples + #' # convert array of AllowedFeatures (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert AllowedFeatures to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + AllowedFeaturesObject <- list() + if (!is.null(self$`cli`)) { + AllowedFeaturesObject[["cli"]] <- + self$`cli` + } + if (!is.null(self$`api`)) { + AllowedFeaturesObject[["api"]] <- + self$`api` + } + if (!is.null(self$`deNovo`)) { + AllowedFeaturesObject[["deNovo"]] <- + self$`deNovo` + } + if (!is.null(self$`importMSRuns`)) { + AllowedFeaturesObject[["importMSRuns"]] <- + self$`importMSRuns` + } + if (!is.null(self$`importPeakLists`)) { + AllowedFeaturesObject[["importPeakLists"]] <- + self$`importPeakLists` + } + if (!is.null(self$`importCef`)) { + AllowedFeaturesObject[["importCef"]] <- + self$`importCef` + } + return(AllowedFeaturesObject) + }, + + #' @description + #' Deserialize JSON string into an instance of AllowedFeatures + #' + #' @param input_json the JSON input + #' @return the instance of AllowedFeatures + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`cli`)) { + self$`cli` <- this_object$`cli` + } + if (!is.null(this_object$`api`)) { + self$`api` <- this_object$`api` + } + if (!is.null(this_object$`deNovo`)) { + self$`deNovo` <- this_object$`deNovo` + } + if (!is.null(this_object$`importMSRuns`)) { + self$`importMSRuns` <- this_object$`importMSRuns` + } + if (!is.null(this_object$`importPeakLists`)) { + self$`importPeakLists` <- this_object$`importPeakLists` + } + if (!is.null(this_object$`importCef`)) { + self$`importCef` <- this_object$`importCef` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return AllowedFeatures in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of AllowedFeatures + #' + #' @param input_json the JSON input + #' @return the instance of AllowedFeatures + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`cli` <- this_object$`cli` + self$`api` <- this_object$`api` + self$`deNovo` <- this_object$`deNovo` + self$`importMSRuns` <- this_object$`importMSRuns` + self$`importPeakLists` <- this_object$`importPeakLists` + self$`importCef` <- this_object$`importCef` + self + }, + + #' @description + #' Validate JSON input with respect to AllowedFeatures and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of AllowedFeatures + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# AllowedFeatures$unlock() +# +## Below is an example to define the print function +# AllowedFeatures$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# AllowedFeatures$lock() + diff --git a/client-api_r/generated/R/annotated_ms_ms_data.R b/client-api_r/generated/R/annotated_ms_ms_data.R index 98a443c7..5c9ff58f 100644 --- a/client-api_r/generated/R/annotated_ms_ms_data.R +++ b/client-api_r/generated/R/annotated_ms_ms_data.R @@ -153,6 +153,11 @@ AnnotatedMsMsData <- R6::R6Class( #' #' @return true if the values in all fields are valid. isValid = function() { + # check if the required `mergedMs2` is null + if (is.null(self$`mergedMs2`)) { + return(FALSE) + } + # check if the required `ms2Spectra` is null if (is.null(self$`ms2Spectra`)) { return(FALSE) @@ -167,6 +172,11 @@ AnnotatedMsMsData <- R6::R6Class( #' @return A list of invalid fields (if any). getInvalidFields = function() { invalid_fields <- list() + # check if the required `mergedMs2` is null + if (is.null(self$`mergedMs2`)) { + invalid_fields["mergedMs2"] <- "Non-nullable required field `mergedMs2` cannot be null." + } + # check if the required `ms2Spectra` is null if (is.null(self$`ms2Spectra`)) { invalid_fields["ms2Spectra"] <- "Non-nullable required field `ms2Spectra` cannot be null." diff --git a/client-api_r/generated/R/annotated_spectrum.R b/client-api_r/generated/R/annotated_spectrum.R index f08e45e7..96c2300f 100644 --- a/client-api_r/generated/R/annotated_spectrum.R +++ b/client-api_r/generated/R/annotated_spectrum.R @@ -13,9 +13,15 @@ #' @field instrument Instrument information. character [optional] #' @field precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable numeric [optional] #' @field scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) integer [optional] +#' @field cosineQuery True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character +#' @field precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional] #' @field peaks The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{AnnotatedPeak}) -#' @field absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) numeric [optional] -#' @field spectrumAnnotation \link{SpectrumAnnotation} [optional] +#' @field absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. numeric [optional] +#' @field maxNormFactor Factor to convert absolute intensities to MAX norm. numeric [optional] +#' @field sumNormFactor Factor to convert absolute intensities to SUM norm. numeric [optional] +#' @field l2NormFactor Factor to convert absolute intensities to L2 (Euclidean) norm. numeric [optional] +#' @field firstPeakNormFactor Factor to convert absolute intensities to normalize intensities by first peak intensity. numeric [optional] +#' @field spectrumAnnotation Optional Annotations of this spectrum. \link{SpectrumAnnotation} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -28,13 +34,20 @@ AnnotatedSpectrum <- R6::R6Class( `instrument` = NULL, `precursorMz` = NULL, `scanNumber` = NULL, + `cosineQuery` = NULL, + `precursorPeak` = NULL, `peaks` = NULL, `absIntensityFactor` = NULL, + `maxNormFactor` = NULL, + `sumNormFactor` = NULL, + `l2NormFactor` = NULL, + `firstPeakNormFactor` = NULL, `spectrumAnnotation` = NULL, #' @description #' Initialize a new AnnotatedSpectrum class. #' + #' @param cosineQuery True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. #' @param peaks The peaks of this spectrum which might contain additional annotations such as molecular formulas. #' @param name Optional Displayable name of this spectrum. #' @param msLevel MS level of the measured spectrum. Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero @@ -42,10 +55,21 @@ AnnotatedSpectrum <- R6::R6Class( #' @param instrument Instrument information. #' @param precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable #' @param scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) - #' @param absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) - #' @param spectrumAnnotation spectrumAnnotation + #' @param precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. + #' @param absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. + #' @param maxNormFactor Factor to convert absolute intensities to MAX norm. + #' @param sumNormFactor Factor to convert absolute intensities to SUM norm. + #' @param l2NormFactor Factor to convert absolute intensities to L2 (Euclidean) norm. + #' @param firstPeakNormFactor Factor to convert absolute intensities to normalize intensities by first peak intensity. + #' @param spectrumAnnotation Optional Annotations of this spectrum. #' @param ... Other optional arguments. - initialize = function(`peaks`, `name` = NULL, `msLevel` = NULL, `collisionEnergy` = NULL, `instrument` = NULL, `precursorMz` = NULL, `scanNumber` = NULL, `absIntensityFactor` = NULL, `spectrumAnnotation` = NULL, ...) { + initialize = function(`cosineQuery`, `peaks`, `name` = NULL, `msLevel` = NULL, `collisionEnergy` = NULL, `instrument` = NULL, `precursorMz` = NULL, `scanNumber` = NULL, `precursorPeak` = NULL, `absIntensityFactor` = NULL, `maxNormFactor` = NULL, `sumNormFactor` = NULL, `l2NormFactor` = NULL, `firstPeakNormFactor` = NULL, `spectrumAnnotation` = NULL, ...) { + if (!missing(`cosineQuery`)) { + if (!(is.logical(`cosineQuery`) && length(`cosineQuery`) == 1)) { + stop(paste("Error! Invalid data for `cosineQuery`. Must be a boolean:", `cosineQuery`)) + } + self$`cosineQuery` <- `cosineQuery` + } if (!missing(`peaks`)) { stopifnot(is.vector(`peaks`), length(`peaks`) != 0) sapply(`peaks`, function(x) stopifnot(R6::is.R6(x))) @@ -87,12 +111,40 @@ AnnotatedSpectrum <- R6::R6Class( } self$`scanNumber` <- `scanNumber` } + if (!is.null(`precursorPeak`)) { + stopifnot(R6::is.R6(`precursorPeak`)) + self$`precursorPeak` <- `precursorPeak` + } if (!is.null(`absIntensityFactor`)) { if (!(is.numeric(`absIntensityFactor`) && length(`absIntensityFactor`) == 1)) { stop(paste("Error! Invalid data for `absIntensityFactor`. Must be a number:", `absIntensityFactor`)) } self$`absIntensityFactor` <- `absIntensityFactor` } + if (!is.null(`maxNormFactor`)) { + if (!(is.numeric(`maxNormFactor`) && length(`maxNormFactor`) == 1)) { + stop(paste("Error! Invalid data for `maxNormFactor`. Must be a number:", `maxNormFactor`)) + } + self$`maxNormFactor` <- `maxNormFactor` + } + if (!is.null(`sumNormFactor`)) { + if (!(is.numeric(`sumNormFactor`) && length(`sumNormFactor`) == 1)) { + stop(paste("Error! Invalid data for `sumNormFactor`. Must be a number:", `sumNormFactor`)) + } + self$`sumNormFactor` <- `sumNormFactor` + } + if (!is.null(`l2NormFactor`)) { + if (!(is.numeric(`l2NormFactor`) && length(`l2NormFactor`) == 1)) { + stop(paste("Error! Invalid data for `l2NormFactor`. Must be a number:", `l2NormFactor`)) + } + self$`l2NormFactor` <- `l2NormFactor` + } + if (!is.null(`firstPeakNormFactor`)) { + if (!(is.numeric(`firstPeakNormFactor`) && length(`firstPeakNormFactor`) == 1)) { + stop(paste("Error! Invalid data for `firstPeakNormFactor`. Must be a number:", `firstPeakNormFactor`)) + } + self$`firstPeakNormFactor` <- `firstPeakNormFactor` + } if (!is.null(`spectrumAnnotation`)) { stopifnot(R6::is.R6(`spectrumAnnotation`)) self$`spectrumAnnotation` <- `spectrumAnnotation` @@ -154,6 +206,14 @@ AnnotatedSpectrum <- R6::R6Class( AnnotatedSpectrumObject[["scanNumber"]] <- self$`scanNumber` } + if (!is.null(self$`cosineQuery`)) { + AnnotatedSpectrumObject[["cosineQuery"]] <- + self$`cosineQuery` + } + if (!is.null(self$`precursorPeak`)) { + AnnotatedSpectrumObject[["precursorPeak"]] <- + self$`precursorPeak`$toSimpleType() + } if (!is.null(self$`peaks`)) { AnnotatedSpectrumObject[["peaks"]] <- lapply(self$`peaks`, function(x) x$toSimpleType()) @@ -162,6 +222,22 @@ AnnotatedSpectrum <- R6::R6Class( AnnotatedSpectrumObject[["absIntensityFactor"]] <- self$`absIntensityFactor` } + if (!is.null(self$`maxNormFactor`)) { + AnnotatedSpectrumObject[["maxNormFactor"]] <- + self$`maxNormFactor` + } + if (!is.null(self$`sumNormFactor`)) { + AnnotatedSpectrumObject[["sumNormFactor"]] <- + self$`sumNormFactor` + } + if (!is.null(self$`l2NormFactor`)) { + AnnotatedSpectrumObject[["l2NormFactor"]] <- + self$`l2NormFactor` + } + if (!is.null(self$`firstPeakNormFactor`)) { + AnnotatedSpectrumObject[["firstPeakNormFactor"]] <- + self$`firstPeakNormFactor` + } if (!is.null(self$`spectrumAnnotation`)) { AnnotatedSpectrumObject[["spectrumAnnotation"]] <- self$`spectrumAnnotation`$toSimpleType() @@ -194,12 +270,32 @@ AnnotatedSpectrum <- R6::R6Class( if (!is.null(this_object$`scanNumber`)) { self$`scanNumber` <- this_object$`scanNumber` } + if (!is.null(this_object$`cosineQuery`)) { + self$`cosineQuery` <- this_object$`cosineQuery` + } + if (!is.null(this_object$`precursorPeak`)) { + `precursorpeak_object` <- SimplePeak$new() + `precursorpeak_object`$fromJSON(jsonlite::toJSON(this_object$`precursorPeak`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`precursorPeak` <- `precursorpeak_object` + } if (!is.null(this_object$`peaks`)) { self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[AnnotatedPeak]", loadNamespace("Rsirius")) } if (!is.null(this_object$`absIntensityFactor`)) { self$`absIntensityFactor` <- this_object$`absIntensityFactor` } + if (!is.null(this_object$`maxNormFactor`)) { + self$`maxNormFactor` <- this_object$`maxNormFactor` + } + if (!is.null(this_object$`sumNormFactor`)) { + self$`sumNormFactor` <- this_object$`sumNormFactor` + } + if (!is.null(this_object$`l2NormFactor`)) { + self$`l2NormFactor` <- this_object$`l2NormFactor` + } + if (!is.null(this_object$`firstPeakNormFactor`)) { + self$`firstPeakNormFactor` <- this_object$`firstPeakNormFactor` + } if (!is.null(this_object$`spectrumAnnotation`)) { `spectrumannotation_object` <- SpectrumAnnotation$new() `spectrumannotation_object`$fromJSON(jsonlite::toJSON(this_object$`spectrumAnnotation`, auto_unbox = TRUE, digits = NA, null = 'null')) @@ -232,8 +328,14 @@ AnnotatedSpectrum <- R6::R6Class( self$`instrument` <- this_object$`instrument` self$`precursorMz` <- this_object$`precursorMz` self$`scanNumber` <- this_object$`scanNumber` + self$`cosineQuery` <- this_object$`cosineQuery` + self$`precursorPeak` <- SimplePeak$new()$fromJSON(jsonlite::toJSON(this_object$`precursorPeak`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[AnnotatedPeak]", loadNamespace("Rsirius")) self$`absIntensityFactor` <- this_object$`absIntensityFactor` + self$`maxNormFactor` <- this_object$`maxNormFactor` + self$`sumNormFactor` <- this_object$`sumNormFactor` + self$`l2NormFactor` <- this_object$`l2NormFactor` + self$`firstPeakNormFactor` <- this_object$`firstPeakNormFactor` self$`spectrumAnnotation` <- SpectrumAnnotation$new()$fromJSON(jsonlite::toJSON(this_object$`spectrumAnnotation`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, @@ -244,6 +346,14 @@ AnnotatedSpectrum <- R6::R6Class( #' @param input the JSON input validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + # check the required field `cosineQuery` + if (!is.null(input_json$`cosineQuery`)) { + if (!(is.logical(input_json$`cosineQuery`) && length(input_json$`cosineQuery`) == 1)) { + stop(paste("Error! Invalid data for `cosineQuery`. Must be a boolean:", input_json$`cosineQuery`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for AnnotatedSpectrum: the required field `cosineQuery` is missing.")) + } # check the required field `peaks` if (!is.null(input_json$`peaks`)) { stopifnot(is.vector(input_json$`peaks`), length(input_json$`peaks`) != 0) @@ -266,6 +376,11 @@ AnnotatedSpectrum <- R6::R6Class( #' #' @return true if the values in all fields are valid. isValid = function() { + # check if the required `cosineQuery` is null + if (is.null(self$`cosineQuery`)) { + return(FALSE) + } + # check if the required `peaks` is null if (is.null(self$`peaks`)) { return(FALSE) @@ -280,6 +395,11 @@ AnnotatedSpectrum <- R6::R6Class( #' @return A list of invalid fields (if any). getInvalidFields = function() { invalid_fields <- list() + # check if the required `cosineQuery` is null + if (is.null(self$`cosineQuery`)) { + invalid_fields["cosineQuery"] <- "Non-nullable required field `cosineQuery` cannot be null." + } + # check if the required `peaks` is null if (is.null(self$`peaks`)) { invalid_fields["peaks"] <- "Non-nullable required field `peaks` cannot be null." diff --git a/client-api_r/generated/R/basic_spectrum.R b/client-api_r/generated/R/basic_spectrum.R index 65db84a1..467d5065 100644 --- a/client-api_r/generated/R/basic_spectrum.R +++ b/client-api_r/generated/R/basic_spectrum.R @@ -13,8 +13,14 @@ #' @field instrument Instrument information. character [optional] #' @field precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable numeric [optional] #' @field scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) integer [optional] +#' @field cosineQuery True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character +#' @field precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional] #' @field peaks The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{SimplePeak}) -#' @field absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) numeric [optional] +#' @field absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. numeric [optional] +#' @field maxNormFactor Factor to convert absolute intensities to MAX norm. numeric [optional] +#' @field sumNormFactor Factor to convert absolute intensities to SUM norm. numeric [optional] +#' @field l2NormFactor Factor to convert absolute intensities to L2 (Euclidean) norm. numeric [optional] +#' @field firstPeakNormFactor Factor to convert absolute intensities to normalize intensities by first peak intensity. numeric [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -27,12 +33,19 @@ BasicSpectrum <- R6::R6Class( `instrument` = NULL, `precursorMz` = NULL, `scanNumber` = NULL, + `cosineQuery` = NULL, + `precursorPeak` = NULL, `peaks` = NULL, `absIntensityFactor` = NULL, + `maxNormFactor` = NULL, + `sumNormFactor` = NULL, + `l2NormFactor` = NULL, + `firstPeakNormFactor` = NULL, #' @description #' Initialize a new BasicSpectrum class. #' + #' @param cosineQuery True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. #' @param peaks The peaks of this spectrum which might contain additional annotations such as molecular formulas. #' @param name Optional Displayable name of this spectrum. #' @param msLevel MS level of the measured spectrum. Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero @@ -40,9 +53,20 @@ BasicSpectrum <- R6::R6Class( #' @param instrument Instrument information. #' @param precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable #' @param scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) - #' @param absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) + #' @param precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. + #' @param absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. + #' @param maxNormFactor Factor to convert absolute intensities to MAX norm. + #' @param sumNormFactor Factor to convert absolute intensities to SUM norm. + #' @param l2NormFactor Factor to convert absolute intensities to L2 (Euclidean) norm. + #' @param firstPeakNormFactor Factor to convert absolute intensities to normalize intensities by first peak intensity. #' @param ... Other optional arguments. - initialize = function(`peaks`, `name` = NULL, `msLevel` = NULL, `collisionEnergy` = NULL, `instrument` = NULL, `precursorMz` = NULL, `scanNumber` = NULL, `absIntensityFactor` = NULL, ...) { + initialize = function(`cosineQuery`, `peaks`, `name` = NULL, `msLevel` = NULL, `collisionEnergy` = NULL, `instrument` = NULL, `precursorMz` = NULL, `scanNumber` = NULL, `precursorPeak` = NULL, `absIntensityFactor` = NULL, `maxNormFactor` = NULL, `sumNormFactor` = NULL, `l2NormFactor` = NULL, `firstPeakNormFactor` = NULL, ...) { + if (!missing(`cosineQuery`)) { + if (!(is.logical(`cosineQuery`) && length(`cosineQuery`) == 1)) { + stop(paste("Error! Invalid data for `cosineQuery`. Must be a boolean:", `cosineQuery`)) + } + self$`cosineQuery` <- `cosineQuery` + } if (!missing(`peaks`)) { stopifnot(is.vector(`peaks`), length(`peaks`) != 0) sapply(`peaks`, function(x) stopifnot(R6::is.R6(x))) @@ -84,12 +108,40 @@ BasicSpectrum <- R6::R6Class( } self$`scanNumber` <- `scanNumber` } + if (!is.null(`precursorPeak`)) { + stopifnot(R6::is.R6(`precursorPeak`)) + self$`precursorPeak` <- `precursorPeak` + } if (!is.null(`absIntensityFactor`)) { if (!(is.numeric(`absIntensityFactor`) && length(`absIntensityFactor`) == 1)) { stop(paste("Error! Invalid data for `absIntensityFactor`. Must be a number:", `absIntensityFactor`)) } self$`absIntensityFactor` <- `absIntensityFactor` } + if (!is.null(`maxNormFactor`)) { + if (!(is.numeric(`maxNormFactor`) && length(`maxNormFactor`) == 1)) { + stop(paste("Error! Invalid data for `maxNormFactor`. Must be a number:", `maxNormFactor`)) + } + self$`maxNormFactor` <- `maxNormFactor` + } + if (!is.null(`sumNormFactor`)) { + if (!(is.numeric(`sumNormFactor`) && length(`sumNormFactor`) == 1)) { + stop(paste("Error! Invalid data for `sumNormFactor`. Must be a number:", `sumNormFactor`)) + } + self$`sumNormFactor` <- `sumNormFactor` + } + if (!is.null(`l2NormFactor`)) { + if (!(is.numeric(`l2NormFactor`) && length(`l2NormFactor`) == 1)) { + stop(paste("Error! Invalid data for `l2NormFactor`. Must be a number:", `l2NormFactor`)) + } + self$`l2NormFactor` <- `l2NormFactor` + } + if (!is.null(`firstPeakNormFactor`)) { + if (!(is.numeric(`firstPeakNormFactor`) && length(`firstPeakNormFactor`) == 1)) { + stop(paste("Error! Invalid data for `firstPeakNormFactor`. Must be a number:", `firstPeakNormFactor`)) + } + self$`firstPeakNormFactor` <- `firstPeakNormFactor` + } }, #' @description @@ -147,6 +199,14 @@ BasicSpectrum <- R6::R6Class( BasicSpectrumObject[["scanNumber"]] <- self$`scanNumber` } + if (!is.null(self$`cosineQuery`)) { + BasicSpectrumObject[["cosineQuery"]] <- + self$`cosineQuery` + } + if (!is.null(self$`precursorPeak`)) { + BasicSpectrumObject[["precursorPeak"]] <- + self$`precursorPeak`$toSimpleType() + } if (!is.null(self$`peaks`)) { BasicSpectrumObject[["peaks"]] <- lapply(self$`peaks`, function(x) x$toSimpleType()) @@ -155,6 +215,22 @@ BasicSpectrum <- R6::R6Class( BasicSpectrumObject[["absIntensityFactor"]] <- self$`absIntensityFactor` } + if (!is.null(self$`maxNormFactor`)) { + BasicSpectrumObject[["maxNormFactor"]] <- + self$`maxNormFactor` + } + if (!is.null(self$`sumNormFactor`)) { + BasicSpectrumObject[["sumNormFactor"]] <- + self$`sumNormFactor` + } + if (!is.null(self$`l2NormFactor`)) { + BasicSpectrumObject[["l2NormFactor"]] <- + self$`l2NormFactor` + } + if (!is.null(self$`firstPeakNormFactor`)) { + BasicSpectrumObject[["firstPeakNormFactor"]] <- + self$`firstPeakNormFactor` + } return(BasicSpectrumObject) }, @@ -183,12 +259,32 @@ BasicSpectrum <- R6::R6Class( if (!is.null(this_object$`scanNumber`)) { self$`scanNumber` <- this_object$`scanNumber` } + if (!is.null(this_object$`cosineQuery`)) { + self$`cosineQuery` <- this_object$`cosineQuery` + } + if (!is.null(this_object$`precursorPeak`)) { + `precursorpeak_object` <- SimplePeak$new() + `precursorpeak_object`$fromJSON(jsonlite::toJSON(this_object$`precursorPeak`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`precursorPeak` <- `precursorpeak_object` + } if (!is.null(this_object$`peaks`)) { self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[SimplePeak]", loadNamespace("Rsirius")) } if (!is.null(this_object$`absIntensityFactor`)) { self$`absIntensityFactor` <- this_object$`absIntensityFactor` } + if (!is.null(this_object$`maxNormFactor`)) { + self$`maxNormFactor` <- this_object$`maxNormFactor` + } + if (!is.null(this_object$`sumNormFactor`)) { + self$`sumNormFactor` <- this_object$`sumNormFactor` + } + if (!is.null(this_object$`l2NormFactor`)) { + self$`l2NormFactor` <- this_object$`l2NormFactor` + } + if (!is.null(this_object$`firstPeakNormFactor`)) { + self$`firstPeakNormFactor` <- this_object$`firstPeakNormFactor` + } self }, @@ -216,8 +312,14 @@ BasicSpectrum <- R6::R6Class( self$`instrument` <- this_object$`instrument` self$`precursorMz` <- this_object$`precursorMz` self$`scanNumber` <- this_object$`scanNumber` + self$`cosineQuery` <- this_object$`cosineQuery` + self$`precursorPeak` <- SimplePeak$new()$fromJSON(jsonlite::toJSON(this_object$`precursorPeak`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[SimplePeak]", loadNamespace("Rsirius")) self$`absIntensityFactor` <- this_object$`absIntensityFactor` + self$`maxNormFactor` <- this_object$`maxNormFactor` + self$`sumNormFactor` <- this_object$`sumNormFactor` + self$`l2NormFactor` <- this_object$`l2NormFactor` + self$`firstPeakNormFactor` <- this_object$`firstPeakNormFactor` self }, @@ -227,6 +329,14 @@ BasicSpectrum <- R6::R6Class( #' @param input the JSON input validateJSON = function(input) { input_json <- jsonlite::fromJSON(input) + # check the required field `cosineQuery` + if (!is.null(input_json$`cosineQuery`)) { + if (!(is.logical(input_json$`cosineQuery`) && length(input_json$`cosineQuery`) == 1)) { + stop(paste("Error! Invalid data for `cosineQuery`. Must be a boolean:", input_json$`cosineQuery`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for BasicSpectrum: the required field `cosineQuery` is missing.")) + } # check the required field `peaks` if (!is.null(input_json$`peaks`)) { stopifnot(is.vector(input_json$`peaks`), length(input_json$`peaks`) != 0) @@ -249,6 +359,11 @@ BasicSpectrum <- R6::R6Class( #' #' @return true if the values in all fields are valid. isValid = function() { + # check if the required `cosineQuery` is null + if (is.null(self$`cosineQuery`)) { + return(FALSE) + } + # check if the required `peaks` is null if (is.null(self$`peaks`)) { return(FALSE) @@ -263,6 +378,11 @@ BasicSpectrum <- R6::R6Class( #' @return A list of invalid fields (if any). getInvalidFields = function() { invalid_fields <- list() + # check if the required `cosineQuery` is null + if (is.null(self$`cosineQuery`)) { + invalid_fields["cosineQuery"] <- "Non-nullable required field `cosineQuery` cannot be null." + } + # check if the required `peaks` is null if (is.null(self$`peaks`)) { invalid_fields["peaks"] <- "Non-nullable required field `peaks` cannot be null." diff --git a/client-api_r/generated/R/bio_transformer_parameters.R b/client-api_r/generated/R/bio_transformer_parameters.R new file mode 100644 index 00000000..b1822162 --- /dev/null +++ b/client-api_r/generated/R/bio_transformer_parameters.R @@ -0,0 +1,280 @@ +#' Create a new BioTransformerParameters +#' +#' @description +#' BioTransformerParameters Class +#' +#' @docType class +#' @title BioTransformerParameters +#' @description BioTransformerParameters Class +#' @format An \code{R6Class} generator object +#' @field cyp450Mode Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode. character +#' @field p2Mode Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode. character +#' @field useDB \"Specify if you want to enable the retrieving from database (HMDB) feature.\" character [optional] +#' @field bioTransformerSequenceSteps Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one). list(\link{BioTransformerSequenceStep}) +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +BioTransformerParameters <- R6::R6Class( + "BioTransformerParameters", + public = list( + `cyp450Mode` = NULL, + `p2Mode` = NULL, + `useDB` = NULL, + `bioTransformerSequenceSteps` = NULL, + + #' @description + #' Initialize a new BioTransformerParameters class. + #' + #' @param cyp450Mode Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode. + #' @param p2Mode Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode. + #' @param bioTransformerSequenceSteps Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one). + #' @param useDB \"Specify if you want to enable the retrieving from database (HMDB) feature.\". Default to TRUE. + #' @param ... Other optional arguments. + initialize = function(`cyp450Mode`, `p2Mode`, `bioTransformerSequenceSteps`, `useDB` = TRUE, ...) { + if (!missing(`cyp450Mode`)) { + if (!(`cyp450Mode` %in% c("RULE_BASED", "CY_PRODUCT", "COMBINED"))) { + stop(paste("Error! \"", `cyp450Mode`, "\" cannot be assigned to `cyp450Mode`. Must be \"RULE_BASED\", \"CY_PRODUCT\", \"COMBINED\".", sep = "")) + } + if (!(is.character(`cyp450Mode`) && length(`cyp450Mode`) == 1)) { + stop(paste("Error! Invalid data for `cyp450Mode`. Must be a string:", `cyp450Mode`)) + } + self$`cyp450Mode` <- `cyp450Mode` + } + if (!missing(`p2Mode`)) { + if (!(`p2Mode` %in% c("BT_RULE_BASED", "P2_RULE_ONLY", "COMBINED_RULES"))) { + stop(paste("Error! \"", `p2Mode`, "\" cannot be assigned to `p2Mode`. Must be \"BT_RULE_BASED\", \"P2_RULE_ONLY\", \"COMBINED_RULES\".", sep = "")) + } + if (!(is.character(`p2Mode`) && length(`p2Mode`) == 1)) { + stop(paste("Error! Invalid data for `p2Mode`. Must be a string:", `p2Mode`)) + } + self$`p2Mode` <- `p2Mode` + } + if (!missing(`bioTransformerSequenceSteps`)) { + stopifnot(is.vector(`bioTransformerSequenceSteps`), length(`bioTransformerSequenceSteps`) != 0) + sapply(`bioTransformerSequenceSteps`, function(x) stopifnot(R6::is.R6(x))) + self$`bioTransformerSequenceSteps` <- `bioTransformerSequenceSteps` + } + if (!is.null(`useDB`)) { + if (!(is.logical(`useDB`) && length(`useDB`) == 1)) { + stop(paste("Error! Invalid data for `useDB`. Must be a boolean:", `useDB`)) + } + self$`useDB` <- `useDB` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return BioTransformerParameters as a base R list. + #' @examples + #' # convert array of BioTransformerParameters (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert BioTransformerParameters to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + BioTransformerParametersObject <- list() + if (!is.null(self$`cyp450Mode`)) { + BioTransformerParametersObject[["cyp450Mode"]] <- + self$`cyp450Mode` + } + if (!is.null(self$`p2Mode`)) { + BioTransformerParametersObject[["p2Mode"]] <- + self$`p2Mode` + } + if (!is.null(self$`useDB`)) { + BioTransformerParametersObject[["useDB"]] <- + self$`useDB` + } + if (!is.null(self$`bioTransformerSequenceSteps`)) { + BioTransformerParametersObject[["bioTransformerSequenceSteps"]] <- + lapply(self$`bioTransformerSequenceSteps`, function(x) x$toSimpleType()) + } + return(BioTransformerParametersObject) + }, + + #' @description + #' Deserialize JSON string into an instance of BioTransformerParameters + #' + #' @param input_json the JSON input + #' @return the instance of BioTransformerParameters + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`cyp450Mode`)) { + if (!is.null(this_object$`cyp450Mode`) && !(this_object$`cyp450Mode` %in% c("RULE_BASED", "CY_PRODUCT", "COMBINED"))) { + stop(paste("Error! \"", this_object$`cyp450Mode`, "\" cannot be assigned to `cyp450Mode`. Must be \"RULE_BASED\", \"CY_PRODUCT\", \"COMBINED\".", sep = "")) + } + self$`cyp450Mode` <- this_object$`cyp450Mode` + } + if (!is.null(this_object$`p2Mode`)) { + if (!is.null(this_object$`p2Mode`) && !(this_object$`p2Mode` %in% c("BT_RULE_BASED", "P2_RULE_ONLY", "COMBINED_RULES"))) { + stop(paste("Error! \"", this_object$`p2Mode`, "\" cannot be assigned to `p2Mode`. Must be \"BT_RULE_BASED\", \"P2_RULE_ONLY\", \"COMBINED_RULES\".", sep = "")) + } + self$`p2Mode` <- this_object$`p2Mode` + } + if (!is.null(this_object$`useDB`)) { + self$`useDB` <- this_object$`useDB` + } + if (!is.null(this_object$`bioTransformerSequenceSteps`)) { + self$`bioTransformerSequenceSteps` <- ApiClient$new()$deserializeObj(this_object$`bioTransformerSequenceSteps`, "array[BioTransformerSequenceStep]", loadNamespace("Rsirius")) + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return BioTransformerParameters in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of BioTransformerParameters + #' + #' @param input_json the JSON input + #' @return the instance of BioTransformerParameters + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`cyp450Mode`) && !(this_object$`cyp450Mode` %in% c("RULE_BASED", "CY_PRODUCT", "COMBINED"))) { + stop(paste("Error! \"", this_object$`cyp450Mode`, "\" cannot be assigned to `cyp450Mode`. Must be \"RULE_BASED\", \"CY_PRODUCT\", \"COMBINED\".", sep = "")) + } + self$`cyp450Mode` <- this_object$`cyp450Mode` + if (!is.null(this_object$`p2Mode`) && !(this_object$`p2Mode` %in% c("BT_RULE_BASED", "P2_RULE_ONLY", "COMBINED_RULES"))) { + stop(paste("Error! \"", this_object$`p2Mode`, "\" cannot be assigned to `p2Mode`. Must be \"BT_RULE_BASED\", \"P2_RULE_ONLY\", \"COMBINED_RULES\".", sep = "")) + } + self$`p2Mode` <- this_object$`p2Mode` + self$`useDB` <- this_object$`useDB` + self$`bioTransformerSequenceSteps` <- ApiClient$new()$deserializeObj(this_object$`bioTransformerSequenceSteps`, "array[BioTransformerSequenceStep]", loadNamespace("Rsirius")) + self + }, + + #' @description + #' Validate JSON input with respect to BioTransformerParameters and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `cyp450Mode` + if (!is.null(input_json$`cyp450Mode`)) { + if (!(is.character(input_json$`cyp450Mode`) && length(input_json$`cyp450Mode`) == 1)) { + stop(paste("Error! Invalid data for `cyp450Mode`. Must be a string:", input_json$`cyp450Mode`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for BioTransformerParameters: the required field `cyp450Mode` is missing.")) + } + # check the required field `p2Mode` + if (!is.null(input_json$`p2Mode`)) { + if (!(is.character(input_json$`p2Mode`) && length(input_json$`p2Mode`) == 1)) { + stop(paste("Error! Invalid data for `p2Mode`. Must be a string:", input_json$`p2Mode`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for BioTransformerParameters: the required field `p2Mode` is missing.")) + } + # check the required field `bioTransformerSequenceSteps` + if (!is.null(input_json$`bioTransformerSequenceSteps`)) { + stopifnot(is.vector(input_json$`bioTransformerSequenceSteps`), length(input_json$`bioTransformerSequenceSteps`) != 0) + tmp <- sapply(input_json$`bioTransformerSequenceSteps`, function(x) stopifnot(R6::is.R6(x))) + } else { + stop(paste("The JSON input `", input, "` is invalid for BioTransformerParameters: the required field `bioTransformerSequenceSteps` is missing.")) + } + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of BioTransformerParameters + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + # check if the required `cyp450Mode` is null + if (is.null(self$`cyp450Mode`)) { + return(FALSE) + } + + # check if the required `p2Mode` is null + if (is.null(self$`p2Mode`)) { + return(FALSE) + } + + # check if the required `bioTransformerSequenceSteps` is null + if (is.null(self$`bioTransformerSequenceSteps`)) { + return(FALSE) + } + + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + # check if the required `cyp450Mode` is null + if (is.null(self$`cyp450Mode`)) { + invalid_fields["cyp450Mode"] <- "Non-nullable required field `cyp450Mode` cannot be null." + } + + # check if the required `p2Mode` is null + if (is.null(self$`p2Mode`)) { + invalid_fields["p2Mode"] <- "Non-nullable required field `p2Mode` cannot be null." + } + + # check if the required `bioTransformerSequenceSteps` is null + if (is.null(self$`bioTransformerSequenceSteps`)) { + invalid_fields["bioTransformerSequenceSteps"] <- "Non-nullable required field `bioTransformerSequenceSteps` cannot be null." + } + + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# BioTransformerParameters$unlock() +# +## Below is an example to define the print function +# BioTransformerParameters$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# BioTransformerParameters$lock() + diff --git a/client-api_r/generated/R/bio_transformer_sequence_step.R b/client-api_r/generated/R/bio_transformer_sequence_step.R new file mode 100644 index 00000000..8b9a373e --- /dev/null +++ b/client-api_r/generated/R/bio_transformer_sequence_step.R @@ -0,0 +1,185 @@ +#' Create a new BioTransformerSequenceStep +#' +#' @description +#' BioTransformerSequenceStep Class +#' +#' @docType class +#' @title BioTransformerSequenceStep +#' @description BioTransformerSequenceStep Class +#' @format An \code{R6Class} generator object +#' @field metabolicTransformation character [optional] +#' @field iterations integer [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +BioTransformerSequenceStep <- R6::R6Class( + "BioTransformerSequenceStep", + public = list( + `metabolicTransformation` = NULL, + `iterations` = NULL, + + #' @description + #' Initialize a new BioTransformerSequenceStep class. + #' + #' @param metabolicTransformation metabolicTransformation + #' @param iterations iterations + #' @param ... Other optional arguments. + initialize = function(`metabolicTransformation` = NULL, `iterations` = NULL, ...) { + if (!is.null(`metabolicTransformation`)) { + if (!(`metabolicTransformation` %in% c("PHASE_1_CYP450", "EC_BASED", "PHASE_2", "HUMAN_GUT", "ALL_HUMAN", "ABIOTIC", "HUMAN_CUSTOM_MULTI"))) { + stop(paste("Error! \"", `metabolicTransformation`, "\" cannot be assigned to `metabolicTransformation`. Must be \"PHASE_1_CYP450\", \"EC_BASED\", \"PHASE_2\", \"HUMAN_GUT\", \"ALL_HUMAN\", \"ABIOTIC\", \"HUMAN_CUSTOM_MULTI\".", sep = "")) + } + if (!(is.character(`metabolicTransformation`) && length(`metabolicTransformation`) == 1)) { + stop(paste("Error! Invalid data for `metabolicTransformation`. Must be a string:", `metabolicTransformation`)) + } + self$`metabolicTransformation` <- `metabolicTransformation` + } + if (!is.null(`iterations`)) { + if (!(is.numeric(`iterations`) && length(`iterations`) == 1)) { + stop(paste("Error! Invalid data for `iterations`. Must be an integer:", `iterations`)) + } + self$`iterations` <- `iterations` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return BioTransformerSequenceStep as a base R list. + #' @examples + #' # convert array of BioTransformerSequenceStep (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert BioTransformerSequenceStep to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + BioTransformerSequenceStepObject <- list() + if (!is.null(self$`metabolicTransformation`)) { + BioTransformerSequenceStepObject[["metabolicTransformation"]] <- + self$`metabolicTransformation` + } + if (!is.null(self$`iterations`)) { + BioTransformerSequenceStepObject[["iterations"]] <- + self$`iterations` + } + return(BioTransformerSequenceStepObject) + }, + + #' @description + #' Deserialize JSON string into an instance of BioTransformerSequenceStep + #' + #' @param input_json the JSON input + #' @return the instance of BioTransformerSequenceStep + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`metabolicTransformation`)) { + if (!is.null(this_object$`metabolicTransformation`) && !(this_object$`metabolicTransformation` %in% c("PHASE_1_CYP450", "EC_BASED", "PHASE_2", "HUMAN_GUT", "ALL_HUMAN", "ABIOTIC", "HUMAN_CUSTOM_MULTI"))) { + stop(paste("Error! \"", this_object$`metabolicTransformation`, "\" cannot be assigned to `metabolicTransformation`. Must be \"PHASE_1_CYP450\", \"EC_BASED\", \"PHASE_2\", \"HUMAN_GUT\", \"ALL_HUMAN\", \"ABIOTIC\", \"HUMAN_CUSTOM_MULTI\".", sep = "")) + } + self$`metabolicTransformation` <- this_object$`metabolicTransformation` + } + if (!is.null(this_object$`iterations`)) { + self$`iterations` <- this_object$`iterations` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return BioTransformerSequenceStep in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of BioTransformerSequenceStep + #' + #' @param input_json the JSON input + #' @return the instance of BioTransformerSequenceStep + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`metabolicTransformation`) && !(this_object$`metabolicTransformation` %in% c("PHASE_1_CYP450", "EC_BASED", "PHASE_2", "HUMAN_GUT", "ALL_HUMAN", "ABIOTIC", "HUMAN_CUSTOM_MULTI"))) { + stop(paste("Error! \"", this_object$`metabolicTransformation`, "\" cannot be assigned to `metabolicTransformation`. Must be \"PHASE_1_CYP450\", \"EC_BASED\", \"PHASE_2\", \"HUMAN_GUT\", \"ALL_HUMAN\", \"ABIOTIC\", \"HUMAN_CUSTOM_MULTI\".", sep = "")) + } + self$`metabolicTransformation` <- this_object$`metabolicTransformation` + self$`iterations` <- this_object$`iterations` + self + }, + + #' @description + #' Validate JSON input with respect to BioTransformerSequenceStep and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of BioTransformerSequenceStep + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# BioTransformerSequenceStep$unlock() +# +## Below is an example to define the print function +# BioTransformerSequenceStep$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# BioTransformerSequenceStep$lock() + diff --git a/client-api_r/generated/R/compound.R b/client-api_r/generated/R/compound.R index 4f19a62d..484e9e3c 100644 --- a/client-api_r/generated/R/compound.R +++ b/client-api_r/generated/R/compound.R @@ -13,9 +13,10 @@ #' @field rtEndSeconds The merged/consensus retention time end (latest rt) of this compound numeric [optional] #' @field neutralMass Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass numeric [optional] #' @field features List of aligned features (adducts) that belong to the same (this) compound list(\link{AlignedFeature}) [optional] -#' @field consensusAnnotations \link{ConsensusAnnotationsCSI} [optional] -#' @field consensusAnnotationsDeNovo \link{ConsensusAnnotationsDeNovo} [optional] -#' @field customAnnotations \link{ConsensusAnnotationsCSI} [optional] +#' @field consensusAnnotations The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsCSI} [optional] +#' @field consensusAnnotationsDeNovo The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsDeNovo} [optional] +#' @field customAnnotations Alternative annotations selected by the User. \link{ConsensusAnnotationsCSI} [optional] +#' @field tags Key: tagName, value: tag named list(\link{Tag}) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -31,6 +32,7 @@ Compound <- R6::R6Class( `consensusAnnotations` = NULL, `consensusAnnotationsDeNovo` = NULL, `customAnnotations` = NULL, + `tags` = NULL, #' @description #' Initialize a new Compound class. @@ -41,11 +43,12 @@ Compound <- R6::R6Class( #' @param rtEndSeconds The merged/consensus retention time end (latest rt) of this compound #' @param neutralMass Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass #' @param features List of aligned features (adducts) that belong to the same (this) compound - #' @param consensusAnnotations consensusAnnotations - #' @param consensusAnnotationsDeNovo consensusAnnotationsDeNovo - #' @param customAnnotations customAnnotations + #' @param consensusAnnotations The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available + #' @param consensusAnnotationsDeNovo The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available + #' @param customAnnotations Alternative annotations selected by the User. + #' @param tags Key: tagName, value: tag #' @param ... Other optional arguments. - initialize = function(`compoundId` = NULL, `name` = NULL, `rtStartSeconds` = NULL, `rtEndSeconds` = NULL, `neutralMass` = NULL, `features` = NULL, `consensusAnnotations` = NULL, `consensusAnnotationsDeNovo` = NULL, `customAnnotations` = NULL, ...) { + initialize = function(`compoundId` = NULL, `name` = NULL, `rtStartSeconds` = NULL, `rtEndSeconds` = NULL, `neutralMass` = NULL, `features` = NULL, `consensusAnnotations` = NULL, `consensusAnnotationsDeNovo` = NULL, `customAnnotations` = NULL, `tags` = NULL, ...) { if (!is.null(`compoundId`)) { if (!(is.character(`compoundId`) && length(`compoundId`) == 1)) { stop(paste("Error! Invalid data for `compoundId`. Must be a string:", `compoundId`)) @@ -93,6 +96,11 @@ Compound <- R6::R6Class( stopifnot(R6::is.R6(`customAnnotations`)) self$`customAnnotations` <- `customAnnotations` } + if (!is.null(`tags`)) { + stopifnot(is.vector(`tags`), length(`tags`) != 0) + sapply(`tags`, function(x) stopifnot(R6::is.R6(x))) + self$`tags` <- `tags` + } }, #' @description @@ -162,6 +170,10 @@ Compound <- R6::R6Class( CompoundObject[["customAnnotations"]] <- self$`customAnnotations`$toSimpleType() } + if (!is.null(self$`tags`)) { + CompoundObject[["tags"]] <- + lapply(self$`tags`, function(x) x$toSimpleType()) + } return(CompoundObject) }, @@ -205,6 +217,9 @@ Compound <- R6::R6Class( `customannotations_object`$fromJSON(jsonlite::toJSON(this_object$`customAnnotations`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`customAnnotations` <- `customannotations_object` } + if (!is.null(this_object$`tags`)) { + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + } self }, @@ -235,6 +250,7 @@ Compound <- R6::R6Class( self$`consensusAnnotations` <- ConsensusAnnotationsCSI$new()$fromJSON(jsonlite::toJSON(this_object$`consensusAnnotations`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`consensusAnnotationsDeNovo` <- ConsensusAnnotationsDeNovo$new()$fromJSON(jsonlite::toJSON(this_object$`consensusAnnotationsDeNovo`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`customAnnotations` <- ConsensusAnnotationsCSI$new()$fromJSON(jsonlite::toJSON(this_object$`customAnnotations`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) self }, diff --git a/client-api_r/generated/R/compound_classes.R b/client-api_r/generated/R/compound_classes.R index c80ecdb4..792a4bb9 100644 --- a/client-api_r/generated/R/compound_classes.R +++ b/client-api_r/generated/R/compound_classes.R @@ -7,9 +7,9 @@ #' @title CompoundClasses #' @description CompoundClasses Class #' @format An \code{R6Class} generator object -#' @field npcPathway \link{CompoundClass} [optional] -#' @field npcSuperclass \link{CompoundClass} [optional] -#' @field npcClass \link{CompoundClass} [optional] +#' @field npcPathway Pathway level NPC class with the highest probability \link{CompoundClass} [optional] +#' @field npcSuperclass Superclass level NPC class with the highest probability \link{CompoundClass} [optional] +#' @field npcClass Class level NPC class with the highest probability \link{CompoundClass} [optional] #' @field classyFireLineage Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation list(\link{CompoundClass}) [optional] #' @field classyFireAlternatives Alternative ClassyFire classes with high probability that do not fit into the linage list(\link{CompoundClass}) [optional] #' @importFrom R6 R6Class @@ -27,9 +27,9 @@ CompoundClasses <- R6::R6Class( #' @description #' Initialize a new CompoundClasses class. #' - #' @param npcPathway npcPathway - #' @param npcSuperclass npcSuperclass - #' @param npcClass npcClass + #' @param npcPathway Pathway level NPC class with the highest probability + #' @param npcSuperclass Superclass level NPC class with the highest probability + #' @param npcClass Class level NPC class with the highest probability #' @param classyFireLineage Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation #' @param classyFireAlternatives Alternative ClassyFire classes with high probability that do not fit into the linage #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/compound_statistics_api.R b/client-api_r/generated/R/compound_statistics_api.R new file mode 100644 index 00000000..48ff3322 --- /dev/null +++ b/client-api_r/generated/R/compound_statistics_api.R @@ -0,0 +1,576 @@ +#' SIRIUS Nightsky API +#' +#' REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 +#' +#' The version of the OpenAPI document: 3.1 +#' Generated by: https://openapi-generator.tech +#' +#' @docType class +#' @title CompoundStatistics operations +#' @description CompoundStatisticsApi +#' @format An \code{R6Class} generator object +#' @field api_client Handles the client-server communication. +#' +#' @examples +#' \dontrun{ +#' #################### ComputeCompoundFoldChangesExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +#' var_left_group_name <- "left_group_name_example" # character | name of the left tag group. +#' var_right_group_name <- "right_group_name_example" # character | name of the right tag group. +#' var_aggregation <- "AVG" # character | aggregation type. (Optional) +#' var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +#' var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) +#' +#' #[EXPERIMENTAL] Compute the fold change between two groups of runs +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$ComputeCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$compound_statistics_api$ComputeCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### DeleteCompoundFoldChangesExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_left_group_name <- "left_group_name_example" # character | name of the left group. +#' var_right_group_name <- "right_group_name_example" # character | name of the right group. +#' var_aggregation <- "AVG" # character | (Optional) +#' var_quantification <- "APEX_INTENSITY" # character | (Optional) +#' +#' #[EXPERIMENTAL] Delete fold changes +#' api_instance <- rsirius_api$new() +#' +#' api_instance$compound_statistics_api$DeleteCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification) +#' +#' +#' #################### GetCompoundFoldChangeTableExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_aggregation <- "AVG" # character | aggregation type. (Optional) +#' var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +#' +#' #[EXPERIMENTAL] Get table of all fold changes in the project space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetCompoundFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantificationdata_file = "result.txt") +#' result <- api_instance$compound_statistics_api$GetCompoundFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantification) +#' dput(result) +#' +#' +#' #################### GetFoldChangesByCompoundExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. +#' +#' #[EXPERIMENTAL] List all fold changes that are associated with an object +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetFoldChangesByCompoundExperimental(var_project_id, var_object_iddata_file = "result.txt") +#' result <- api_instance$compound_statistics_api$GetFoldChangesByCompoundExperimental(var_project_id, var_object_id) +#' dput(result) +#' +#' +#' } +#' @importFrom R6 R6Class +#' @importFrom base64enc base64encode +#' @export +CompoundStatisticsApi <- R6::R6Class( + "CompoundStatisticsApi", + public = list( + api_client = NULL, + + #' @description + #' Initialize a new CompoundStatisticsApi. + #' + #' @param api_client An instance of API client. + initialize = function(api_client) { + if (!missing(api_client)) { + self$api_client <- api_client + } else { + self$api_client <- ApiClient$new() + } + }, + + #' @description + #' [EXPERIMENTAL] Compute the fold change between two groups of runs + #' + #' @param project_id project-space to compute the fold change in. + #' @param left_group_name name of the left tag group. + #' @param right_group_name name of the right tag group. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return Job + ComputeCompoundFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + local_var_response <- self$ComputeCompoundFoldChangesExperimentalWithHttpInfo(project_id, left_group_name, right_group_name, aggregation, quantification, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Compute the fold change between two groups of runs + #' + #' @param project_id project-space to compute the fold change in. + #' @param left_group_name name of the left tag group. + #' @param right_group_name name of the right tag group. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (Job) with additional information such as HTTP status code, headers + ComputeCompoundFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`left_group_name`)) { + stop("Missing required parameter `left_group_name`.") + } + + if (missing(`right_group_name`)) { + stop("Missing required parameter `right_group_name`.") + } + + + + + + + + query_params[["leftGroupName"]] <- `left_group_name` + + query_params[["rightGroupName"]] <- `right_group_name` + + if (!is.null(`aggregation`) && !(`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop("Invalid value for aggregation when calling CompoundStatisticsApi$ComputeCompoundFoldChangesExperimental. Must be [AVG, MIN, MAX].") + } + query_params[["aggregation"]] <- `aggregation` + + if (!is.null(`quantification`) && !(`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for quantification when calling CompoundStatisticsApi$ComputeCompoundFoldChangesExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["quantification"]] <- `quantification` + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "command", "progress", "affectedIds"))) { + stop("Invalid value for opt_fields when calling CompoundStatisticsApi$ComputeCompoundFoldChangesExperimental. Must be [none, command, progress, affectedIds].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/compounds/statistics/foldchange/compute" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PUT", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Delete fold changes + #' + #' @param project_id project-space to delete from. + #' @param left_group_name name of the left group. + #' @param right_group_name name of the right group. + #' @param aggregation (optional) No description (default value: "AVG") + #' @param quantification (optional) No description (default value: "APEX_INTENSITY") + #' @param ... Other optional arguments + #' + #' @return void + DeleteCompoundFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", ...) { + local_var_response <- self$DeleteCompoundFoldChangesExperimentalWithHttpInfo(project_id, left_group_name, right_group_name, aggregation, quantification, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Delete fold changes + #' + #' @param project_id project-space to delete from. + #' @param left_group_name name of the left group. + #' @param right_group_name name of the right group. + #' @param aggregation (optional) No description (default value: "AVG") + #' @param quantification (optional) No description (default value: "APEX_INTENSITY") + #' @param ... Other optional arguments + #' + #' @return API response (void) with additional information such as HTTP status code, headers + DeleteCompoundFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`left_group_name`)) { + stop("Missing required parameter `left_group_name`.") + } + + if (missing(`right_group_name`)) { + stop("Missing required parameter `right_group_name`.") + } + + + + + + + query_params[["leftGroupName"]] <- `left_group_name` + + query_params[["rightGroupName"]] <- `right_group_name` + + if (!is.null(`aggregation`) && !(`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop("Invalid value for aggregation when calling CompoundStatisticsApi$DeleteCompoundFoldChangesExperimental. Must be [AVG, MIN, MAX].") + } + query_params[["aggregation"]] <- `aggregation` + + if (!is.null(`quantification`) && !(`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for quantification when calling CompoundStatisticsApi$DeleteCompoundFoldChangesExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["quantification"]] <- `quantification` + + local_var_url_path <- "/api/projects/{projectId}/compounds/statistics/foldchanges" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "DELETE", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get table of all fold changes in the project space + #' + #' @param project_id project-space to read from. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return StatisticsTable + GetCompoundFoldChangeTableExperimental = function(project_id, aggregation = "AVG", quantification = "APEX_INTENSITY", data_file = NULL, ...) { + local_var_response <- self$GetCompoundFoldChangeTableExperimentalWithHttpInfo(project_id, aggregation, quantification, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get table of all fold changes in the project space + #' + #' @param project_id project-space to read from. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (StatisticsTable) with additional information such as HTTP status code, headers + GetCompoundFoldChangeTableExperimentalWithHttpInfo = function(project_id, aggregation = "AVG", quantification = "APEX_INTENSITY", data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + + if (!is.null(`aggregation`) && !(`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop("Invalid value for aggregation when calling CompoundStatisticsApi$GetCompoundFoldChangeTableExperimental. Must be [AVG, MIN, MAX].") + } + query_params[["aggregation"]] <- `aggregation` + + if (!is.null(`quantification`) && !(`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for quantification when calling CompoundStatisticsApi$GetCompoundFoldChangeTableExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["quantification"]] <- `quantification` + + local_var_url_path <- "/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] List all fold changes that are associated with an object + #' + #' @param project_id project-space to read from. + #' @param object_id id of the object the fold changes are assigned to. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[FoldChange] + GetFoldChangesByCompoundExperimental = function(project_id, object_id, data_file = NULL, ...) { + local_var_response <- self$GetFoldChangesByCompoundExperimentalWithHttpInfo(project_id, object_id, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] List all fold changes that are associated with an object + #' + #' @param project_id project-space to read from. + #' @param object_id id of the object the fold changes are assigned to. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[FoldChange]) with additional information such as HTTP status code, headers + GetFoldChangesByCompoundExperimentalWithHttpInfo = function(project_id, object_id, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`object_id`)) { + stop("Missing required parameter `object_id`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`object_id`)) { + local_var_url_path <- gsub("\\{objectId\\}", URLencode(as.character(`object_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + } + ) +) diff --git a/client-api_r/generated/R/compounds_api.R b/client-api_r/generated/R/compounds_api.R index c5d018a1..14fff211 100644 --- a/client-api_r/generated/R/compounds_api.R +++ b/client-api_r/generated/R/compounds_api.R @@ -17,7 +17,7 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to import into. -#' var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123), c(BasicSpectrum$new(c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)), c(BasicSpectrum$new(c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported +#' var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported #' var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' to override defaults. (Optional) #' var_opt_fields_features <- c("none") # array[character] | set of optional fields of the nested features to be included. Use 'none' to override defaults. (Optional) @@ -31,6 +31,22 @@ #' dput(result) #' #' +#' #################### AddTagsToCompoundExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to add to. +#' var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. +#' var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +#' +#' #[EXPERIMENTAL] Tags with the same name will be overwritten +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$AddTagsToCompoundExperimental(var_project_id, var_compound_id, var_tagdata_file = "result.txt") +#' result <- api_instance$compounds_api$AddTagsToCompoundExperimental(var_project_id, var_compound_id, var_tag) +#' dput(result) +#' +#' #' #################### DeleteCompound #################### #' #' library(Rsirius) @@ -48,6 +64,7 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_compound_id <- "compound_id_example" # character | identifier of the compound (group of ion identities) to access. +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' var_opt_fields_features <- c("none") # array[character] | (Optional) #' @@ -55,8 +72,39 @@ #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetCompound(var_project_id, var_compound_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -#' result <- api_instance$compounds_api$GetCompound(var_project_id, var_compound_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +#' # result <- api_instance$GetCompound(var_project_id, var_compound_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +#' result <- api_instance$compounds_api$GetCompound(var_project_id, var_compound_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +#' dput(result) +#' +#' +#' #################### GetCompoundQuantTableExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) +#' +#' #[EXPERIMENTAL] Returns the full quantification table of compounds +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetCompoundQuantTableExperimental(var_project_id, type = var_typedata_file = "result.txt") +#' result <- api_instance$compounds_api$GetCompoundQuantTableExperimental(var_project_id, type = var_type) +#' dput(result) +#' +#' +#' #################### GetCompoundQuantTableRowExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_compound_id <- "compound_id_example" # character | compound which should be read out +#' var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) +#' +#' #[EXPERIMENTAL] Returns a single quantification table row for the given compound +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetCompoundQuantTableRowExperimental(var_project_id, var_compound_id, type = var_typedata_file = "result.txt") +#' result <- api_instance$compounds_api$GetCompoundQuantTableRowExperimental(var_project_id, var_compound_id, type = var_type) #' dput(result) #' #' @@ -67,7 +115,7 @@ #' var_compound_id <- "compound_id_example" # character | compound which intensities should be read out #' var_feature_id <- "" # character | (Optional) #' -#' #EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#' #[EXPERIMENTAL] Returns the traces of the given compound #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -80,6 +128,7 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' var_opt_fields_features <- c("none") # array[character] | (Optional) #' @@ -87,8 +136,46 @@ #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetCompounds(var_project_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -#' result <- api_instance$compounds_api$GetCompounds(var_project_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +#' # result <- api_instance$GetCompounds(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +#' result <- api_instance$compounds_api$GetCompounds(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +#' dput(result) +#' +#' +#' #################### GetCompoundsByGroupExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_group_name <- "group_name_example" # character | tag group name. +#' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +#' var_size <- 20 # integer | The size of the page to be returned (Optional) +#' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) +#' +#' #[EXPERIMENTAL] Get compounds (group of ion identities) by tag group +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetCompoundsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$compounds_api$GetCompoundsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetCompoundsByTagExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project space to get compounds (group of ion identities) from. +#' var_filter <- "" # character | tag filter. (Optional) +#' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +#' var_size <- 20 # integer | The size of the page to be returned (Optional) +#' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) +#' +#' #[EXPERIMENTAL] Get compounds (group of ion identities) by tag +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetCompoundsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$compounds_api$GetCompoundsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) #' dput(result) #' #' @@ -99,6 +186,7 @@ #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) #' var_size <- 20 # integer | The size of the page to be returned (Optional) #' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' var_opt_fields_features <- c("none") # array[character] | (Optional) #' @@ -106,11 +194,39 @@ #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -#' result <- api_instance$compounds_api$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +#' # result <- api_instance$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +#' result <- api_instance$compounds_api$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +#' dput(result) +#' +#' +#' #################### GetTagsForCompoundExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to get from. +#' var_object_id <- "object_id_example" # character | CompoundId to get tags for. +#' +#' #[EXPERIMENTAL] Get all tags associated with this Compound +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetTagsForCompoundExperimental(var_project_id, var_object_iddata_file = "result.txt") +#' result <- api_instance$compounds_api$GetTagsForCompoundExperimental(var_project_id, var_object_id) #' dput(result) #' #' +#' #################### RemoveTagFromCompoundExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to delete tag from. +#' var_tag_name <- "tag_name_example" # character | name of the tag to delete. +#' +#' #[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space +#' api_instance <- rsirius_api$new() +#' +#' api_instance$compounds_api$RemoveTagFromCompoundExperimental(var_project_id, var_compound_id, var_tag_name) +#' +#' #' } #' @importFrom R6 R6Class #' @importFrom base64enc base64encode @@ -138,13 +254,13 @@ CompoundsApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param compound_import the compound data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) + #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[Compound] - AddCompounds = function(project_id, compound_import, profile = NULL, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { + AddCompounds = function(project_id, compound_import, profile = NULL, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { local_var_response <- self$AddCompoundsWithHttpInfo(project_id, compound_import, profile, opt_fields, opt_fields_features, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -163,13 +279,13 @@ CompoundsApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param compound_import the compound data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) + #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[Compound]) with additional information such as HTTP status code, headers - AddCompoundsWithHttpInfo = function(project_id, compound_import, profile = NULL, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { + AddCompoundsWithHttpInfo = function(project_id, compound_import, profile = NULL, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -200,8 +316,8 @@ CompoundsApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations"))) { - stop("Invalid value for opt_fields when calling CompoundsApi$AddCompounds. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations].") + if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"))) { + stop("Invalid value for opt_fields when calling CompoundsApi$AddCompounds. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -209,8 +325,8 @@ CompoundsApi <- R6::R6Class( # explore for (query_item in `opt_fields_features`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields_features when calling CompoundsApi$AddCompounds. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields_features when calling CompoundsApi$AddCompounds. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") } query_params[["optFieldsFeatures"]] <- c(query_params[["optFieldsFeatures"]], list(`optFieldsFeatures` = query_item)) } @@ -275,6 +391,128 @@ CompoundsApi <- R6::R6Class( } }, + #' @description + #' [EXPERIMENTAL] Tags with the same name will be overwritten + #' + #' @param project_id project-space to add to. + #' @param compound_id compound (group of ion identities) to add tags to. + #' @param tag tags to add. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[Tag] + AddTagsToCompoundExperimental = function(project_id, compound_id, tag, data_file = NULL, ...) { + local_var_response <- self$AddTagsToCompoundExperimentalWithHttpInfo(project_id, compound_id, tag, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Tags with the same name will be overwritten + #' + #' @param project_id project-space to add to. + #' @param compound_id compound (group of ion identities) to add tags to. + #' @param tag tags to add. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[Tag]) with additional information such as HTTP status code, headers + AddTagsToCompoundExperimentalWithHttpInfo = function(project_id, compound_id, tag, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`compound_id`)) { + stop("Missing required parameter `compound_id`.") + } + + if (missing(`tag`)) { + stop("Missing required parameter `tag`.") + } + + + + + if (!is.null(`tag`)) { + body.items <- paste(unlist(lapply(`tag`, function(param) { + param$toJSONString() + })), collapse = ",") + local_var_body <- paste0("[", body.items, "]") + } else { + body <- NULL + } + + local_var_url_path <- "/api/projects/{projectId}/compounds/tags/{compoundId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`compound_id`)) { + local_var_url_path <- gsub("\\{compoundId\\}", URLencode(as.character(`compound_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list("application/json") + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PUT", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + #' @description #' Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. #' @@ -373,14 +611,15 @@ CompoundsApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param compound_id identifier of the compound (group of ion identities) to access. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields_features (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Compound - GetCompound = function(project_id, compound_id, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetCompoundWithHttpInfo(project_id, compound_id, opt_fields, opt_fields_features, data_file = data_file, ...) + GetCompound = function(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetCompoundWithHttpInfo(project_id, compound_id, ms_data_search_prepared, opt_fields, opt_fields_features, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -397,13 +636,14 @@ CompoundsApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param compound_id identifier of the compound (group of ion identities) to access. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields_features (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Compound) with additional information such as HTTP status code, headers - GetCompoundWithHttpInfo = function(project_id, compound_id, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { + GetCompoundWithHttpInfo = function(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -425,11 +665,14 @@ CompoundsApi <- R6::R6Class( + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations"))) { - stop("Invalid value for opt_fields when calling CompoundsApi$GetCompound. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations].") + if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"))) { + stop("Invalid value for opt_fields when calling CompoundsApi$GetCompound. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -437,8 +680,8 @@ CompoundsApi <- R6::R6Class( # explore for (query_item in `opt_fields_features`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields_features when calling CompoundsApi$GetCompound. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields_features when calling CompoundsApi$GetCompound. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") } query_params[["optFieldsFeatures"]] <- c(query_params[["optFieldsFeatures"]], list(`optFieldsFeatures` = query_item)) } @@ -499,17 +742,16 @@ CompoundsApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' [EXPERIMENTAL] Returns the full quantification table of compounds #' #' @param project_id project-space to read from. - #' @param compound_id compound which intensities should be read out - #' @param feature_id (optional) No description (default value: "") + #' @param type (optional) quantification type. (default value: "APEX_HEIGHT") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return TraceSetExperimental - GetCompoundTracesExperimental = function(project_id, compound_id, feature_id = "", data_file = NULL, ...) { - local_var_response <- self$GetCompoundTracesExperimentalWithHttpInfo(project_id, compound_id, feature_id, data_file = data_file, ...) + #' @return QuantTableExperimental + GetCompoundQuantTableExperimental = function(project_id, type = "APEX_HEIGHT", data_file = NULL, ...) { + local_var_response <- self$GetCompoundQuantTableExperimentalWithHttpInfo(project_id, type, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -522,16 +764,15 @@ CompoundsApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' [EXPERIMENTAL] Returns the full quantification table of compounds #' #' @param project_id project-space to read from. - #' @param compound_id compound which intensities should be read out - #' @param feature_id (optional) No description (default value: "") + #' @param type (optional) quantification type. (default value: "APEX_HEIGHT") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (TraceSetExperimental) with additional information such as HTTP status code, headers - GetCompoundTracesExperimentalWithHttpInfo = function(project_id, compound_id, feature_id = "", data_file = NULL, ...) { + #' @return API response (QuantTableExperimental) with additional information such as HTTP status code, headers + GetCompoundQuantTableExperimentalWithHttpInfo = function(project_id, type = "APEX_HEIGHT", data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -545,24 +786,18 @@ CompoundsApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } - if (missing(`compound_id`)) { - stop("Missing required parameter `compound_id`.") - } - + if (!is.null(`type`) && !(`type` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for type when calling CompoundsApi$GetCompoundQuantTableExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["type"]] <- `type` - query_params[["featureId"]] <- `feature_id` - - local_var_url_path <- "/api/projects/{projectId}/compounds/{compoundId}/traces" + local_var_url_path <- "/api/projects/{projectId}/compounds/quant-table" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } - if (!missing(`compound_id`)) { - local_var_url_path <- gsub("\\{compoundId\\}", URLencode(as.character(`compound_id`), reserved = TRUE), local_var_url_path) - } - # The Accept request HTTP header local_var_accepts <- list("application/json") @@ -590,7 +825,7 @@ CompoundsApi <- R6::R6Class( } deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), error = function(e) { stop("Failed to deserialize response") } @@ -610,17 +845,17 @@ CompoundsApi <- R6::R6Class( }, #' @description - #' List of all available compounds (group of ion identities) in the given project-space. + #' [EXPERIMENTAL] Returns a single quantification table row for the given compound #' #' @param project_id project-space to read from. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param compound_id compound which should be read out + #' @param type (optional) quantification type. (default value: "APEX_HEIGHT") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return array[Compound] - GetCompounds = function(project_id, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetCompoundsWithHttpInfo(project_id, opt_fields, opt_fields_features, data_file = data_file, ...) + #' @return QuantTableExperimental + GetCompoundQuantTableRowExperimental = function(project_id, compound_id, type = "APEX_HEIGHT", data_file = NULL, ...) { + local_var_response <- self$GetCompoundQuantTableRowExperimentalWithHttpInfo(project_id, compound_id, type, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -633,16 +868,16 @@ CompoundsApi <- R6::R6Class( }, #' @description - #' List of all available compounds (group of ion identities) in the given project-space. + #' [EXPERIMENTAL] Returns a single quantification table row for the given compound #' #' @param project_id project-space to read from. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param compound_id compound which should be read out + #' @param type (optional) quantification type. (default value: "APEX_HEIGHT") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (array[Compound]) with additional information such as HTTP status code, headers - GetCompoundsWithHttpInfo = function(project_id, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { + #' @return API response (QuantTableExperimental) with additional information such as HTTP status code, headers + GetCompoundQuantTableRowExperimentalWithHttpInfo = function(project_id, compound_id, type = "APEX_HEIGHT", data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -656,32 +891,27 @@ CompoundsApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } + if (missing(`compound_id`)) { + stop("Missing required parameter `compound_id`.") + } - # explore - for (query_item in `opt_fields`) { - # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations"))) { - stop("Invalid value for opt_fields when calling CompoundsApi$GetCompounds. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations].") - } - query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) - } - # explore - for (query_item in `opt_fields_features`) { - # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields_features when calling CompoundsApi$GetCompounds. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") - } - query_params[["optFieldsFeatures"]] <- c(query_params[["optFieldsFeatures"]], list(`optFieldsFeatures` = query_item)) + if (!is.null(`type`) && !(`type` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for type when calling CompoundsApi$GetCompoundQuantTableRowExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") } + query_params[["type"]] <- `type` - local_var_url_path <- "/api/projects/{projectId}/compounds" + local_var_url_path <- "/api/projects/{projectId}/compounds/{compoundId}/quant-table-row" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } + if (!missing(`compound_id`)) { + local_var_url_path <- gsub("\\{compoundId\\}", URLencode(as.character(`compound_id`), reserved = TRUE), local_var_url_path) + } + # The Accept request HTTP header local_var_accepts <- list("application/json") @@ -709,7 +939,7 @@ CompoundsApi <- R6::R6Class( } deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), error = function(e) { stop("Failed to deserialize response") } @@ -729,20 +959,17 @@ CompoundsApi <- R6::R6Class( }, #' @description - #' Page of available compounds (group of ion identities) in the given project-space. + #' [EXPERIMENTAL] Returns the traces of the given compound #' #' @param project_id project-space to read from. - #' @param page (optional) Zero-based page index (0..N) (default value: 0) - #' @param size (optional) The size of the page to be returned (default value: 20) - #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param compound_id compound which intensities should be read out + #' @param feature_id (optional) No description (default value: "") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return PagedModelCompound - GetCompoundsPaged = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetCompoundsPagedWithHttpInfo(project_id, page, size, sort, opt_fields, opt_fields_features, data_file = data_file, ...) + #' @return TraceSetExperimental + GetCompoundTracesExperimental = function(project_id, compound_id, feature_id = "", data_file = NULL, ...) { + local_var_response <- self$GetCompoundTracesExperimentalWithHttpInfo(project_id, compound_id, feature_id, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -755,19 +982,16 @@ CompoundsApi <- R6::R6Class( }, #' @description - #' Page of available compounds (group of ion identities) in the given project-space. + #' [EXPERIMENTAL] Returns the traces of the given compound #' #' @param project_id project-space to read from. - #' @param page (optional) Zero-based page index (0..N) (default value: 0) - #' @param size (optional) The size of the page to be returned (default value: 20) - #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param compound_id compound which intensities should be read out + #' @param feature_id (optional) No description (default value: "") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (PagedModelCompound) with additional information such as HTTP status code, headers - GetCompoundsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { + #' @return API response (TraceSetExperimental) with additional information such as HTTP status code, headers + GetCompoundTracesExperimentalWithHttpInfo = function(project_id, compound_id, feature_id = "", data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -781,8 +1005,527 @@ CompoundsApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } - - if (`page` < 0) { + if (missing(`compound_id`)) { + stop("Missing required parameter `compound_id`.") + } + + + + + query_params[["featureId"]] <- `feature_id` + + local_var_url_path <- "/api/projects/{projectId}/compounds/{compoundId}/traces" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`compound_id`)) { + local_var_url_path <- gsub("\\{compoundId\\}", URLencode(as.character(`compound_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' List of all available compounds (group of ion identities) in the given project-space. + #' + #' @param project_id project-space to read from. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[Compound] + GetCompounds = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { + local_var_response <- self$GetCompoundsWithHttpInfo(project_id, ms_data_search_prepared, opt_fields, opt_fields_features, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' List of all available compounds (group of ion identities) in the given project-space. + #' + #' @param project_id project-space to read from. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) No description (default value: ["none"]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[Compound]) with additional information such as HTTP status code, headers + GetCompoundsWithHttpInfo = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"))) { + stop("Invalid value for opt_fields when calling CompoundsApi$GetCompounds. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + # explore + for (query_item in `opt_fields_features`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields_features when calling CompoundsApi$GetCompounds. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") + } + query_params[["optFieldsFeatures"]] <- c(query_params[["optFieldsFeatures"]], list(`optFieldsFeatures` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/compounds" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get compounds (group of ion identities) by tag group + #' + #' @param project_id project-space to delete from. + #' @param group_name tag group name. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return PagedModelCompound + GetCompoundsByGroupExperimental = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetCompoundsByGroupExperimentalWithHttpInfo(project_id, group_name, page, size, sort, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get compounds (group of ion identities) by tag group + #' + #' @param project_id project-space to delete from. + #' @param group_name tag group name. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (PagedModelCompound) with additional information such as HTTP status code, headers + GetCompoundsByGroupExperimentalWithHttpInfo = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`group_name`)) { + stop("Missing required parameter `group_name`.") + } + + + + if (`page` < 0) { + stop("Invalid value for `page` when calling CompoundsApi$GetCompoundsByGroupExperimental, must be bigger than or equal to 0.") + } + + if (`size` < 1) { + stop("Invalid value for `size` when calling CompoundsApi$GetCompoundsByGroupExperimental, must be bigger than or equal to 1.") + } + + + + query_params[["groupName"]] <- `group_name` + + query_params[["page"]] <- `page` + + query_params[["size"]] <- `size` + + # explore + for (query_item in `sort`) { + query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) + } + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"))) { + stop("Invalid value for opt_fields when calling CompoundsApi$GetCompoundsByGroupExperimental. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/compounds/grouped" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get compounds (group of ion identities) by tag + #' + #' @param project_id project space to get compounds (group of ion identities) from. + #' @param filter (optional) tag filter. (default value: "") + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return PagedModelCompound + GetCompoundsByTagExperimental = function(project_id, filter = "", page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + local_var_response <- self$GetCompoundsByTagExperimentalWithHttpInfo(project_id, filter, page, size, sort, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get compounds (group of ion identities) by tag + #' + #' @param project_id project space to get compounds (group of ion identities) from. + #' @param filter (optional) tag filter. (default value: "") + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (PagedModelCompound) with additional information such as HTTP status code, headers + GetCompoundsByTagExperimentalWithHttpInfo = function(project_id, filter = "", page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + if (`page` < 0) { + stop("Invalid value for `page` when calling CompoundsApi$GetCompoundsByTagExperimental, must be bigger than or equal to 0.") + } + + if (`size` < 1) { + stop("Invalid value for `size` when calling CompoundsApi$GetCompoundsByTagExperimental, must be bigger than or equal to 1.") + } + + + + query_params[["filter"]] <- `filter` + + query_params[["page"]] <- `page` + + query_params[["size"]] <- `size` + + # explore + for (query_item in `sort`) { + query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) + } + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"))) { + stop("Invalid value for opt_fields when calling CompoundsApi$GetCompoundsByTagExperimental. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/compounds/tagged" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' Page of available compounds (group of ion identities) in the given project-space. + #' + #' @param project_id project-space to read from. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields_features (optional) No description (default value: [none]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return PagedModelCompound + GetCompoundsPaged = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetCompoundsPagedWithHttpInfo(project_id, page, size, sort, ms_data_search_prepared, opt_fields, opt_fields_features, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' Page of available compounds (group of ion identities) in the given project-space. + #' + #' @param project_id project-space to read from. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields_features (optional) No description (default value: [none]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (PagedModelCompound) with additional information such as HTTP status code, headers + GetCompoundsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + if (`page` < 0) { stop("Invalid value for `page` when calling CompoundsApi$GetCompoundsPaged, must be bigger than or equal to 0.") } @@ -793,6 +1536,7 @@ CompoundsApi <- R6::R6Class( + query_params[["page"]] <- `page` query_params[["size"]] <- `size` @@ -802,11 +1546,13 @@ CompoundsApi <- R6::R6Class( query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) } + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations"))) { - stop("Invalid value for opt_fields when calling CompoundsApi$GetCompoundsPaged. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations].") + if (!is.null(query_item) && !(query_item %in% c("none", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"))) { + stop("Invalid value for opt_fields when calling CompoundsApi$GetCompoundsPaged. Must be [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -814,8 +1560,8 @@ CompoundsApi <- R6::R6Class( # explore for (query_item in `opt_fields_features`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields_features when calling CompoundsApi$GetCompoundsPaged. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields_features when calling CompoundsApi$GetCompoundsPaged. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") } query_params[["optFieldsFeatures"]] <- c(query_params[["optFieldsFeatures"]], list(`optFieldsFeatures` = query_item)) } @@ -869,6 +1615,216 @@ CompoundsApi <- R6::R6Class( } local_var_resp } + }, + + #' @description + #' [EXPERIMENTAL] Get all tags associated with this Compound + #' + #' @param project_id project-space to get from. + #' @param object_id CompoundId to get tags for. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[Tag] + GetTagsForCompoundExperimental = function(project_id, object_id, data_file = NULL, ...) { + local_var_response <- self$GetTagsForCompoundExperimentalWithHttpInfo(project_id, object_id, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tags associated with this Compound + #' + #' @param project_id project-space to get from. + #' @param object_id CompoundId to get tags for. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[Tag]) with additional information such as HTTP status code, headers + GetTagsForCompoundExperimentalWithHttpInfo = function(project_id, object_id, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`object_id`)) { + stop("Missing required parameter `object_id`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/compounds/tags/{objectId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`object_id`)) { + local_var_url_path <- gsub("\\{objectId\\}", URLencode(as.character(`object_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param compound_id compound (group of ion identities) to delete tag from. + #' @param tag_name name of the tag to delete. + #' @param ... Other optional arguments + #' + #' @return void + RemoveTagFromCompoundExperimental = function(project_id, compound_id, tag_name, ...) { + local_var_response <- self$RemoveTagFromCompoundExperimentalWithHttpInfo(project_id, compound_id, tag_name, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param compound_id compound (group of ion identities) to delete tag from. + #' @param tag_name name of the tag to delete. + #' @param ... Other optional arguments + #' + #' @return API response (void) with additional information such as HTTP status code, headers + RemoveTagFromCompoundExperimentalWithHttpInfo = function(project_id, compound_id, tag_name, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`compound_id`)) { + stop("Missing required parameter `compound_id`.") + } + + if (missing(`tag_name`)) { + stop("Missing required parameter `tag_name`.") + } + + + + + local_var_url_path <- "/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`compound_id`)) { + local_var_url_path <- gsub("\\{compoundId\\}", URLencode(as.character(`compound_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`tag_name`)) { + local_var_url_path <- gsub("\\{tagName\\}", URLencode(as.character(`tag_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "DELETE", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } } ) ) diff --git a/client-api_r/generated/R/computed_subtools.R b/client-api_r/generated/R/computed_subtools.R index 0d434051..4b3c1eda 100644 --- a/client-api_r/generated/R/computed_subtools.R +++ b/client-api_r/generated/R/computed_subtools.R @@ -1,7 +1,7 @@ #' Create a new ComputedSubtools #' #' @description -#' Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. +#' ComputedSubtools Class #' #' @docType class #' @title ComputedSubtools diff --git a/client-api_r/generated/R/consensus_annotations_csi.R b/client-api_r/generated/R/consensus_annotations_csi.R index c8f8baa2..18fca992 100644 --- a/client-api_r/generated/R/consensus_annotations_csi.R +++ b/client-api_r/generated/R/consensus_annotations_csi.R @@ -8,10 +8,10 @@ #' @description ConsensusAnnotationsCSI Class #' @format An \code{R6Class} generator object #' @field molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional] -#' @field compoundClasses \link{CompoundClasses} [optional] +#' @field compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional] #' @field supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. list(character) [optional] #' @field selectionCriterion Null if this is a custom selection character [optional] -#' @field csiFingerIdStructure \link{StructureCandidate} [optional] +#' @field csiFingerIdStructure Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. \link{StructureCandidate} [optional] #' @field confidenceExactMatch Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported numeric [optional] #' @field confidenceApproxMatch Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported numeric [optional] #' @importFrom R6 R6Class @@ -32,10 +32,10 @@ ConsensusAnnotationsCSI <- R6::R6Class( #' Initialize a new ConsensusAnnotationsCSI class. #' #' @param molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. - #' @param compoundClasses compoundClasses + #' @param compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. #' @param supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. #' @param selectionCriterion Null if this is a custom selection - #' @param csiFingerIdStructure csiFingerIdStructure + #' @param csiFingerIdStructure Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. #' @param confidenceExactMatch Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported #' @param confidenceApproxMatch Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/consensus_annotations_de_novo.R b/client-api_r/generated/R/consensus_annotations_de_novo.R index 86f8a8cf..774ff391 100644 --- a/client-api_r/generated/R/consensus_annotations_de_novo.R +++ b/client-api_r/generated/R/consensus_annotations_de_novo.R @@ -8,7 +8,7 @@ #' @description ConsensusAnnotationsDeNovo Class #' @format An \code{R6Class} generator object #' @field molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional] -#' @field compoundClasses \link{CompoundClasses} [optional] +#' @field compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional] #' @field supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. list(character) [optional] #' @field selectionCriterion Criterion that was used to select the consensus annotation. character [optional] #' @importFrom R6 R6Class @@ -26,7 +26,7 @@ ConsensusAnnotationsDeNovo <- R6::R6Class( #' Initialize a new ConsensusAnnotationsDeNovo class. #' #' @param molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. - #' @param compoundClasses compoundClasses + #' @param compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. #' @param supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. #' @param selectionCriterion Criterion that was used to select the consensus annotation. #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/feature_annotations.R b/client-api_r/generated/R/feature_annotations.R index d076594a..e48db544 100644 --- a/client-api_r/generated/R/feature_annotations.R +++ b/client-api_r/generated/R/feature_annotations.R @@ -7,9 +7,9 @@ #' @title FeatureAnnotations #' @description FeatureAnnotations Class #' @format An \code{R6Class} generator object -#' @field formulaAnnotation \link{FormulaCandidate} [optional] -#' @field structureAnnotation \link{StructureCandidateScored} [optional] -#' @field compoundClassAnnotation \link{CompoundClasses} [optional] +#' @field formulaAnnotation Best matching FormulaCandidate. \link{FormulaCandidate} [optional] +#' @field structureAnnotation Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. \link{StructureCandidateScored} [optional] +#' @field compoundClassAnnotation Best matching compound classes that correspond to the formulaAnnotation \link{CompoundClasses} [optional] #' @field confidenceExactMatch Confidence Score that represents the confidence whether the top hit is correct. numeric [optional] #' @field confidenceApproxMatch Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. numeric [optional] #' @field expansiveSearchState Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) character [optional] @@ -33,9 +33,9 @@ FeatureAnnotations <- R6::R6Class( #' @description #' Initialize a new FeatureAnnotations class. #' - #' @param formulaAnnotation formulaAnnotation - #' @param structureAnnotation structureAnnotation - #' @param compoundClassAnnotation compoundClassAnnotation + #' @param formulaAnnotation Best matching FormulaCandidate. + #' @param structureAnnotation Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. + #' @param compoundClassAnnotation Best matching compound classes that correspond to the formulaAnnotation #' @param confidenceExactMatch Confidence Score that represents the confidence whether the top hit is correct. #' @param confidenceApproxMatch Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. #' @param expansiveSearchState Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) diff --git a/client-api_r/generated/R/feature_import.R b/client-api_r/generated/R/feature_import.R index f9605b50..51c6cdd1 100644 --- a/client-api_r/generated/R/feature_import.R +++ b/client-api_r/generated/R/feature_import.R @@ -16,7 +16,7 @@ #' @field rtEndSeconds numeric [optional] #' @field rtApexSeconds numeric [optional] #' @field dataQuality A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. character [optional] -#' @field mergedMs1 \link{BasicSpectrum} [optional] +#' @field mergedMs1 Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. \link{BasicSpectrum} [optional] #' @field ms1Spectra List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. list(\link{BasicSpectrum}) [optional] #' @field ms2Spectra List of MS/MS spectra that belong to this feature. list(\link{BasicSpectrum}) [optional] #' @importFrom R6 R6Class @@ -50,7 +50,7 @@ FeatureImport <- R6::R6Class( #' @param rtEndSeconds rtEndSeconds #' @param rtApexSeconds rtApexSeconds #' @param dataQuality A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. - #' @param mergedMs1 mergedMs1 + #' @param mergedMs1 Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. #' @param ms1Spectra List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. #' @param ms2Spectra List of MS/MS spectra that belong to this feature. #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/feature_statistics_api.R b/client-api_r/generated/R/feature_statistics_api.R new file mode 100644 index 00000000..87839580 --- /dev/null +++ b/client-api_r/generated/R/feature_statistics_api.R @@ -0,0 +1,576 @@ +#' SIRIUS Nightsky API +#' +#' REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 +#' +#' The version of the OpenAPI document: 3.1 +#' Generated by: https://openapi-generator.tech +#' +#' @docType class +#' @title FeatureStatistics operations +#' @description FeatureStatisticsApi +#' @format An \code{R6Class} generator object +#' @field api_client Handles the client-server communication. +#' +#' @examples +#' \dontrun{ +#' #################### ComputeAlignedFeatureFoldChangesExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +#' var_left_group_name <- "left_group_name_example" # character | name of the left tag group. +#' var_right_group_name <- "right_group_name_example" # character | name of the right tag group. +#' var_aggregation <- "AVG" # character | aggregation type. (Optional) +#' var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +#' var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) +#' +#' #[EXPERIMENTAL] Compute the fold change between two groups of runs +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$ComputeAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$feature_statistics_api$ComputeAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### DeleteAlignedFeatureFoldChangesExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_left_group_name <- "left_group_name_example" # character | name of the left group. +#' var_right_group_name <- "right_group_name_example" # character | name of the right group. +#' var_aggregation <- "AVG" # character | (Optional) +#' var_quantification <- "APEX_INTENSITY" # character | (Optional) +#' +#' #[EXPERIMENTAL] Delete fold changes +#' api_instance <- rsirius_api$new() +#' +#' api_instance$feature_statistics_api$DeleteAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification) +#' +#' +#' #################### GetAlignedFeatureFoldChangeTableExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_aggregation <- "AVG" # character | aggregation type. (Optional) +#' var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +#' +#' #[EXPERIMENTAL] Get table of all fold changes in the project space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetAlignedFeatureFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantificationdata_file = "result.txt") +#' result <- api_instance$feature_statistics_api$GetAlignedFeatureFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantification) +#' dput(result) +#' +#' +#' #################### GetFoldChangesByAlignedFeatureExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. +#' +#' #[EXPERIMENTAL] List all fold changes that are associated with an object +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetFoldChangesByAlignedFeatureExperimental(var_project_id, var_object_iddata_file = "result.txt") +#' result <- api_instance$feature_statistics_api$GetFoldChangesByAlignedFeatureExperimental(var_project_id, var_object_id) +#' dput(result) +#' +#' +#' } +#' @importFrom R6 R6Class +#' @importFrom base64enc base64encode +#' @export +FeatureStatisticsApi <- R6::R6Class( + "FeatureStatisticsApi", + public = list( + api_client = NULL, + + #' @description + #' Initialize a new FeatureStatisticsApi. + #' + #' @param api_client An instance of API client. + initialize = function(api_client) { + if (!missing(api_client)) { + self$api_client <- api_client + } else { + self$api_client <- ApiClient$new() + } + }, + + #' @description + #' [EXPERIMENTAL] Compute the fold change between two groups of runs + #' + #' @param project_id project-space to compute the fold change in. + #' @param left_group_name name of the left tag group. + #' @param right_group_name name of the right tag group. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return Job + ComputeAlignedFeatureFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + local_var_response <- self$ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo(project_id, left_group_name, right_group_name, aggregation, quantification, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Compute the fold change between two groups of runs + #' + #' @param project_id project-space to compute the fold change in. + #' @param left_group_name name of the left tag group. + #' @param right_group_name name of the right tag group. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (Job) with additional information such as HTTP status code, headers + ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`left_group_name`)) { + stop("Missing required parameter `left_group_name`.") + } + + if (missing(`right_group_name`)) { + stop("Missing required parameter `right_group_name`.") + } + + + + + + + + query_params[["leftGroupName"]] <- `left_group_name` + + query_params[["rightGroupName"]] <- `right_group_name` + + if (!is.null(`aggregation`) && !(`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop("Invalid value for aggregation when calling FeatureStatisticsApi$ComputeAlignedFeatureFoldChangesExperimental. Must be [AVG, MIN, MAX].") + } + query_params[["aggregation"]] <- `aggregation` + + if (!is.null(`quantification`) && !(`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for quantification when calling FeatureStatisticsApi$ComputeAlignedFeatureFoldChangesExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["quantification"]] <- `quantification` + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "command", "progress", "affectedIds"))) { + stop("Invalid value for opt_fields when calling FeatureStatisticsApi$ComputeAlignedFeatureFoldChangesExperimental. Must be [none, command, progress, affectedIds].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/statistics/foldchange/compute" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PUT", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Delete fold changes + #' + #' @param project_id project-space to delete from. + #' @param left_group_name name of the left group. + #' @param right_group_name name of the right group. + #' @param aggregation (optional) No description (default value: "AVG") + #' @param quantification (optional) No description (default value: "APEX_INTENSITY") + #' @param ... Other optional arguments + #' + #' @return void + DeleteAlignedFeatureFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", ...) { + local_var_response <- self$DeleteAlignedFeatureFoldChangesExperimentalWithHttpInfo(project_id, left_group_name, right_group_name, aggregation, quantification, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Delete fold changes + #' + #' @param project_id project-space to delete from. + #' @param left_group_name name of the left group. + #' @param right_group_name name of the right group. + #' @param aggregation (optional) No description (default value: "AVG") + #' @param quantification (optional) No description (default value: "APEX_INTENSITY") + #' @param ... Other optional arguments + #' + #' @return API response (void) with additional information such as HTTP status code, headers + DeleteAlignedFeatureFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`left_group_name`)) { + stop("Missing required parameter `left_group_name`.") + } + + if (missing(`right_group_name`)) { + stop("Missing required parameter `right_group_name`.") + } + + + + + + + query_params[["leftGroupName"]] <- `left_group_name` + + query_params[["rightGroupName"]] <- `right_group_name` + + if (!is.null(`aggregation`) && !(`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop("Invalid value for aggregation when calling FeatureStatisticsApi$DeleteAlignedFeatureFoldChangesExperimental. Must be [AVG, MIN, MAX].") + } + query_params[["aggregation"]] <- `aggregation` + + if (!is.null(`quantification`) && !(`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for quantification when calling FeatureStatisticsApi$DeleteAlignedFeatureFoldChangesExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["quantification"]] <- `quantification` + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/statistics/foldchanges" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "DELETE", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get table of all fold changes in the project space + #' + #' @param project_id project-space to read from. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return StatisticsTable + GetAlignedFeatureFoldChangeTableExperimental = function(project_id, aggregation = "AVG", quantification = "APEX_INTENSITY", data_file = NULL, ...) { + local_var_response <- self$GetAlignedFeatureFoldChangeTableExperimentalWithHttpInfo(project_id, aggregation, quantification, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get table of all fold changes in the project space + #' + #' @param project_id project-space to read from. + #' @param aggregation (optional) aggregation type. (default value: "AVG") + #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (StatisticsTable) with additional information such as HTTP status code, headers + GetAlignedFeatureFoldChangeTableExperimentalWithHttpInfo = function(project_id, aggregation = "AVG", quantification = "APEX_INTENSITY", data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + + if (!is.null(`aggregation`) && !(`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop("Invalid value for aggregation when calling FeatureStatisticsApi$GetAlignedFeatureFoldChangeTableExperimental. Must be [AVG, MIN, MAX].") + } + query_params[["aggregation"]] <- `aggregation` + + if (!is.null(`quantification`) && !(`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for quantification when calling FeatureStatisticsApi$GetAlignedFeatureFoldChangeTableExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["quantification"]] <- `quantification` + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] List all fold changes that are associated with an object + #' + #' @param project_id project-space to read from. + #' @param object_id id of the object the fold changes are assigned to. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[FoldChange] + GetFoldChangesByAlignedFeatureExperimental = function(project_id, object_id, data_file = NULL, ...) { + local_var_response <- self$GetFoldChangesByAlignedFeatureExperimentalWithHttpInfo(project_id, object_id, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] List all fold changes that are associated with an object + #' + #' @param project_id project-space to read from. + #' @param object_id id of the object the fold changes are assigned to. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[FoldChange]) with additional information such as HTTP status code, headers + GetFoldChangesByAlignedFeatureExperimentalWithHttpInfo = function(project_id, object_id, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`object_id`)) { + stop("Missing required parameter `object_id`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`object_id`)) { + local_var_url_path <- gsub("\\{objectId\\}", URLencode(as.character(`object_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + } + ) +) diff --git a/client-api_r/generated/R/features_api.R b/client-api_r/generated/R/features_api.R index df8ca650..fea4cdeb 100644 --- a/client-api_r/generated/R/features_api.R +++ b/client-api_r/generated/R/features_api.R @@ -17,7 +17,7 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to import into. -#' var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123), c(BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)), c(BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported +#' var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported #' var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' to override defaults. (Optional) #' @@ -30,6 +30,38 @@ #' dput(result) #' #' +#' #################### AddDeNovoStructureCandidate #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. +#' var_smiles <- "none" # character | smiles (Optional) +#' +#' #[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$AddDeNovoStructureCandidate(var_project_id, var_aligned_feature_id, smiles = var_smilesdata_file = "result.txt") +#' result <- api_instance$features_api$AddDeNovoStructureCandidate(var_project_id, var_aligned_feature_id, smiles = var_smiles) +#' dput(result) +#' +#' +#' #################### AddTagsToAlignedFeatureExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to add to. +#' var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. +#' var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +#' +#' #[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$AddTagsToAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tagdata_file = "result.txt") +#' result <- api_instance$features_api$AddTagsToAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tag) +#' dput(result) +#' +#' #' #################### DeleteAlignedFeature #################### #' #' library(Rsirius) @@ -60,7 +92,7 @@ #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | one feature that is considered the main feature of the adduct network #' -#' #EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#' #[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -74,14 +106,30 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' #' #Get feature (aligned over runs) with the given identifier from the specified project-space. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetAlignedFeature(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -#' result <- api_instance$features_api$GetAlignedFeature(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fields) +#' # result <- api_instance$GetAlignedFeature(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetAlignedFeature(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetAlignedFeatureQualityExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. +#' +#' #[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetAlignedFeatureQualityExperimental(var_project_id, var_aligned_feature_iddata_file = "result.txt") +#' result <- api_instance$features_api$GetAlignedFeatureQualityExperimental(var_project_id, var_aligned_feature_id) #' dput(result) #' #' @@ -89,47 +137,72 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' #' #Get all available features (aligned over runs) in the given project-space. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetAlignedFeatures(var_project_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -#' result <- api_instance$features_api$GetAlignedFeatures(var_project_id, opt_fields = var_opt_fields) +#' # result <- api_instance$GetAlignedFeatures(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetAlignedFeatures(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) #' dput(result) #' #' -#' #################### GetAlignedFeaturesPaged #################### +#' #################### GetAlignedFeaturesByGroupExperimental #################### #' #' library(Rsirius) -#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_group_name <- "group_name_example" # character | tag group name. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) #' var_size <- 20 # integer | The size of the page to be returned (Optional) #' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' -#' #Get all available features (aligned over runs) in the given project-space. +#' #[EXPERIMENTAL] Get features (aligned over runs) by tag group +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetAlignedFeaturesByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetAlignedFeaturesByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetAlignedFeaturesByTagExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project space to get features (aligned over runs) from. +#' var_filter <- "" # character | tag filter. (Optional) +#' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +#' var_size <- 20 # integer | The size of the page to be returned (Optional) +#' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) +#' +#' #[EXPERIMENTAL] Get features (aligned over runs) by tag #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") -#' result <- api_instance$features_api$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +#' # result <- api_instance$GetAlignedFeaturesByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetAlignedFeaturesByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) #' dput(result) #' #' -#' #################### GetAlignedFeaturesQualityExperimental #################### +#' #################### GetAlignedFeaturesPaged #################### #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. -#' var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. +#' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +#' var_size <- 20 # integer | The size of the page to be returned (Optional) +#' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) +#' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' -#' #EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#' #Get all available features (aligned over runs) in the given project-space. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetAlignedFeaturesQualityExperimental(var_project_id, var_aligned_feature_iddata_file = "result.txt") -#' result <- api_instance$features_api$GetAlignedFeaturesQualityExperimental(var_project_id, var_aligned_feature_id) +#' # result <- api_instance$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) #' dput(result) #' #' @@ -140,7 +213,7 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' -#' #Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +#' #Return Best matching compound classes for given formulaId #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -237,6 +310,21 @@ #' dput(result) #' #' +#' #################### GetFeatureQuantTableExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) +#' +#' #[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetFeatureQuantTableExperimental(var_project_id, type = var_typedata_file = "result.txt") +#' result <- api_instance$features_api$GetFeatureQuantTableExperimental(var_project_id, type = var_type) +#' dput(result) +#' +#' #' #################### GetFingerprintPrediction #################### #' #' library(Rsirius) @@ -244,7 +332,7 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' -#' #Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +#' #Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -259,13 +347,14 @@ #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' -#' #Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +#' #Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_iddata_file = "result.txt") -#' result <- api_instance$features_api$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id) +#' # result <- api_instance$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +#' result <- api_instance$features_api$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared) #' dput(result) #' #' @@ -276,13 +365,14 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' var_spectrum_index <- -1 # integer | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (Optional) +#' var_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' -#' #Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +#' #Returns a fragmentation spectrum (e #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_indexdata_file = "result.txt") -#' result <- api_instance$features_api$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index) +#' # result <- api_instance$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index, search_prepared = var_search_prepareddata_file = "result.txt") +#' result <- api_instance$features_api$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index, search_prepared = var_search_prepared) #' dput(result) #' #' @@ -292,14 +382,15 @@ #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' #' #FormulaResultContainers for the given 'formulaId' with minimal information. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -#' result <- api_instance$features_api$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, opt_fields = var_opt_fields) +#' # result <- api_instance$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) #' dput(result) #' #' @@ -308,14 +399,15 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' #' #List of FormulaResultContainers available for this feature with minimal information. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetFormulaCandidates(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -#' result <- api_instance$features_api$GetFormulaCandidates(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fields) +#' # result <- api_instance$GetFormulaCandidates(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetFormulaCandidates(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) #' dput(result) #' #' @@ -327,14 +419,15 @@ #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) #' var_size <- 20 # integer | The size of the page to be returned (Optional) #' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' #' #Page of FormulaResultContainers available for this feature with minimal information. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") -#' result <- api_instance$features_api$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +#' # result <- api_instance$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$features_api$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) #' dput(result) #' #' @@ -345,7 +438,7 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' -#' #Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +#' #Returns fragmentation tree (SIRIUS) for the given formula result identifier #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -361,7 +454,7 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' -#' #Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. +#' #Returns Isotope pattern information for given formulaId #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -377,7 +470,7 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' -#' #Returns Lipid annotation (ElGordo) for the given formula result identifier. +#' #Returns Lipid annotation (ElGordo) for the given formulaId #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -390,30 +483,31 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. -#' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belong sto. +#' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belongs to. +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' #' #Mass Spec data (input data) for the given 'alignedFeatureId' . #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetMsData(var_project_id, var_aligned_feature_iddata_file = "result.txt") -#' result <- api_instance$features_api$GetMsData(var_project_id, var_aligned_feature_id) +#' # result <- api_instance$GetMsData(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +#' result <- api_instance$features_api$GetMsData(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared) #' dput(result) #' #' -#' #################### GetQuantificationExperimental #################### +#' #################### GetQuantTableRowExperimental #################### #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. -#' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which intensities should be read out +#' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which quantity should be read out #' var_type <- "APEX_HEIGHT" # character | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (Optional) #' -#' #EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#' #[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetQuantificationExperimental(var_project_id, var_aligned_feature_id, type = var_typedata_file = "result.txt") -#' result <- api_instance$features_api$GetQuantificationExperimental(var_project_id, var_aligned_feature_id, type = var_type) +#' # result <- api_instance$GetQuantTableRowExperimental(var_project_id, var_aligned_feature_id, type = var_typedata_file = "result.txt") +#' result <- api_instance$features_api$GetQuantTableRowExperimental(var_project_id, var_aligned_feature_id, type = var_type) #' dput(result) #' #' @@ -422,10 +516,10 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. -#' var_match_id <- "match_id_example" # character | +#' var_match_id <- "match_id_example" # character | id of the library match to be returned. #' var_opt_fields <- c("none") # array[character] | (Optional) #' -#' #List of spectral library matches for the given 'alignedFeatureId'. +#' #Spectral library match for the given 'alignedFeatureId'. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -500,13 +594,30 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' var_inchi_key <- "inchi_key_example" # character | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation +#' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) +#' +#' #[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +#' result <- api_instance$features_api$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, ms_data_search_prepared = var_ms_data_search_prepared) +#' dput(result) #' -#' #EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +#' +#' #################### GetStructureAnnotatedSpectralLibraryMatchExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. +#' var_match_id <- "match_id_example" # character | id of the library match to be returned. +#' +#' #[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_keydata_file = "result.txt") -#' result <- api_instance$features_api$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key) +#' # result <- api_instance$GetStructureAnnotatedSpectralLibraryMatchExperimental(var_project_id, var_aligned_feature_id, var_match_iddata_file = "result.txt") +#' result <- api_instance$features_api$GetStructureAnnotatedSpectralLibraryMatchExperimental(var_project_id, var_aligned_feature_id, var_match_id) #' dput(result) #' #' @@ -518,13 +629,14 @@ #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result #' var_inchi_key <- "inchi_key_example" # character | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation #' var_spectrum_index <- -1 # integer | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (Optional) +#' var_search_prepared <- FALSE # character | (Optional) #' -#' #EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +#' #[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_indexdata_file = "result.txt") -#' result <- api_instance$features_api$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index) +#' # result <- api_instance$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index, search_prepared = var_search_prepareddata_file = "result.txt") +#' result <- api_instance$features_api$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index, search_prepared = var_search_prepared) #' dput(result) #' #' @@ -600,6 +712,21 @@ #' dput(result) #' #' +#' #################### GetTagsForAlignedFeaturesExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to get from. +#' var_object_id <- "object_id_example" # character | object to get tags for. +#' +#' #[EXPERIMENTAL] Get all tags associated with this Object +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetTagsForAlignedFeaturesExperimental(var_project_id, var_object_iddata_file = "result.txt") +#' result <- api_instance$features_api$GetTagsForAlignedFeaturesExperimental(var_project_id, var_object_id) +#' dput(result) +#' +#' #' #################### GetTracesExperimental #################### #' #' library(Rsirius) @@ -607,7 +734,7 @@ #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which intensities should be read out #' var_include_all <- FALSE # character | when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. (Optional) #' -#' #EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#' #[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -616,6 +743,19 @@ #' dput(result) #' #' +#' #################### RemoveTagFromAlignedFeatureExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) to delete tag from. +#' var_tag_name <- "tag_name_example" # character | name of the tag to delete. +#' +#' #[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space +#' api_instance <- rsirius_api$new() +#' +#' api_instance$features_api$RemoveTagFromAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tag_name) +#' +#' #' } #' @importFrom R6 R6Class #' @importFrom base64enc base64encode @@ -643,12 +783,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param feature_import the feature data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[AlignedFeature] - AddAlignedFeatures = function(project_id, feature_import, profile = NULL, opt_fields = list("none"), data_file = NULL, ...) { + AddAlignedFeatures = function(project_id, feature_import, profile = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$AddAlignedFeaturesWithHttpInfo(project_id, feature_import, profile, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -667,12 +807,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param feature_import the feature data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[AlignedFeature]) with additional information such as HTTP status code, headers - AddAlignedFeaturesWithHttpInfo = function(project_id, feature_import, profile = NULL, opt_fields = list("none"), data_file = NULL, ...) { + AddAlignedFeaturesWithHttpInfo = function(project_id, feature_import, profile = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -702,8 +842,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$AddAlignedFeatures. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$AddAlignedFeatures. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -769,15 +909,17 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Delete feature (aligned over runs) with the given identifier from the specified project-space. + #' [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. #' - #' @param project_id project-space to delete from. - #' @param aligned_feature_id identifier of feature (aligned over runs) to delete. + #' @param project_id project-space to read from. + #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. + #' @param smiles (optional) smiles (default value: "none") + #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return void - DeleteAlignedFeature = function(project_id, aligned_feature_id, ...) { - local_var_response <- self$DeleteAlignedFeatureWithHttpInfo(project_id, aligned_feature_id, ...) + #' @return array[StructureCandidateFormula] + AddDeNovoStructureCandidate = function(project_id, aligned_feature_id, smiles = "none", data_file = NULL, ...) { + local_var_response <- self$AddDeNovoStructureCandidateWithHttpInfo(project_id, aligned_feature_id, smiles, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -790,14 +932,16 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Delete feature (aligned over runs) with the given identifier from the specified project-space. + #' [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. #' - #' @param project_id project-space to delete from. - #' @param aligned_feature_id identifier of feature (aligned over runs) to delete. + #' @param project_id project-space to read from. + #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. + #' @param smiles (optional) smiles (default value: "none") + #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (void) with additional information such as HTTP status code, headers - DeleteAlignedFeatureWithHttpInfo = function(project_id, aligned_feature_id, ...) { + #' @return API response (array[StructureCandidateFormula]) with additional information such as HTTP status code, headers + AddDeNovoStructureCandidateWithHttpInfo = function(project_id, aligned_feature_id, smiles = "none", data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -817,7 +961,10 @@ FeaturesApi <- R6::R6Class( - local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}" + + query_params[["smiles"]] <- `smiles` + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } @@ -828,13 +975,13 @@ FeaturesApi <- R6::R6Class( # The Accept request HTTP header - local_var_accepts <- list() + local_var_accepts <- list("application/json") # The Content-Type representation header local_var_content_types <- list() local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), - method = "DELETE", + method = "PUT", query_params = query_params, header_params = header_params, form_params = form_params, @@ -847,7 +994,18 @@ FeaturesApi <- R6::R6Class( ...) if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { - local_var_resp$content <- NULL + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -862,15 +1020,17 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Delete feature (aligned over runs) with the given identifier from the specified project-space. + #' [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project #' - #' @param project_id project-space to delete from. - #' @param request_body + #' @param project_id project-space to add to. + #' @param aligned_feature_id run to add tags to. + #' @param tag tags to add. + #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return void - DeleteAlignedFeatures = function(project_id, request_body, ...) { - local_var_response <- self$DeleteAlignedFeaturesWithHttpInfo(project_id, request_body, ...) + #' @return array[Tag] + AddTagsToAlignedFeatureExperimental = function(project_id, aligned_feature_id, tag, data_file = NULL, ...) { + local_var_response <- self$AddTagsToAlignedFeatureExperimentalWithHttpInfo(project_id, aligned_feature_id, tag, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -883,14 +1043,16 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Delete feature (aligned over runs) with the given identifier from the specified project-space. + #' [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project #' - #' @param project_id project-space to delete from. - #' @param request_body + #' @param project_id project-space to add to. + #' @param aligned_feature_id run to add tags to. + #' @param tag tags to add. + #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (void) with additional information such as HTTP status code, headers - DeleteAlignedFeaturesWithHttpInfo = function(project_id, request_body, ...) { + #' @return API response (array[Tag]) with additional information such as HTTP status code, headers + AddTagsToAlignedFeatureExperimentalWithHttpInfo = function(project_id, aligned_feature_id, tag, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -904,14 +1066,19 @@ FeaturesApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } - if (missing(`request_body`)) { - stop("Missing required parameter `request_body`.") + if (missing(`aligned_feature_id`)) { + stop("Missing required parameter `aligned_feature_id`.") } + if (missing(`tag`)) { + stop("Missing required parameter `tag`.") + } - if (!is.null(`request_body`)) { - body.items <- paste(unlist(lapply(`request_body`, function(param) { + + + if (!is.null(`tag`)) { + body.items <- paste(unlist(lapply(`tag`, function(param) { param$toJSONString() })), collapse = ",") local_var_body <- paste0("[", body.items, "]") @@ -919,14 +1086,18 @@ FeaturesApi <- R6::R6Class( body <- NULL } - local_var_url_path <- "/api/projects/{projectId}/aligned-features/delete" + local_var_url_path <- "/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } + if (!missing(`aligned_feature_id`)) { + local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) + } + # The Accept request HTTP header - local_var_accepts <- list() + local_var_accepts <- list("application/json") # The Content-Type representation header local_var_content_types <- list("application/json") @@ -945,7 +1116,18 @@ FeaturesApi <- R6::R6Class( ...) if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { - local_var_resp$content <- NULL + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -960,16 +1142,15 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' Delete feature (aligned over runs) with the given identifier from the specified project-space. #' - #' @param project_id project-space to read from. - #' @param aligned_feature_id one feature that is considered the main feature of the adduct network - #' @param data_file (optional) name of the data file to save the result + #' @param project_id project-space to delete from. + #' @param aligned_feature_id identifier of feature (aligned over runs) to delete. #' @param ... Other optional arguments #' - #' @return TraceSetExperimental - GetAdductNetworkWithMergedTracesExperimental = function(project_id, aligned_feature_id, data_file = NULL, ...) { - local_var_response <- self$GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo(project_id, aligned_feature_id, data_file = data_file, ...) + #' @return void + DeleteAlignedFeature = function(project_id, aligned_feature_id, ...) { + local_var_response <- self$DeleteAlignedFeatureWithHttpInfo(project_id, aligned_feature_id, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -982,15 +1163,14 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' Delete feature (aligned over runs) with the given identifier from the specified project-space. #' - #' @param project_id project-space to read from. - #' @param aligned_feature_id one feature that is considered the main feature of the adduct network - #' @param data_file (optional) name of the data file to save the result + #' @param project_id project-space to delete from. + #' @param aligned_feature_id identifier of feature (aligned over runs) to delete. #' @param ... Other optional arguments #' - #' @return API response (TraceSetExperimental) with additional information such as HTTP status code, headers - GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo = function(project_id, aligned_feature_id, data_file = NULL, ...) { + #' @return API response (void) with additional information such as HTTP status code, headers + DeleteAlignedFeatureWithHttpInfo = function(project_id, aligned_feature_id, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1010,7 +1190,7 @@ FeaturesApi <- R6::R6Class( - local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts" + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } @@ -1021,13 +1201,13 @@ FeaturesApi <- R6::R6Class( # The Accept request HTTP header - local_var_accepts <- list("application/json") + local_var_accepts <- list() # The Content-Type representation header local_var_content_types <- list() local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), - method = "GET", + method = "DELETE", query_params = query_params, header_params = header_params, form_params = form_params, @@ -1040,18 +1220,7 @@ FeaturesApi <- R6::R6Class( ...) if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { - # save response in a file - if (!is.null(data_file)) { - write(local_var_resp$response, data_file) - } - - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + local_var_resp$content <- NULL local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1066,17 +1235,15 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Get feature (aligned over runs) with the given identifier from the specified project-space. + #' Delete feature (aligned over runs) with the given identifier from the specified project-space. #' - #' @param project_id project-space to read from. - #' @param aligned_feature_id identifier of feature (aligned over runs) to access. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param data_file (optional) name of the data file to save the result + #' @param project_id project-space to delete from. + #' @param request_body #' @param ... Other optional arguments #' - #' @return AlignedFeature - GetAlignedFeature = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetAlignedFeatureWithHttpInfo(project_id, aligned_feature_id, opt_fields, data_file = data_file, ...) + #' @return void + DeleteAlignedFeatures = function(project_id, request_body, ...) { + local_var_response <- self$DeleteAlignedFeaturesWithHttpInfo(project_id, request_body, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -1089,16 +1256,14 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Get feature (aligned over runs) with the given identifier from the specified project-space. + #' Delete feature (aligned over runs) with the given identifier from the specified project-space. #' - #' @param project_id project-space to read from. - #' @param aligned_feature_id identifier of feature (aligned over runs) to access. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) - #' @param data_file (optional) name of the data file to save the result + #' @param project_id project-space to delete from. + #' @param request_body #' @param ... Other optional arguments #' - #' @return API response (AlignedFeature) with additional information such as HTTP status code, headers - GetAlignedFeatureWithHttpInfo = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { + #' @return API response (void) with additional information such as HTTP status code, headers + DeleteAlignedFeaturesWithHttpInfo = function(project_id, request_body, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1112,19 +1277,232 @@ FeaturesApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } - if (missing(`aligned_feature_id`)) { - stop("Missing required parameter `aligned_feature_id`.") + if (missing(`request_body`)) { + stop("Missing required parameter `request_body`.") } + if (!is.null(`request_body`)) { + body.items <- paste(unlist(lapply(`request_body`, function(param) { + param$toJSONString() + })), collapse = ",") + local_var_body <- paste0("[", body.items, "]") + } else { + body <- NULL + } - # explore - for (query_item in `opt_fields`) { - # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeature. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") - } + local_var_url_path <- "/api/projects/{projectId}/aligned-features/delete" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list("application/json") + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PUT", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id one feature that is considered the main feature of the adduct network + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return TraceSetExperimental + GetAdductNetworkWithMergedTracesExperimental = function(project_id, aligned_feature_id, data_file = NULL, ...) { + local_var_response <- self$GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo(project_id, aligned_feature_id, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id one feature that is considered the main feature of the adduct network + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (TraceSetExperimental) with additional information such as HTTP status code, headers + GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo = function(project_id, aligned_feature_id, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`aligned_feature_id`)) { + stop("Missing required parameter `aligned_feature_id`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`aligned_feature_id`)) { + local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' Get feature (aligned over runs) with the given identifier from the specified project-space. + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id identifier of feature (aligned over runs) to access. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return AlignedFeature + GetAlignedFeature = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetAlignedFeatureWithHttpInfo(project_id, aligned_feature_id, ms_data_search_prepared, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' Get feature (aligned over runs) with the given identifier from the specified project-space. + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id identifier of feature (aligned over runs) to access. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (AlignedFeature) with additional information such as HTTP status code, headers + GetAlignedFeatureWithHttpInfo = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`aligned_feature_id`)) { + stop("Missing required parameter `aligned_feature_id`.") + } + + + + + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeature. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") + } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -1183,17 +1561,124 @@ FeaturesApi <- R6::R6Class( } }, + #' @description + #' [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id identifier of feature (aligned over runs) to access. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return AlignedFeatureQualityExperimental + GetAlignedFeatureQualityExperimental = function(project_id, aligned_feature_id, data_file = NULL, ...) { + local_var_response <- self$GetAlignedFeatureQualityExperimentalWithHttpInfo(project_id, aligned_feature_id, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id identifier of feature (aligned over runs) to access. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (AlignedFeatureQualityExperimental) with additional information such as HTTP status code, headers + GetAlignedFeatureQualityExperimentalWithHttpInfo = function(project_id, aligned_feature_id, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`aligned_feature_id`)) { + stop("Missing required parameter `aligned_feature_id`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`aligned_feature_id`)) { + local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeatureQualityExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + #' @description #' Get all available features (aligned over runs) in the given project-space. #' #' @param project_id project-space to read from. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[AlignedFeature] - GetAlignedFeatures = function(project_id, opt_fields = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetAlignedFeaturesWithHttpInfo(project_id, opt_fields, data_file = data_file, ...) + GetAlignedFeatures = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetAlignedFeaturesWithHttpInfo(project_id, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -1209,12 +1694,13 @@ FeaturesApi <- R6::R6Class( #' Get all available features (aligned over runs) in the given project-space. #' #' @param project_id project-space to read from. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[AlignedFeature]) with additional information such as HTTP status code, headers - GetAlignedFeaturesWithHttpInfo = function(project_id, opt_fields = list("none"), data_file = NULL, ...) { + GetAlignedFeaturesWithHttpInfo = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1230,11 +1716,14 @@ FeaturesApi <- R6::R6Class( + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeatures. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeatures. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -1291,19 +1780,20 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Get all available features (aligned over runs) in the given project-space. + #' [EXPERIMENTAL] Get features (aligned over runs) by tag group #' - #' @param project_id project-space to read from. + #' @param project_id project-space to delete from. + #' @param group_name tag group name. #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelAlignedFeature - GetAlignedFeaturesPaged = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetAlignedFeaturesPagedWithHttpInfo(project_id, page, size, sort, opt_fields, data_file = data_file, ...) + GetAlignedFeaturesByGroupExperimental = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetAlignedFeaturesByGroupExperimentalWithHttpInfo(project_id, group_name, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -1316,18 +1806,19 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Get all available features (aligned over runs) in the given project-space. + #' [EXPERIMENTAL] Get features (aligned over runs) by tag group #' - #' @param project_id project-space to read from. + #' @param project_id project-space to delete from. + #' @param group_name tag group name. #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelAlignedFeature) with additional information such as HTTP status code, headers - GetAlignedFeaturesPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetAlignedFeaturesByGroupExperimentalWithHttpInfo = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1341,17 +1832,24 @@ FeaturesApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } + if (missing(`group_name`)) { + stop("Missing required parameter `group_name`.") + } + + if (`page` < 0) { - stop("Invalid value for `page` when calling FeaturesApi$GetAlignedFeaturesPaged, must be bigger than or equal to 0.") + stop("Invalid value for `page` when calling FeaturesApi$GetAlignedFeaturesByGroupExperimental, must be bigger than or equal to 0.") } if (`size` < 1) { - stop("Invalid value for `size` when calling FeaturesApi$GetAlignedFeaturesPaged, must be bigger than or equal to 1.") + stop("Invalid value for `size` when calling FeaturesApi$GetAlignedFeaturesByGroupExperimental, must be bigger than or equal to 1.") } + query_params[["groupName"]] <- `group_name` + query_params[["page"]] <- `page` query_params[["size"]] <- `size` @@ -1364,13 +1862,149 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotations", "topAnnotationsDeNovo", "computedTools"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeaturesPaged. Must be [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools].") + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeaturesByGroupExperimental. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } - local_var_url_path <- "/api/projects/{projectId}/aligned-features/page" + local_var_url_path <- "/api/projects/{projectId}/aligned-features/grouped" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get features (aligned over runs) by tag + #' + #' @param project_id project space to get features (aligned over runs) from. + #' @param filter (optional) tag filter. (default value: "") + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return PagedModelAlignedFeature + GetAlignedFeaturesByTagExperimental = function(project_id, filter = "", page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + local_var_response <- self$GetAlignedFeaturesByTagExperimentalWithHttpInfo(project_id, filter, page, size, sort, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get features (aligned over runs) by tag + #' + #' @param project_id project space to get features (aligned over runs) from. + #' @param filter (optional) tag filter. (default value: "") + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (PagedModelAlignedFeature) with additional information such as HTTP status code, headers + GetAlignedFeaturesByTagExperimentalWithHttpInfo = function(project_id, filter = "", page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + if (`page` < 0) { + stop("Invalid value for `page` when calling FeaturesApi$GetAlignedFeaturesByTagExperimental, must be bigger than or equal to 0.") + } + + if (`size` < 1) { + stop("Invalid value for `size` when calling FeaturesApi$GetAlignedFeaturesByTagExperimental, must be bigger than or equal to 1.") + } + + + + query_params[["filter"]] <- `filter` + + query_params[["page"]] <- `page` + + query_params[["size"]] <- `size` + + # explore + for (query_item in `sort`) { + query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) + } + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeaturesByTagExperimental. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/tagged" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } @@ -1422,16 +2056,20 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' Get all available features (aligned over runs) in the given project-space. #' #' @param project_id project-space to read from. - #' @param aligned_feature_id identifier of feature (aligned over runs) to access. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return AlignedFeatureQualityExperimental - GetAlignedFeaturesQualityExperimental = function(project_id, aligned_feature_id, data_file = NULL, ...) { - local_var_response <- self$GetAlignedFeaturesQualityExperimentalWithHttpInfo(project_id, aligned_feature_id, data_file = data_file, ...) + #' @return PagedModelAlignedFeature + GetAlignedFeaturesPaged = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetAlignedFeaturesPagedWithHttpInfo(project_id, page, size, sort, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -1444,15 +2082,19 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' Get all available features (aligned over runs) in the given project-space. #' #' @param project_id project-space to read from. - #' @param aligned_feature_id identifier of feature (aligned over runs) to access. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (AlignedFeatureQualityExperimental) with additional information such as HTTP status code, headers - GetAlignedFeaturesQualityExperimentalWithHttpInfo = function(project_id, aligned_feature_id, data_file = NULL, ...) { + #' @return API response (PagedModelAlignedFeature) with additional information such as HTTP status code, headers + GetAlignedFeaturesPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1466,21 +2108,43 @@ FeaturesApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } - if (missing(`aligned_feature_id`)) { - stop("Missing required parameter `aligned_feature_id`.") + + if (`page` < 0) { + stop("Invalid value for `page` when calling FeaturesApi$GetAlignedFeaturesPaged, must be bigger than or equal to 0.") + } + + if (`size` < 1) { + stop("Invalid value for `size` when calling FeaturesApi$GetAlignedFeaturesPaged, must be bigger than or equal to 1.") + } + + + + + query_params[["page"]] <- `page` + + query_params[["size"]] <- `size` + + # explore + for (query_item in `sort`) { + query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) } + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "msData", "topAnnotationsSummary", "topAnnotations", "topAnnotationsDeNovo", "computedTools", "tags"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetAlignedFeaturesPaged. Must be [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } - local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report" + local_var_url_path <- "/api/projects/{projectId}/aligned-features/page" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } - if (!missing(`aligned_feature_id`)) { - local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) - } - # The Accept request HTTP header local_var_accepts <- list("application/json") @@ -1508,7 +2172,7 @@ FeaturesApi <- R6::R6Class( } deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeatureQualityExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1528,7 +2192,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + #' Return Best matching compound classes for given formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -1551,7 +2215,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, + #' Return Best matching compound classes for given formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -1818,8 +2482,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidates. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidates. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -1885,12 +2549,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[StructureCandidateScored] - GetDeNovoStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetDeNovoStructureCandidatesByFormulaWithHttpInfo(project_id, aligned_feature_id, formula_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1909,12 +2573,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[StructureCandidateScored]) with additional information such as HTTP status code, headers - GetDeNovoStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1943,8 +2607,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidatesByFormula. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidatesByFormula. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -2017,12 +2681,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateScored - GetDeNovoStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo(project_id, aligned_feature_id, formula_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -2044,12 +2708,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateScored) with additional information such as HTTP status code, headers - GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2096,8 +2760,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidatesByFormulaPaged. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidatesByFormulaPaged. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -2169,12 +2833,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateFormula - GetDeNovoStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetDeNovoStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetDeNovoStructureCandidatesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -2195,12 +2859,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateFormula) with additional information such as HTTP status code, headers - GetDeNovoStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetDeNovoStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2242,8 +2906,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidatesPaged. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetDeNovoStructureCandidatesPaged. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -2304,7 +2968,110 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + #' [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) + #' + #' @param project_id project-space to read from. + #' @param type (optional) quantification type. (default value: "APEX_HEIGHT") + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return QuantTableExperimental + GetFeatureQuantTableExperimental = function(project_id, type = "APEX_HEIGHT", data_file = NULL, ...) { + local_var_response <- self$GetFeatureQuantTableExperimentalWithHttpInfo(project_id, type, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) + #' + #' @param project_id project-space to read from. + #' @param type (optional) quantification type. (default value: "APEX_HEIGHT") + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (QuantTableExperimental) with additional information such as HTTP status code, headers + GetFeatureQuantTableExperimentalWithHttpInfo = function(project_id, type = "APEX_HEIGHT", data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + if (!is.null(`type`) && !(`type` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for type when calling FeaturesApi$GetFeatureQuantTableExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") + } + query_params[["type"]] <- `type` + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/quant-table" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -2327,7 +3094,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. + #' Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -2421,17 +3188,18 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + #' Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return AnnotatedMsMsData - GetFormulaAnnotatedMsMsData = function(project_id, aligned_feature_id, formula_id, data_file = NULL, ...) { - local_var_response <- self$GetFormulaAnnotatedMsMsDataWithHttpInfo(project_id, aligned_feature_id, formula_id, data_file = data_file, ...) + GetFormulaAnnotatedMsMsData = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, data_file = NULL, ...) { + local_var_response <- self$GetFormulaAnnotatedMsMsDataWithHttpInfo(project_id, aligned_feature_id, formula_id, ms_data_search_prepared, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -2444,16 +3212,17 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. + #' Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (AnnotatedMsMsData) with additional information such as HTTP status code, headers - GetFormulaAnnotatedMsMsDataWithHttpInfo = function(project_id, aligned_feature_id, formula_id, data_file = NULL, ...) { + GetFormulaAnnotatedMsMsDataWithHttpInfo = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2478,6 +3247,9 @@ FeaturesApi <- R6::R6Class( + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -2538,18 +3310,19 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + #' Returns a fragmentation spectrum (e #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result #' @param spectrum_index (optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1) + #' @param search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return AnnotatedSpectrum - GetFormulaAnnotatedSpectrum = function(project_id, aligned_feature_id, formula_id, spectrum_index = -1, data_file = NULL, ...) { - local_var_response <- self$GetFormulaAnnotatedSpectrumWithHttpInfo(project_id, aligned_feature_id, formula_id, spectrum_index, data_file = data_file, ...) + GetFormulaAnnotatedSpectrum = function(project_id, aligned_feature_id, formula_id, spectrum_index = -1, search_prepared = FALSE, data_file = NULL, ...) { + local_var_response <- self$GetFormulaAnnotatedSpectrumWithHttpInfo(project_id, aligned_feature_id, formula_id, spectrum_index, search_prepared, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -2562,17 +3335,18 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. + #' Returns a fragmentation spectrum (e #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result #' @param spectrum_index (optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1) + #' @param search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (AnnotatedSpectrum) with additional information such as HTTP status code, headers - GetFormulaAnnotatedSpectrumWithHttpInfo = function(project_id, aligned_feature_id, formula_id, spectrum_index = -1, data_file = NULL, ...) { + GetFormulaAnnotatedSpectrumWithHttpInfo = function(project_id, aligned_feature_id, formula_id, spectrum_index = -1, search_prepared = FALSE, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2598,8 +3372,11 @@ FeaturesApi <- R6::R6Class( + query_params[["spectrumIndex"]] <- `spectrum_index` + query_params[["searchPrepared"]] <- `search_prepared` + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -2665,13 +3442,14 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return FormulaCandidate - GetFormulaCandidate = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetFormulaCandidateWithHttpInfo(project_id, aligned_feature_id, formula_id, opt_fields, data_file = data_file, ...) + GetFormulaCandidate = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetFormulaCandidateWithHttpInfo(project_id, aligned_feature_id, formula_id, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -2689,12 +3467,13 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (FormulaCandidate) with additional information such as HTTP status code, headers - GetFormulaCandidateWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { + GetFormulaCandidateWithHttpInfo = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2720,6 +3499,9 @@ FeaturesApi <- R6::R6Class( + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + # explore for (query_item in `opt_fields`) { # validate enum values @@ -2793,13 +3575,14 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[FormulaCandidate] - GetFormulaCandidates = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetFormulaCandidatesWithHttpInfo(project_id, aligned_feature_id, opt_fields, data_file = data_file, ...) + GetFormulaCandidates = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { + local_var_response <- self$GetFormulaCandidatesWithHttpInfo(project_id, aligned_feature_id, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -2816,12 +3599,13 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[FormulaCandidate]) with additional information such as HTTP status code, headers - GetFormulaCandidatesWithHttpInfo = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { + GetFormulaCandidatesWithHttpInfo = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2842,6 +3626,9 @@ FeaturesApi <- R6::R6Class( + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + # explore for (query_item in `opt_fields`) { # validate enum values @@ -2914,13 +3701,14 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelFormulaCandidate - GetFormulaCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { - local_var_response <- self$GetFormulaCandidatesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, opt_fields, data_file = data_file, ...) + GetFormulaCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + local_var_response <- self$GetFormulaCandidatesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -2940,12 +3728,13 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelFormulaCandidate) with additional information such as HTTP status code, headers - GetFormulaCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetFormulaCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2975,6 +3764,7 @@ FeaturesApi <- R6::R6Class( + query_params[["page"]] <- `page` query_params[["size"]] <- `size` @@ -2984,6 +3774,8 @@ FeaturesApi <- R6::R6Class( query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) } + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + # explore for (query_item in `opt_fields`) { # validate enum values @@ -3049,7 +3841,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + #' Returns fragmentation tree (SIRIUS) for the given formula result identifier #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -3072,7 +3864,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). + #' Returns fragmentation tree (SIRIUS) for the given formula result identifier #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -3166,7 +3958,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. + #' Returns Isotope pattern information for given formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -3189,7 +3981,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. + #' Returns Isotope pattern information for given formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -3283,7 +4075,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns Lipid annotation (ElGordo) for the given formula result identifier. + #' Returns Lipid annotation (ElGordo) for the given formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -3306,7 +4098,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Returns Lipid annotation (ElGordo) for the given formula result identifier. + #' Returns Lipid annotation (ElGordo) for the given formulaId #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. @@ -3403,13 +4195,14 @@ FeaturesApi <- R6::R6Class( #' Mass Spec data (input data) for the given 'alignedFeatureId' . #' #' @param project_id project-space to read from. - #' @param aligned_feature_id feature (aligned over runs) the Mass Spec data belong sto. + #' @param aligned_feature_id feature (aligned over runs) the Mass Spec data belongs to. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return MsData - GetMsData = function(project_id, aligned_feature_id, data_file = NULL, ...) { - local_var_response <- self$GetMsDataWithHttpInfo(project_id, aligned_feature_id, data_file = data_file, ...) + GetMsData = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, data_file = NULL, ...) { + local_var_response <- self$GetMsDataWithHttpInfo(project_id, aligned_feature_id, ms_data_search_prepared, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -3425,12 +4218,13 @@ FeaturesApi <- R6::R6Class( #' Mass Spec data (input data) for the given 'alignedFeatureId' . #' #' @param project_id project-space to read from. - #' @param aligned_feature_id feature (aligned over runs) the Mass Spec data belong sto. + #' @param aligned_feature_id feature (aligned over runs) the Mass Spec data belongs to. + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (MsData) with additional information such as HTTP status code, headers - GetMsDataWithHttpInfo = function(project_id, aligned_feature_id, data_file = NULL, ...) { + GetMsDataWithHttpInfo = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -3450,6 +4244,9 @@ FeaturesApi <- R6::R6Class( + + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -3506,17 +4303,17 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) #' #' @param project_id project-space to read from. - #' @param aligned_feature_id feature which intensities should be read out + #' @param aligned_feature_id feature which quantity should be read out #' @param type (optional) quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (default value: "APEX_HEIGHT") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return QuantificationTableExperimental - GetQuantificationExperimental = function(project_id, aligned_feature_id, type = "APEX_HEIGHT", data_file = NULL, ...) { - local_var_response <- self$GetQuantificationExperimentalWithHttpInfo(project_id, aligned_feature_id, type, data_file = data_file, ...) + #' @return QuantTableExperimental + GetQuantTableRowExperimental = function(project_id, aligned_feature_id, type = "APEX_HEIGHT", data_file = NULL, ...) { + local_var_response <- self$GetQuantTableRowExperimentalWithHttpInfo(project_id, aligned_feature_id, type, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -3529,16 +4326,16 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) #' #' @param project_id project-space to read from. - #' @param aligned_feature_id feature which intensities should be read out + #' @param aligned_feature_id feature which quantity should be read out #' @param type (optional) quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (default value: "APEX_HEIGHT") #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (QuantificationTableExperimental) with additional information such as HTTP status code, headers - GetQuantificationExperimentalWithHttpInfo = function(project_id, aligned_feature_id, type = "APEX_HEIGHT", data_file = NULL, ...) { + #' @return API response (QuantTableExperimental) with additional information such as HTTP status code, headers + GetQuantTableRowExperimentalWithHttpInfo = function(project_id, aligned_feature_id, type = "APEX_HEIGHT", data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -3559,12 +4356,12 @@ FeaturesApi <- R6::R6Class( - if (!is.null(`type`) && !(`type` %in% c("APEX_HEIGHT"))) { - stop("Invalid value for type when calling FeaturesApi$GetQuantificationExperimental. Must be [APEX_HEIGHT].") + if (!is.null(`type`) && !(`type` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop("Invalid value for type when calling FeaturesApi$GetQuantTableRowExperimental. Must be [APEX_INTENSITY, AREA_UNDER_CURVE].") } query_params[["type"]] <- `type` - local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification" + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } @@ -3600,7 +4397,7 @@ FeaturesApi <- R6::R6Class( } deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantificationTableExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3620,17 +4417,17 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' List of spectral library matches for the given 'alignedFeatureId'. + #' Spectral library match for the given 'alignedFeatureId'. #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. - #' @param match_id - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param match_id id of the library match to be returned. + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return SpectralLibraryMatch - GetSpectralLibraryMatch = function(project_id, aligned_feature_id, match_id, opt_fields = list("none"), data_file = NULL, ...) { + GetSpectralLibraryMatch = function(project_id, aligned_feature_id, match_id, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetSpectralLibraryMatchWithHttpInfo(project_id, aligned_feature_id, match_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -3644,17 +4441,17 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' List of spectral library matches for the given 'alignedFeatureId'. + #' Spectral library match for the given 'alignedFeatureId'. #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. - #' @param match_id - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param match_id id of the library match to be returned. + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (SpectralLibraryMatch) with additional information such as HTTP status code, headers - GetSpectralLibraryMatchWithHttpInfo = function(project_id, aligned_feature_id, match_id, opt_fields = list("none"), data_file = NULL, ...) { + GetSpectralLibraryMatchWithHttpInfo = function(project_id, aligned_feature_id, match_id, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -3892,12 +4689,12 @@ FeaturesApi <- R6::R6Class( #' @param min_shared_peaks (optional) No description (default value: 1) #' @param min_similarity (optional) No description (default value: 0.2) #' @param inchi_key (optional) No description (default value: "") - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelSpectralLibraryMatch - GetSpectralLibraryMatchesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list("none"), data_file = NULL, ...) { + GetSpectralLibraryMatchesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetSpectralLibraryMatchesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, min_shared_peaks, min_similarity, inchi_key, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -3921,12 +4718,12 @@ FeaturesApi <- R6::R6Class( #' @param min_shared_peaks (optional) No description (default value: 1) #' @param min_similarity (optional) No description (default value: 0.2) #' @param inchi_key (optional) No description (default value: "") - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelSpectralLibraryMatch) with additional information such as HTTP status code, headers - GetSpectralLibraryMatchesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list("none"), data_file = NULL, ...) { + GetSpectralLibraryMatchesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4064,18 +4861,139 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' Summarize matched reference spectra for the given 'alignedFeatureId'. + #' Summarize matched reference spectra for the given 'alignedFeatureId'. + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. + #' @param min_shared_peaks (optional) min threshold of shared peaks. (default value: 1) + #' @param min_similarity (optional) min spectral similarity threshold. (default value: 0.2) + #' @param inchi_key (optional) 2D inchi key of the compound in the structure database. (default value: "") + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (SpectralLibraryMatchSummary) with additional information such as HTTP status code, headers + GetSpectralLibraryMatchesSummaryWithHttpInfo = function(project_id, aligned_feature_id, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`aligned_feature_id`)) { + stop("Missing required parameter `aligned_feature_id`.") + } + + + + + + + query_params[["minSharedPeaks"]] <- `min_shared_peaks` + + query_params[["minSimilarity"]] <- `min_similarity` + + query_params[["inchiKey"]] <- `inchi_key` + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`aligned_feature_id`)) { + local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatchSummary", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey + #' + #' @param project_id project-space to read from. + #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. + #' @param formula_id identifier of the requested formula result + #' @param inchi_key 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return AnnotatedMsMsData + GetStructureAnnotatedMsDataExperimental = function(project_id, aligned_feature_id, formula_id, inchi_key, ms_data_search_prepared = FALSE, data_file = NULL, ...) { + local_var_response <- self$GetStructureAnnotatedMsDataExperimentalWithHttpInfo(project_id, aligned_feature_id, formula_id, inchi_key, ms_data_search_prepared, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey #' #' @param project_id project-space to read from. - #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. - #' @param min_shared_peaks (optional) min threshold of shared peaks. (default value: 1) - #' @param min_similarity (optional) min spectral similarity threshold. (default value: 0.2) - #' @param inchi_key (optional) 2D inchi key of the compound in the structure database. (default value: "") + #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. + #' @param formula_id identifier of the requested formula result + #' @param inchi_key 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation + #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (SpectralLibraryMatchSummary) with additional information such as HTTP status code, headers - GetSpectralLibraryMatchesSummaryWithHttpInfo = function(project_id, aligned_feature_id, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", data_file = NULL, ...) { + #' @return API response (AnnotatedMsMsData) with additional information such as HTTP status code, headers + GetStructureAnnotatedMsDataExperimentalWithHttpInfo = function(project_id, aligned_feature_id, formula_id, inchi_key, ms_data_search_prepared = FALSE, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4093,18 +5011,22 @@ FeaturesApi <- R6::R6Class( stop("Missing required parameter `aligned_feature_id`.") } + if (missing(`formula_id`)) { + stop("Missing required parameter `formula_id`.") + } + if (missing(`inchi_key`)) { + stop("Missing required parameter `inchi_key`.") + } - query_params[["minSharedPeaks"]] <- `min_shared_peaks` - query_params[["minSimilarity"]] <- `min_similarity` - query_params[["inchiKey"]] <- `inchi_key` + query_params[["msDataSearchPrepared"]] <- `ms_data_search_prepared` - local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary" + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } @@ -4113,6 +5035,14 @@ FeaturesApi <- R6::R6Class( local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) } + if (!missing(`formula_id`)) { + local_var_url_path <- gsub("\\{formulaId\\}", URLencode(as.character(`formula_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`inchi_key`)) { + local_var_url_path <- gsub("\\{inchiKey\\}", URLencode(as.character(`inchi_key`), reserved = TRUE), local_var_url_path) + } + # The Accept request HTTP header local_var_accepts <- list("application/json") @@ -4140,7 +5070,7 @@ FeaturesApi <- R6::R6Class( } deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatchSummary", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4160,18 +5090,17 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + #' [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations #' #' @param project_id project-space to read from. - #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. - #' @param formula_id identifier of the requested formula result - #' @param inchi_key 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation + #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. + #' @param match_id id of the library match to be returned. #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return AnnotatedMsMsData - GetStructureAnnotatedMsDataExperimental = function(project_id, aligned_feature_id, formula_id, inchi_key, data_file = NULL, ...) { - local_var_response <- self$GetStructureAnnotatedMsDataExperimentalWithHttpInfo(project_id, aligned_feature_id, formula_id, inchi_key, data_file = data_file, ...) + #' @return AnnotatedSpectrum + GetStructureAnnotatedSpectralLibraryMatchExperimental = function(project_id, aligned_feature_id, match_id, data_file = NULL, ...) { + local_var_response <- self$GetStructureAnnotatedSpectralLibraryMatchExperimentalWithHttpInfo(project_id, aligned_feature_id, match_id, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -4184,17 +5113,16 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + #' [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations #' #' @param project_id project-space to read from. - #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. - #' @param formula_id identifier of the requested formula result - #' @param inchi_key 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation + #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. + #' @param match_id id of the library match to be returned. #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' - #' @return API response (AnnotatedMsMsData) with additional information such as HTTP status code, headers - GetStructureAnnotatedMsDataExperimentalWithHttpInfo = function(project_id, aligned_feature_id, formula_id, inchi_key, data_file = NULL, ...) { + #' @return API response (AnnotatedSpectrum) with additional information such as HTTP status code, headers + GetStructureAnnotatedSpectralLibraryMatchExperimentalWithHttpInfo = function(project_id, aligned_feature_id, match_id, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4212,19 +5140,14 @@ FeaturesApi <- R6::R6Class( stop("Missing required parameter `aligned_feature_id`.") } - if (missing(`formula_id`)) { - stop("Missing required parameter `formula_id`.") - } - - if (missing(`inchi_key`)) { - stop("Missing required parameter `inchi_key`.") + if (missing(`match_id`)) { + stop("Missing required parameter `match_id`.") } - - local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata" + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) } @@ -4233,12 +5156,8 @@ FeaturesApi <- R6::R6Class( local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) } - if (!missing(`formula_id`)) { - local_var_url_path <- gsub("\\{formulaId\\}", URLencode(as.character(`formula_id`), reserved = TRUE), local_var_url_path) - } - - if (!missing(`inchi_key`)) { - local_var_url_path <- gsub("\\{inchiKey\\}", URLencode(as.character(`inchi_key`), reserved = TRUE), local_var_url_path) + if (!missing(`match_id`)) { + local_var_url_path <- gsub("\\{matchId\\}", URLencode(as.character(`match_id`), reserved = TRUE), local_var_url_path) } @@ -4268,7 +5187,7 @@ FeaturesApi <- R6::R6Class( } deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4288,19 +5207,20 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + #' [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result #' @param inchi_key 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation #' @param spectrum_index (optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1) + #' @param search_prepared (optional) No description (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return AnnotatedSpectrum - GetStructureAnnotatedSpectrumExperimental = function(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index = -1, data_file = NULL, ...) { - local_var_response <- self$GetStructureAnnotatedSpectrumExperimentalWithHttpInfo(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index, data_file = data_file, ...) + GetStructureAnnotatedSpectrumExperimental = function(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index = -1, search_prepared = FALSE, data_file = NULL, ...) { + local_var_response <- self$GetStructureAnnotatedSpectrumExperimentalWithHttpInfo(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index, search_prepared, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -4313,18 +5233,19 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. + #' [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result #' @param inchi_key 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation #' @param spectrum_index (optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1) + #' @param search_prepared (optional) No description (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (AnnotatedSpectrum) with additional information such as HTTP status code, headers - GetStructureAnnotatedSpectrumExperimentalWithHttpInfo = function(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index = -1, data_file = NULL, ...) { + GetStructureAnnotatedSpectrumExperimentalWithHttpInfo = function(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index = -1, search_prepared = FALSE, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4355,8 +5276,11 @@ FeaturesApi <- R6::R6Class( + query_params[["spectrumIndex"]] <- `spectrum_index` + query_params[["searchPrepared"]] <- `search_prepared` + local_var_url_path <- "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -4425,12 +5349,12 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[StructureCandidateFormula] - GetStructureCandidates = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidates = function(project_id, aligned_feature_id, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesWithHttpInfo(project_id, aligned_feature_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -4448,12 +5372,12 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[StructureCandidateFormula]) with additional information such as HTTP status code, headers - GetStructureCandidatesWithHttpInfo = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidatesWithHttpInfo = function(project_id, aligned_feature_id, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4477,8 +5401,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidates. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidates. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -4544,12 +5468,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[StructureCandidateScored] - GetStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesByFormulaWithHttpInfo(project_id, aligned_feature_id, formula_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -4568,12 +5492,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[StructureCandidateScored]) with additional information such as HTTP status code, headers - GetStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4602,8 +5526,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidatesByFormula. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidatesByFormula. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -4676,12 +5600,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateScored - GetStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesByFormulaPagedWithHttpInfo(project_id, aligned_feature_id, formula_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -4703,12 +5627,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateScored) with additional information such as HTTP status code, headers - GetStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4755,8 +5679,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidatesByFormulaPaged. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidatesByFormulaPaged. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -4828,12 +5752,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateFormula - GetStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -4854,12 +5778,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateFormula) with additional information such as HTTP status code, headers - GetStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4901,8 +5825,8 @@ FeaturesApi <- R6::R6Class( # explore for (query_item in `opt_fields`) { # validate enum values - if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches"))) { - stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidatesPaged. Must be [none, fingerprint, dbLinks, libraryMatches].") + if (!is.null(query_item) && !(query_item %in% c("none", "fingerprint", "dbLinks", "libraryMatches", "structureSvg"))) { + stop("Invalid value for opt_fields when calling FeaturesApi$GetStructureCandidatesPaged. Must be [none, fingerprint, dbLinks, libraryMatches, structureSvg].") } query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } @@ -4963,7 +5887,113 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' [EXPERIMENTAL] Get all tags associated with this Object + #' + #' @param project_id project-space to get from. + #' @param object_id object to get tags for. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[Tag] + GetTagsForAlignedFeaturesExperimental = function(project_id, object_id, data_file = NULL, ...) { + local_var_response <- self$GetTagsForAlignedFeaturesExperimentalWithHttpInfo(project_id, object_id, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tags associated with this Object + #' + #' @param project_id project-space to get from. + #' @param object_id object to get tags for. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[Tag]) with additional information such as HTTP status code, headers + GetTagsForAlignedFeaturesExperimentalWithHttpInfo = function(project_id, object_id, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`object_id`)) { + stop("Missing required parameter `object_id`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/tags/{objectId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`object_id`)) { + local_var_url_path <- gsub("\\{objectId\\}", URLencode(as.character(`object_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature which intensities should be read out @@ -4986,7 +6016,7 @@ FeaturesApi <- R6::R6Class( }, #' @description - #' EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. + #' [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature which intensities should be read out @@ -5071,6 +6101,110 @@ FeaturesApi <- R6::R6Class( } local_var_resp } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param aligned_feature_id feature (aligned over runs) to delete tag from. + #' @param tag_name name of the tag to delete. + #' @param ... Other optional arguments + #' + #' @return void + RemoveTagFromAlignedFeatureExperimental = function(project_id, aligned_feature_id, tag_name, ...) { + local_var_response <- self$RemoveTagFromAlignedFeatureExperimentalWithHttpInfo(project_id, aligned_feature_id, tag_name, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param aligned_feature_id feature (aligned over runs) to delete tag from. + #' @param tag_name name of the tag to delete. + #' @param ... Other optional arguments + #' + #' @return API response (void) with additional information such as HTTP status code, headers + RemoveTagFromAlignedFeatureExperimentalWithHttpInfo = function(project_id, aligned_feature_id, tag_name, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`aligned_feature_id`)) { + stop("Missing required parameter `aligned_feature_id`.") + } + + if (missing(`tag_name`)) { + stop("Missing required parameter `tag_name`.") + } + + + + + local_var_url_path <- "/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`aligned_feature_id`)) { + local_var_url_path <- gsub("\\{alignedFeatureId\\}", URLencode(as.character(`aligned_feature_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`tag_name`)) { + local_var_url_path <- gsub("\\{tagName\\}", URLencode(as.character(`tag_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "DELETE", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } } ) ) diff --git a/client-api_r/generated/R/fold_change.R b/client-api_r/generated/R/fold_change.R new file mode 100644 index 00000000..e2014e42 --- /dev/null +++ b/client-api_r/generated/R/fold_change.R @@ -0,0 +1,342 @@ +#' Create a new FoldChange +#' +#' @description +#' FoldChange Class +#' +#' @docType class +#' @title FoldChange +#' @description FoldChange Class +#' @format An \code{R6Class} generator object +#' @field leftGroup character [optional] +#' @field rightGroup character [optional] +#' @field aggregation character [optional] +#' @field quantification character [optional] +#' @field quantType character +#' @field objectId character +#' @field foldChange numeric +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +FoldChange <- R6::R6Class( + "FoldChange", + public = list( + `leftGroup` = NULL, + `rightGroup` = NULL, + `aggregation` = NULL, + `quantification` = NULL, + `quantType` = NULL, + `objectId` = NULL, + `foldChange` = NULL, + + #' @description + #' Initialize a new FoldChange class. + #' + #' @param quantType quantType + #' @param objectId objectId + #' @param foldChange foldChange + #' @param leftGroup leftGroup + #' @param rightGroup rightGroup + #' @param aggregation aggregation + #' @param quantification quantification + #' @param ... Other optional arguments. + initialize = function(`quantType`, `objectId`, `foldChange`, `leftGroup` = NULL, `rightGroup` = NULL, `aggregation` = NULL, `quantification` = NULL, ...) { + if (!missing(`quantType`)) { + if (!(`quantType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", `quantType`, "\" cannot be assigned to `quantType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) + } + if (!(is.character(`quantType`) && length(`quantType`) == 1)) { + stop(paste("Error! Invalid data for `quantType`. Must be a string:", `quantType`)) + } + self$`quantType` <- `quantType` + } + if (!missing(`objectId`)) { + if (!(is.character(`objectId`) && length(`objectId`) == 1)) { + stop(paste("Error! Invalid data for `objectId`. Must be a string:", `objectId`)) + } + self$`objectId` <- `objectId` + } + if (!missing(`foldChange`)) { + if (!(is.numeric(`foldChange`) && length(`foldChange`) == 1)) { + stop(paste("Error! Invalid data for `foldChange`. Must be a number:", `foldChange`)) + } + self$`foldChange` <- `foldChange` + } + if (!is.null(`leftGroup`)) { + if (!(is.character(`leftGroup`) && length(`leftGroup`) == 1)) { + stop(paste("Error! Invalid data for `leftGroup`. Must be a string:", `leftGroup`)) + } + self$`leftGroup` <- `leftGroup` + } + if (!is.null(`rightGroup`)) { + if (!(is.character(`rightGroup`) && length(`rightGroup`) == 1)) { + stop(paste("Error! Invalid data for `rightGroup`. Must be a string:", `rightGroup`)) + } + self$`rightGroup` <- `rightGroup` + } + if (!is.null(`aggregation`)) { + if (!(`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop(paste("Error! \"", `aggregation`, "\" cannot be assigned to `aggregation`. Must be \"AVG\", \"MIN\", \"MAX\".", sep = "")) + } + if (!(is.character(`aggregation`) && length(`aggregation`) == 1)) { + stop(paste("Error! Invalid data for `aggregation`. Must be a string:", `aggregation`)) + } + self$`aggregation` <- `aggregation` + } + if (!is.null(`quantification`)) { + if (!(`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", `quantification`, "\" cannot be assigned to `quantification`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) + } + if (!(is.character(`quantification`) && length(`quantification`) == 1)) { + stop(paste("Error! Invalid data for `quantification`. Must be a string:", `quantification`)) + } + self$`quantification` <- `quantification` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return FoldChange as a base R list. + #' @examples + #' # convert array of FoldChange (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert FoldChange to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + FoldChangeObject <- list() + if (!is.null(self$`leftGroup`)) { + FoldChangeObject[["leftGroup"]] <- + self$`leftGroup` + } + if (!is.null(self$`rightGroup`)) { + FoldChangeObject[["rightGroup"]] <- + self$`rightGroup` + } + if (!is.null(self$`aggregation`)) { + FoldChangeObject[["aggregation"]] <- + self$`aggregation` + } + if (!is.null(self$`quantification`)) { + FoldChangeObject[["quantification"]] <- + self$`quantification` + } + if (!is.null(self$`quantType`)) { + FoldChangeObject[["quantType"]] <- + self$`quantType` + } + if (!is.null(self$`objectId`)) { + FoldChangeObject[["objectId"]] <- + self$`objectId` + } + if (!is.null(self$`foldChange`)) { + FoldChangeObject[["foldChange"]] <- + self$`foldChange` + } + return(FoldChangeObject) + }, + + #' @description + #' Deserialize JSON string into an instance of FoldChange + #' + #' @param input_json the JSON input + #' @return the instance of FoldChange + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`leftGroup`)) { + self$`leftGroup` <- this_object$`leftGroup` + } + if (!is.null(this_object$`rightGroup`)) { + self$`rightGroup` <- this_object$`rightGroup` + } + if (!is.null(this_object$`aggregation`)) { + if (!is.null(this_object$`aggregation`) && !(this_object$`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop(paste("Error! \"", this_object$`aggregation`, "\" cannot be assigned to `aggregation`. Must be \"AVG\", \"MIN\", \"MAX\".", sep = "")) + } + self$`aggregation` <- this_object$`aggregation` + } + if (!is.null(this_object$`quantification`)) { + if (!is.null(this_object$`quantification`) && !(this_object$`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", this_object$`quantification`, "\" cannot be assigned to `quantification`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) + } + self$`quantification` <- this_object$`quantification` + } + if (!is.null(this_object$`quantType`)) { + if (!is.null(this_object$`quantType`) && !(this_object$`quantType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", this_object$`quantType`, "\" cannot be assigned to `quantType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) + } + self$`quantType` <- this_object$`quantType` + } + if (!is.null(this_object$`objectId`)) { + self$`objectId` <- this_object$`objectId` + } + if (!is.null(this_object$`foldChange`)) { + self$`foldChange` <- this_object$`foldChange` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return FoldChange in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of FoldChange + #' + #' @param input_json the JSON input + #' @return the instance of FoldChange + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`leftGroup` <- this_object$`leftGroup` + self$`rightGroup` <- this_object$`rightGroup` + if (!is.null(this_object$`aggregation`) && !(this_object$`aggregation` %in% c("AVG", "MIN", "MAX"))) { + stop(paste("Error! \"", this_object$`aggregation`, "\" cannot be assigned to `aggregation`. Must be \"AVG\", \"MIN\", \"MAX\".", sep = "")) + } + self$`aggregation` <- this_object$`aggregation` + if (!is.null(this_object$`quantification`) && !(this_object$`quantification` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", this_object$`quantification`, "\" cannot be assigned to `quantification`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) + } + self$`quantification` <- this_object$`quantification` + if (!is.null(this_object$`quantType`) && !(this_object$`quantType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", this_object$`quantType`, "\" cannot be assigned to `quantType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) + } + self$`quantType` <- this_object$`quantType` + self$`objectId` <- this_object$`objectId` + self$`foldChange` <- this_object$`foldChange` + self + }, + + #' @description + #' Validate JSON input with respect to FoldChange and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `quantType` + if (!is.null(input_json$`quantType`)) { + if (!(is.character(input_json$`quantType`) && length(input_json$`quantType`) == 1)) { + stop(paste("Error! Invalid data for `quantType`. Must be a string:", input_json$`quantType`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for FoldChange: the required field `quantType` is missing.")) + } + # check the required field `objectId` + if (!is.null(input_json$`objectId`)) { + if (!(is.character(input_json$`objectId`) && length(input_json$`objectId`) == 1)) { + stop(paste("Error! Invalid data for `objectId`. Must be a string:", input_json$`objectId`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for FoldChange: the required field `objectId` is missing.")) + } + # check the required field `foldChange` + if (!is.null(input_json$`foldChange`)) { + if (!(is.numeric(input_json$`foldChange`) && length(input_json$`foldChange`) == 1)) { + stop(paste("Error! Invalid data for `foldChange`. Must be a number:", input_json$`foldChange`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for FoldChange: the required field `foldChange` is missing.")) + } + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of FoldChange + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + # check if the required `quantType` is null + if (is.null(self$`quantType`)) { + return(FALSE) + } + + # check if the required `objectId` is null + if (is.null(self$`objectId`)) { + return(FALSE) + } + + # check if the required `foldChange` is null + if (is.null(self$`foldChange`)) { + return(FALSE) + } + + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + # check if the required `quantType` is null + if (is.null(self$`quantType`)) { + invalid_fields["quantType"] <- "Non-nullable required field `quantType` cannot be null." + } + + # check if the required `objectId` is null + if (is.null(self$`objectId`)) { + invalid_fields["objectId"] <- "Non-nullable required field `objectId` cannot be null." + } + + # check if the required `foldChange` is null + if (is.null(self$`foldChange`)) { + invalid_fields["foldChange"] <- "Non-nullable required field `foldChange` cannot be null." + } + + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# FoldChange$unlock() +# +## Below is an example to define the print function +# FoldChange$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# FoldChange$lock() + diff --git a/client-api_r/generated/R/formula_candidate.R b/client-api_r/generated/R/formula_candidate.R index fd2168a1..f555dbfb 100644 --- a/client-api_r/generated/R/formula_candidate.R +++ b/client-api_r/generated/R/formula_candidate.R @@ -20,13 +20,13 @@ #' @field numOfExplainablePeaks integer [optional] #' @field totalExplainedIntensity numeric [optional] #' @field medianMassDeviation \link{Deviation} [optional] -#' @field fragmentationTree \link{FragmentationTree} [optional] -#' @field annotatedSpectrum \link{AnnotatedSpectrum} [optional] -#' @field isotopePatternAnnotation \link{IsotopePatternAnnotation} [optional] -#' @field lipidAnnotation \link{LipidAnnotation} [optional] +#' @field fragmentationTree The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). \link{FragmentationTree} [optional] +#' @field annotatedSpectrum Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses \link{AnnotatedSpectrum} [optional] +#' @field isotopePatternAnnotation The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. \link{IsotopePatternAnnotation} [optional] +#' @field lipidAnnotation ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid \link{LipidAnnotation} [optional] #' @field predictedFingerprint Probabilistic molecular fingerprint predicted by CSI:FingerID list(numeric) [optional] -#' @field compoundClasses \link{CompoundClasses} [optional] -#' @field canopusPrediction \link{CanopusPrediction} [optional] +#' @field compoundClasses Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) \link{CompoundClasses} [optional] +#' @field canopusPrediction All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) \link{CanopusPrediction} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -70,13 +70,13 @@ FormulaCandidate <- R6::R6Class( #' @param numOfExplainablePeaks numOfExplainablePeaks #' @param totalExplainedIntensity totalExplainedIntensity #' @param medianMassDeviation medianMassDeviation - #' @param fragmentationTree fragmentationTree - #' @param annotatedSpectrum annotatedSpectrum - #' @param isotopePatternAnnotation isotopePatternAnnotation - #' @param lipidAnnotation lipidAnnotation + #' @param fragmentationTree The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). + #' @param annotatedSpectrum Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses + #' @param isotopePatternAnnotation The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. + #' @param lipidAnnotation ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid #' @param predictedFingerprint Probabilistic molecular fingerprint predicted by CSI:FingerID - #' @param compoundClasses compoundClasses - #' @param canopusPrediction canopusPrediction + #' @param compoundClasses Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) + #' @param canopusPrediction All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) #' @param ... Other optional arguments. initialize = function(`formulaId` = NULL, `molecularFormula` = NULL, `adduct` = NULL, `rank` = NULL, `siriusScoreNormalized` = NULL, `siriusScore` = NULL, `isotopeScore` = NULL, `treeScore` = NULL, `zodiacScore` = NULL, `numOfExplainedPeaks` = NULL, `numOfExplainablePeaks` = NULL, `totalExplainedIntensity` = NULL, `medianMassDeviation` = NULL, `fragmentationTree` = NULL, `annotatedSpectrum` = NULL, `isotopePatternAnnotation` = NULL, `lipidAnnotation` = NULL, `predictedFingerprint` = NULL, `compoundClasses` = NULL, `canopusPrediction` = NULL, ...) { if (!is.null(`formulaId`)) { diff --git a/client-api_r/generated/R/gui_api.R b/client-api_r/generated/R/gui_api.R deleted file mode 100644 index e083f838..00000000 --- a/client-api_r/generated/R/gui_api.R +++ /dev/null @@ -1,342 +0,0 @@ -#' SIRIUS Nightsky API -#' -#' REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 -#' -#' The version of the OpenAPI document: 3.1 -#' Generated by: https://openapi-generator.tech -#' -#' @docType class -#' @title Gui operations -#' @description GuiApi -#' @format An \code{R6Class} generator object -#' @field api_client Handles the client-server communication. -#' -#' @examples -#' \dontrun{ -#' #################### CloseGui #################### -#' -#' library(Rsirius) -#' var_project_id <- "project_id_example" # character | if project-space the GUI instance is connected to. -#' var_close_project <- "close_project_example" # character | (Optional) -#' -#' #Close GUI instance of given project-space if available. -#' api_instance <- rsirius_api$new() -#' -#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$CloseGui(var_project_id, close_project = var_close_projectdata_file = "result.txt") -#' result <- api_instance$gui_api$CloseGui(var_project_id, close_project = var_close_project) -#' dput(result) -#' -#' -#' #################### GetGuis #################### -#' -#' library(Rsirius) -#' -#' #Get list of currently running gui windows, managed by this SIRIUS instance. -#' api_instance <- rsirius_api$new() -#' -#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$GetGuis(data_file = "result.txt") -#' result <- api_instance$gui_api$GetGuis() -#' dput(result) -#' -#' -#' #################### OpenGui #################### -#' -#' library(Rsirius) -#' var_project_id <- "project_id_example" # character | of project-space the GUI instance will connect to. -#' -#' #Open GUI instance on specified project-space and bring the GUI window to foreground. -#' api_instance <- rsirius_api$new() -#' -#' api_instance$gui_api$OpenGui(var_project_id) -#' -#' -#' } -#' @importFrom R6 R6Class -#' @importFrom base64enc base64encode -#' @export -GuiApi <- R6::R6Class( - "GuiApi", - public = list( - api_client = NULL, - - #' @description - #' Initialize a new GuiApi. - #' - #' @param api_client An instance of API client. - initialize = function(api_client) { - if (!missing(api_client)) { - self$api_client <- api_client - } else { - self$api_client <- ApiClient$new() - } - }, - - #' @description - #' Close GUI instance of given project-space if available. - #' - #' @param project_id if project-space the GUI instance is connected to. - #' @param close_project (optional) No description - #' @param data_file (optional) name of the data file to save the result - #' @param ... Other optional arguments - #' - #' @return character - CloseGui = function(project_id, close_project = NULL, data_file = NULL, ...) { - local_var_response <- self$CloseGuiWithHttpInfo(project_id, close_project, data_file = data_file, ...) - if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { - local_var_response$content - } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { - local_var_response - } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { - local_var_response - } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { - local_var_response - } - }, - - #' @description - #' Close GUI instance of given project-space if available. - #' - #' @param project_id if project-space the GUI instance is connected to. - #' @param close_project (optional) No description - #' @param data_file (optional) name of the data file to save the result - #' @param ... Other optional arguments - #' - #' @return API response (character) with additional information such as HTTP status code, headers - CloseGuiWithHttpInfo = function(project_id, close_project = NULL, data_file = NULL, ...) { - args <- list(...) - query_params <- list() - header_params <- c() - form_params <- list() - file_params <- list() - local_var_body <- NULL - oauth_scopes <- NULL - is_oauth <- FALSE - - if (missing(`project_id`)) { - stop("Missing required parameter `project_id`.") - } - - - - query_params[["closeProject"]] <- `close_project` - - local_var_url_path <- "/api/projects/{projectId}/gui" - if (!missing(`project_id`)) { - local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) - } - - - # The Accept request HTTP header - local_var_accepts <- list("application/json") - - # The Content-Type representation header - local_var_content_types <- list() - - local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), - method = "DELETE", - query_params = query_params, - header_params = header_params, - form_params = form_params, - file_params = file_params, - accepts = local_var_accepts, - content_types = local_var_content_types, - body = local_var_body, - is_oauth = is_oauth, - oauth_scopes = oauth_scopes, - ...) - - if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { - # save response in a file - if (!is.null(data_file)) { - write(local_var_resp$response, data_file) - } - - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj - local_var_resp - } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { - ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) - } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { - ApiResponse$new("API client error", local_var_resp) - } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { - if (is.null(local_var_resp$response) || local_var_resp$response == "") { - local_var_resp$response <- "API server error" - } - local_var_resp - } - }, - - #' @description - #' Get list of currently running gui windows, managed by this SIRIUS instance. - #' - #' @param data_file (optional) name of the data file to save the result - #' @param ... Other optional arguments - #' - #' @return array[GuiInfo] - GetGuis = function(data_file = NULL, ...) { - local_var_response <- self$GetGuisWithHttpInfo(data_file = data_file, ...) - if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { - local_var_response$content - } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { - local_var_response - } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { - local_var_response - } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { - local_var_response - } - }, - - #' @description - #' Get list of currently running gui windows, managed by this SIRIUS instance. - #' - #' @param data_file (optional) name of the data file to save the result - #' @param ... Other optional arguments - #' - #' @return API response (array[GuiInfo]) with additional information such as HTTP status code, headers - GetGuisWithHttpInfo = function(data_file = NULL, ...) { - args <- list(...) - query_params <- list() - header_params <- c() - form_params <- list() - file_params <- list() - local_var_body <- NULL - oauth_scopes <- NULL - is_oauth <- FALSE - - local_var_url_path <- "/api/guis" - - # The Accept request HTTP header - local_var_accepts <- list("application/json") - - # The Content-Type representation header - local_var_content_types <- list() - - local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), - method = "GET", - query_params = query_params, - header_params = header_params, - form_params = form_params, - file_params = file_params, - accepts = local_var_accepts, - content_types = local_var_content_types, - body = local_var_body, - is_oauth = is_oauth, - oauth_scopes = oauth_scopes, - ...) - - if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { - # save response in a file - if (!is.null(data_file)) { - write(local_var_resp$response, data_file) - } - - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[GuiInfo]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj - local_var_resp - } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { - ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) - } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { - ApiResponse$new("API client error", local_var_resp) - } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { - if (is.null(local_var_resp$response) || local_var_resp$response == "") { - local_var_resp$response <- "API server error" - } - local_var_resp - } - }, - - #' @description - #' Open GUI instance on specified project-space and bring the GUI window to foreground. - #' - #' @param project_id of project-space the GUI instance will connect to. - #' @param ... Other optional arguments - #' - #' @return void - OpenGui = function(project_id, ...) { - local_var_response <- self$OpenGuiWithHttpInfo(project_id, ...) - if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { - local_var_response$content - } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { - local_var_response - } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { - local_var_response - } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { - local_var_response - } - }, - - #' @description - #' Open GUI instance on specified project-space and bring the GUI window to foreground. - #' - #' @param project_id of project-space the GUI instance will connect to. - #' @param ... Other optional arguments - #' - #' @return API response (void) with additional information such as HTTP status code, headers - OpenGuiWithHttpInfo = function(project_id, ...) { - args <- list(...) - query_params <- list() - header_params <- c() - form_params <- list() - file_params <- list() - local_var_body <- NULL - oauth_scopes <- NULL - is_oauth <- FALSE - - if (missing(`project_id`)) { - stop("Missing required parameter `project_id`.") - } - - - local_var_url_path <- "/api/projects/{projectId}/gui" - if (!missing(`project_id`)) { - local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) - } - - - # The Accept request HTTP header - local_var_accepts <- list() - - # The Content-Type representation header - local_var_content_types <- list() - - local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), - method = "POST", - query_params = query_params, - header_params = header_params, - form_params = form_params, - file_params = file_params, - accepts = local_var_accepts, - content_types = local_var_content_types, - body = local_var_body, - is_oauth = is_oauth, - oauth_scopes = oauth_scopes, - ...) - - if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { - local_var_resp$content <- NULL - local_var_resp - } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { - ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) - } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { - ApiResponse$new("API client error", local_var_resp) - } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { - if (is.null(local_var_resp$response) || local_var_resp$response == "") { - local_var_resp$response <- "API server error" - } - local_var_resp - } - } - ) -) diff --git a/client-api_r/generated/R/job.R b/client-api_r/generated/R/job.R index 0417d4d6..abf3d2a9 100644 --- a/client-api_r/generated/R/job.R +++ b/client-api_r/generated/R/job.R @@ -9,7 +9,7 @@ #' @format An \code{R6Class} generator object #' @field id Unique identifier to access the job via the API character [optional] #' @field command Command string of the executed Task character [optional] -#' @field progress \link{JobProgress} [optional] +#' @field progress Optional progress information of this job \link{JobProgress} [optional] #' @field affectedCompoundIds List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished list(character) [optional] #' @field affectedAlignedFeatureIds List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished list(character) [optional] #' @field jobEffect Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested character [optional] @@ -31,7 +31,7 @@ Job <- R6::R6Class( #' #' @param id Unique identifier to access the job via the API #' @param command Command string of the executed Task - #' @param progress progress + #' @param progress Optional progress information of this job #' @param affectedCompoundIds List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished #' @param affectedAlignedFeatureIds List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished #' @param jobEffect Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested diff --git a/client-api_r/generated/R/job_submission.R b/client-api_r/generated/R/job_submission.R index 15054183..e78b74b4 100644 --- a/client-api_r/generated/R/job_submission.R +++ b/client-api_r/generated/R/job_submission.R @@ -13,13 +13,13 @@ #' @field enforcedAdducts Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- list(character) [optional] #' @field detectableAdducts Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- list(character) [optional] #' @field recompute Indicate if already existing result for a tool to be executed should be overwritten or not. character [optional] -#' @field spectraSearchParams \link{SpectralLibrarySearch} [optional] -#' @field formulaIdParams \link{Sirius} [optional] -#' @field zodiacParams \link{Zodiac} [optional] -#' @field fingerprintPredictionParams \link{FingerprintPrediction} [optional] -#' @field canopusParams \link{Canopus} [optional] -#' @field structureDbSearchParams \link{StructureDbSearch} [optional] -#' @field msNovelistParams \link{MsNovelist} [optional] +#' @field spectraSearchParams Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. \link{SpectralLibrarySearch} [optional] +#' @field formulaIdParams Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. \link{Sirius} [optional] +#' @field zodiacParams Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. \link{Zodiac} [optional] +#' @field fingerprintPredictionParams Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. \link{FingerprintPrediction} [optional] +#' @field canopusParams Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. \link{Canopus} [optional] +#' @field structureDbSearchParams Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. \link{StructureDbSearch} [optional] +#' @field msNovelistParams Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. \link{MsNovelist} [optional] #' @field configMap As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. named list(character) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -51,13 +51,13 @@ JobSubmission <- R6::R6Class( #' @param enforcedAdducts Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- #' @param detectableAdducts Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- #' @param recompute Indicate if already existing result for a tool to be executed should be overwritten or not. - #' @param spectraSearchParams spectraSearchParams - #' @param formulaIdParams formulaIdParams - #' @param zodiacParams zodiacParams - #' @param fingerprintPredictionParams fingerprintPredictionParams - #' @param canopusParams canopusParams - #' @param structureDbSearchParams structureDbSearchParams - #' @param msNovelistParams msNovelistParams + #' @param spectraSearchParams Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. + #' @param formulaIdParams Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. + #' @param zodiacParams Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. + #' @param fingerprintPredictionParams Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. + #' @param canopusParams Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. + #' @param structureDbSearchParams Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. + #' @param msNovelistParams Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. #' @param configMap As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. #' @param ... Other optional arguments. initialize = function(`compoundIds` = NULL, `alignedFeatureIds` = NULL, `fallbackAdducts` = NULL, `enforcedAdducts` = NULL, `detectableAdducts` = NULL, `recompute` = NULL, `spectraSearchParams` = NULL, `formulaIdParams` = NULL, `zodiacParams` = NULL, `fingerprintPredictionParams` = NULL, `canopusParams` = NULL, `structureDbSearchParams` = NULL, `msNovelistParams` = NULL, `configMap` = NULL, ...) { diff --git a/client-api_r/generated/R/jobs_api.R b/client-api_r/generated/R/jobs_api.R index 296b0320..59f5fef2 100644 --- a/client-api_r/generated/R/jobs_api.R +++ b/client-api_r/generated/R/jobs_api.R @@ -51,12 +51,26 @@ #' api_instance$jobs_api$DeleteJobs(var_project_id, cancel_if_running = var_cancel_if_running, await_deletion = var_await_deletion) #' #' +#' #################### GetCommand #################### +#' +#' library(Rsirius) +#' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | +#' +#' #Get a CLI command for the given job configuration. +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetCommand(var_job_submissiondata_file = "result.txt") +#' result <- api_instance$jobs_api$GetCommand(var_job_submission) +#' dput(result) +#' +#' #' #################### GetDefaultJobConfig #################### #' #' library(Rsirius) #' var_include_config_map <- FALSE # character | if true, generic configmap with-defaults will be included (Optional) #' var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters (Optional) -#' var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search contains also all available custom DB. (Optional) +#' var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (Optional) #' #' #Request default job configuration #' api_instance <- rsirius_api$new() @@ -102,7 +116,7 @@ #' #' library(Rsirius) #' -#' #DEPRECATED: use /job-configs to get all configs with names. +#' #[DEPRECATED] Get all (non-default) job configuration names #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -175,7 +189,7 @@ #' #' library(Rsirius) #' var_name <- "name_example" # character | name of the job-config to add -#' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, "INTENSITY"), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add +#' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add #' var_override_existing <- FALSE # character | (Optional) #' var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object (Optional) #' @@ -192,7 +206,7 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to run jobs on -#' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, "INTENSITY"), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned +#' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' #' #Start computation for given compounds and with given parameters. @@ -520,12 +534,109 @@ JobsApi <- R6::R6Class( } }, + #' @description + #' Get a CLI command for the given job configuration. + #' + #' @param job_submission + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[character] + GetCommand = function(job_submission, data_file = NULL, ...) { + local_var_response <- self$GetCommandWithHttpInfo(job_submission, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' Get a CLI command for the given job configuration. + #' + #' @param job_submission + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[character]) with additional information such as HTTP status code, headers + GetCommandWithHttpInfo = function(job_submission, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`job_submission`)) { + stop("Missing required parameter `job_submission`.") + } + + + if (!is.null(`job_submission`)) { + local_var_body <- `job_submission`$toJSONString() + } else { + body <- NULL + } + + local_var_url_path <- "/api/job-configs/get-command" + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list("application/json") + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "POST", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + #' @description #' Request default job configuration #' #' @param include_config_map (optional) if true, generic configmap with-defaults will be included (default value: FALSE) #' @param move_parameters_to_config_map (optional) if true, object-based parameters will be converted to and added to the generic configMap parameters (default value: FALSE) - #' @param include_custom_dbs_for_structure_search (optional) if true, default database selection of structure db search contains also all available custom DB. (default value: FALSE) + #' @param include_custom_dbs_for_structure_search (optional) if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -548,7 +659,7 @@ JobsApi <- R6::R6Class( #' #' @param include_config_map (optional) if true, generic configmap with-defaults will be included (default value: FALSE) #' @param move_parameters_to_config_map (optional) if true, object-based parameters will be converted to and added to the generic configMap parameters (default value: FALSE) - #' @param include_custom_dbs_for_structure_search (optional) if true, default database selection of structure db search contains also all available custom DB. (default value: FALSE) + #' @param include_custom_dbs_for_structure_search (optional) if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (default value: FALSE) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -624,12 +735,12 @@ JobsApi <- R6::R6Class( #' #' @param project_id project-space to run jobs on #' @param job_id of the job to be returned - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Job - GetJob = function(project_id, job_id, opt_fields = list("progress"), data_file = NULL, ...) { + GetJob = function(project_id, job_id, opt_fields = list(progress), data_file = NULL, ...) { local_var_response <- self$GetJobWithHttpInfo(project_id, job_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -647,12 +758,12 @@ JobsApi <- R6::R6Class( #' #' @param project_id project-space to run jobs on #' @param job_id of the job to be returned - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - GetJobWithHttpInfo = function(project_id, job_id, opt_fields = list("progress"), data_file = NULL, ...) { + GetJobWithHttpInfo = function(project_id, job_id, opt_fields = list(progress), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -838,7 +949,7 @@ JobsApi <- R6::R6Class( }, #' @description - #' DEPRECATED: use /job-configs to get all configs with names. + #' [DEPRECATED] Get all (non-default) job configuration names #' #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments @@ -858,7 +969,7 @@ JobsApi <- R6::R6Class( }, #' @description - #' DEPRECATED: use /job-configs to get all configs with names. + #' [DEPRECATED] Get all (non-default) job configuration names #' #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments @@ -1119,12 +1230,12 @@ JobsApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelJob - GetJobsPaged = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetJobsPaged = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$GetJobsPagedWithHttpInfo(project_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1144,12 +1255,12 @@ JobsApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelJob) with additional information such as HTTP status code, headers - GetJobsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + GetJobsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1588,12 +1699,12 @@ JobsApi <- R6::R6Class( #' @param job_config_name name if the config to be used #' @param request_body List of alignedFeatureIds to be computed #' @param recompute (optional) enable or disable recompute. If null the stored value will be used. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Job - StartJobFromConfig = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command","progress"), data_file = NULL, ...) { + StartJobFromConfig = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list(command, progress), data_file = NULL, ...) { local_var_response <- self$StartJobFromConfigWithHttpInfo(project_id, job_config_name, request_body, recompute, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1613,12 +1724,12 @@ JobsApi <- R6::R6Class( #' @param job_config_name name if the config to be used #' @param request_body List of alignedFeatureIds to be computed #' @param recompute (optional) enable or disable recompute. If null the stored value will be used. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - StartJobFromConfigWithHttpInfo = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command","progress"), data_file = NULL, ...) { + StartJobFromConfigWithHttpInfo = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list(command, progress), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() diff --git a/client-api_r/generated/R/lcms_submission_parameters.R b/client-api_r/generated/R/lcms_submission_parameters.R index 8f25915c..8cfb2892 100644 --- a/client-api_r/generated/R/lcms_submission_parameters.R +++ b/client-api_r/generated/R/lcms_submission_parameters.R @@ -8,6 +8,11 @@ #' @description LcmsSubmissionParameters Class #' @format An \code{R6Class} generator object #' @field alignLCMSRuns Specifies whether LC/MS runs should be aligned character [optional] +#' @field noiseIntensity Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. numeric [optional] +#' @field traceMaxMassDeviation Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. \link{Deviation} [optional] +#' @field alignMaxMassDeviation Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. \link{Deviation} [optional] +#' @field alignMaxRetentionTimeDeviation Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. numeric [optional] +#' @field minSNR Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory numeric [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -15,19 +20,55 @@ LcmsSubmissionParameters <- R6::R6Class( "LcmsSubmissionParameters", public = list( `alignLCMSRuns` = NULL, + `noiseIntensity` = NULL, + `traceMaxMassDeviation` = NULL, + `alignMaxMassDeviation` = NULL, + `alignMaxRetentionTimeDeviation` = NULL, + `minSNR` = NULL, #' @description #' Initialize a new LcmsSubmissionParameters class. #' #' @param alignLCMSRuns Specifies whether LC/MS runs should be aligned. Default to TRUE. + #' @param noiseIntensity Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient.. Default to -1. + #' @param traceMaxMassDeviation Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. + #' @param alignMaxMassDeviation Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. + #' @param alignMaxRetentionTimeDeviation Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.. Default to -1. + #' @param minSNR Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory. Default to 3. #' @param ... Other optional arguments. - initialize = function(`alignLCMSRuns` = TRUE, ...) { + initialize = function(`alignLCMSRuns` = TRUE, `noiseIntensity` = -1, `traceMaxMassDeviation` = NULL, `alignMaxMassDeviation` = NULL, `alignMaxRetentionTimeDeviation` = -1, `minSNR` = 3, ...) { if (!is.null(`alignLCMSRuns`)) { if (!(is.logical(`alignLCMSRuns`) && length(`alignLCMSRuns`) == 1)) { stop(paste("Error! Invalid data for `alignLCMSRuns`. Must be a boolean:", `alignLCMSRuns`)) } self$`alignLCMSRuns` <- `alignLCMSRuns` } + if (!is.null(`noiseIntensity`)) { + if (!(is.numeric(`noiseIntensity`) && length(`noiseIntensity`) == 1)) { + stop(paste("Error! Invalid data for `noiseIntensity`. Must be a number:", `noiseIntensity`)) + } + self$`noiseIntensity` <- `noiseIntensity` + } + if (!is.null(`traceMaxMassDeviation`)) { + stopifnot(R6::is.R6(`traceMaxMassDeviation`)) + self$`traceMaxMassDeviation` <- `traceMaxMassDeviation` + } + if (!is.null(`alignMaxMassDeviation`)) { + stopifnot(R6::is.R6(`alignMaxMassDeviation`)) + self$`alignMaxMassDeviation` <- `alignMaxMassDeviation` + } + if (!is.null(`alignMaxRetentionTimeDeviation`)) { + if (!(is.numeric(`alignMaxRetentionTimeDeviation`) && length(`alignMaxRetentionTimeDeviation`) == 1)) { + stop(paste("Error! Invalid data for `alignMaxRetentionTimeDeviation`. Must be a number:", `alignMaxRetentionTimeDeviation`)) + } + self$`alignMaxRetentionTimeDeviation` <- `alignMaxRetentionTimeDeviation` + } + if (!is.null(`minSNR`)) { + if (!(is.numeric(`minSNR`) && length(`minSNR`) == 1)) { + stop(paste("Error! Invalid data for `minSNR`. Must be a number:", `minSNR`)) + } + self$`minSNR` <- `minSNR` + } }, #' @description @@ -65,6 +106,26 @@ LcmsSubmissionParameters <- R6::R6Class( LcmsSubmissionParametersObject[["alignLCMSRuns"]] <- self$`alignLCMSRuns` } + if (!is.null(self$`noiseIntensity`)) { + LcmsSubmissionParametersObject[["noiseIntensity"]] <- + self$`noiseIntensity` + } + if (!is.null(self$`traceMaxMassDeviation`)) { + LcmsSubmissionParametersObject[["traceMaxMassDeviation"]] <- + self$`traceMaxMassDeviation`$toSimpleType() + } + if (!is.null(self$`alignMaxMassDeviation`)) { + LcmsSubmissionParametersObject[["alignMaxMassDeviation"]] <- + self$`alignMaxMassDeviation`$toSimpleType() + } + if (!is.null(self$`alignMaxRetentionTimeDeviation`)) { + LcmsSubmissionParametersObject[["alignMaxRetentionTimeDeviation"]] <- + self$`alignMaxRetentionTimeDeviation` + } + if (!is.null(self$`minSNR`)) { + LcmsSubmissionParametersObject[["minSNR"]] <- + self$`minSNR` + } return(LcmsSubmissionParametersObject) }, @@ -78,6 +139,25 @@ LcmsSubmissionParameters <- R6::R6Class( if (!is.null(this_object$`alignLCMSRuns`)) { self$`alignLCMSRuns` <- this_object$`alignLCMSRuns` } + if (!is.null(this_object$`noiseIntensity`)) { + self$`noiseIntensity` <- this_object$`noiseIntensity` + } + if (!is.null(this_object$`traceMaxMassDeviation`)) { + `tracemaxmassdeviation_object` <- Deviation$new() + `tracemaxmassdeviation_object`$fromJSON(jsonlite::toJSON(this_object$`traceMaxMassDeviation`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`traceMaxMassDeviation` <- `tracemaxmassdeviation_object` + } + if (!is.null(this_object$`alignMaxMassDeviation`)) { + `alignmaxmassdeviation_object` <- Deviation$new() + `alignmaxmassdeviation_object`$fromJSON(jsonlite::toJSON(this_object$`alignMaxMassDeviation`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`alignMaxMassDeviation` <- `alignmaxmassdeviation_object` + } + if (!is.null(this_object$`alignMaxRetentionTimeDeviation`)) { + self$`alignMaxRetentionTimeDeviation` <- this_object$`alignMaxRetentionTimeDeviation` + } + if (!is.null(this_object$`minSNR`)) { + self$`minSNR` <- this_object$`minSNR` + } self }, @@ -100,6 +180,11 @@ LcmsSubmissionParameters <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`alignLCMSRuns` <- this_object$`alignLCMSRuns` + self$`noiseIntensity` <- this_object$`noiseIntensity` + self$`traceMaxMassDeviation` <- Deviation$new()$fromJSON(jsonlite::toJSON(this_object$`traceMaxMassDeviation`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`alignMaxMassDeviation` <- Deviation$new()$fromJSON(jsonlite::toJSON(this_object$`alignMaxMassDeviation`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`alignMaxRetentionTimeDeviation` <- this_object$`alignMaxRetentionTimeDeviation` + self$`minSNR` <- this_object$`minSNR` self }, diff --git a/client-api_r/generated/R/license_info.R b/client-api_r/generated/R/license_info.R index 3f7c2a28..38d7ee21 100644 --- a/client-api_r/generated/R/license_info.R +++ b/client-api_r/generated/R/license_info.R @@ -9,8 +9,8 @@ #' @format An \code{R6Class} generator object #' @field userEmail Email address of the user account this license information belongs to. character [optional] #' @field userId User ID (uid) of the user account this license information belongs to. character [optional] -#' @field subscription \link{Subscription} [optional] -#' @field consumables \link{SubscriptionConsumables} [optional] +#' @field subscription The active subscription that was used the requested the information \link{Subscription} [optional] +#' @field consumables Status of the consumable resources of the {@link Subscription Subscription}. \link{SubscriptionConsumables} [optional] #' @field terms list(\link{Term}) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -29,8 +29,8 @@ LicenseInfo <- R6::R6Class( #' #' @param userEmail Email address of the user account this license information belongs to. #' @param userId User ID (uid) of the user account this license information belongs to. - #' @param subscription subscription - #' @param consumables consumables + #' @param subscription The active subscription that was used the requested the information + #' @param consumables Status of the consumable resources of the {@link Subscription Subscription}. #' @param terms terms #' @param ... Other optional arguments. initialize = function(`userEmail` = NULL, `userId` = NULL, `subscription` = NULL, `consumables` = NULL, `terms` = NULL, ...) { diff --git a/client-api_r/generated/R/ms_data.R b/client-api_r/generated/R/ms_data.R index 4ccdc527..d546b217 100644 --- a/client-api_r/generated/R/ms_data.R +++ b/client-api_r/generated/R/ms_data.R @@ -1,12 +1,13 @@ #' Create a new MsData #' #' @description -#' The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar +#' The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One extracted isotope pattern (optional) - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar #' #' @docType class #' @title MsData #' @description MsData Class #' @format An \code{R6Class} generator object +#' @field isotopePattern \link{BasicSpectrum} [optional] #' @field mergedMs1 \link{BasicSpectrum} [optional] #' @field mergedMs2 \link{BasicSpectrum} [optional] #' @field ms1Spectra list(\link{BasicSpectrum}) [optional] @@ -17,6 +18,7 @@ MsData <- R6::R6Class( "MsData", public = list( + `isotopePattern` = NULL, `mergedMs1` = NULL, `mergedMs2` = NULL, `ms1Spectra` = NULL, @@ -25,12 +27,17 @@ MsData <- R6::R6Class( #' @description #' Initialize a new MsData class. #' + #' @param isotopePattern isotopePattern #' @param mergedMs1 mergedMs1 #' @param mergedMs2 mergedMs2 #' @param ms1Spectra ms1Spectra #' @param ms2Spectra ms2Spectra #' @param ... Other optional arguments. - initialize = function(`mergedMs1` = NULL, `mergedMs2` = NULL, `ms1Spectra` = NULL, `ms2Spectra` = NULL, ...) { + initialize = function(`isotopePattern` = NULL, `mergedMs1` = NULL, `mergedMs2` = NULL, `ms1Spectra` = NULL, `ms2Spectra` = NULL, ...) { + if (!is.null(`isotopePattern`)) { + stopifnot(R6::is.R6(`isotopePattern`)) + self$`isotopePattern` <- `isotopePattern` + } if (!is.null(`mergedMs1`)) { stopifnot(R6::is.R6(`mergedMs1`)) self$`mergedMs1` <- `mergedMs1` @@ -82,6 +89,10 @@ MsData <- R6::R6Class( #' @return A base R type, e.g. a list or numeric/character array. toSimpleType = function() { MsDataObject <- list() + if (!is.null(self$`isotopePattern`)) { + MsDataObject[["isotopePattern"]] <- + self$`isotopePattern`$toSimpleType() + } if (!is.null(self$`mergedMs1`)) { MsDataObject[["mergedMs1"]] <- self$`mergedMs1`$toSimpleType() @@ -108,6 +119,11 @@ MsData <- R6::R6Class( #' @return the instance of MsData fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`isotopePattern`)) { + `isotopepattern_object` <- BasicSpectrum$new() + `isotopepattern_object`$fromJSON(jsonlite::toJSON(this_object$`isotopePattern`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`isotopePattern` <- `isotopepattern_object` + } if (!is.null(this_object$`mergedMs1`)) { `mergedms1_object` <- BasicSpectrum$new() `mergedms1_object`$fromJSON(jsonlite::toJSON(this_object$`mergedMs1`, auto_unbox = TRUE, digits = NA, null = 'null')) @@ -145,6 +161,7 @@ MsData <- R6::R6Class( #' @return the instance of MsData fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) + self$`isotopePattern` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`isotopePattern`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`mergedMs1` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`mergedMs1`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`mergedMs2` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`mergedMs2`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) diff --git a/client-api_r/generated/R/paged_model_run.R b/client-api_r/generated/R/paged_model_run.R new file mode 100644 index 00000000..11b15c7d --- /dev/null +++ b/client-api_r/generated/R/paged_model_run.R @@ -0,0 +1,175 @@ +#' Create a new PagedModelRun +#' +#' @description +#' PagedModelRun Class +#' +#' @docType class +#' @title PagedModelRun +#' @description PagedModelRun Class +#' @format An \code{R6Class} generator object +#' @field content list(\link{Run}) [optional] +#' @field page \link{PageMetadata} [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +PagedModelRun <- R6::R6Class( + "PagedModelRun", + public = list( + `content` = NULL, + `page` = NULL, + + #' @description + #' Initialize a new PagedModelRun class. + #' + #' @param content content + #' @param page page + #' @param ... Other optional arguments. + initialize = function(`content` = NULL, `page` = NULL, ...) { + if (!is.null(`content`)) { + stopifnot(is.vector(`content`), length(`content`) != 0) + sapply(`content`, function(x) stopifnot(R6::is.R6(x))) + self$`content` <- `content` + } + if (!is.null(`page`)) { + stopifnot(R6::is.R6(`page`)) + self$`page` <- `page` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return PagedModelRun as a base R list. + #' @examples + #' # convert array of PagedModelRun (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert PagedModelRun to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + PagedModelRunObject <- list() + if (!is.null(self$`content`)) { + PagedModelRunObject[["content"]] <- + lapply(self$`content`, function(x) x$toSimpleType()) + } + if (!is.null(self$`page`)) { + PagedModelRunObject[["page"]] <- + self$`page`$toSimpleType() + } + return(PagedModelRunObject) + }, + + #' @description + #' Deserialize JSON string into an instance of PagedModelRun + #' + #' @param input_json the JSON input + #' @return the instance of PagedModelRun + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`content`)) { + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Run]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`page`)) { + `page_object` <- PageMetadata$new() + `page_object`$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`page` <- `page_object` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return PagedModelRun in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of PagedModelRun + #' + #' @param input_json the JSON input + #' @return the instance of PagedModelRun + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Run]", loadNamespace("Rsirius")) + self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) + self + }, + + #' @description + #' Validate JSON input with respect to PagedModelRun and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of PagedModelRun + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# PagedModelRun$unlock() +# +## Below is an example to define the print function +# PagedModelRun$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# PagedModelRun$lock() + diff --git a/client-api_r/generated/R/peak_annotation.R b/client-api_r/generated/R/peak_annotation.R index d7ee56cd..c692d176 100644 --- a/client-api_r/generated/R/peak_annotation.R +++ b/client-api_r/generated/R/peak_annotation.R @@ -15,7 +15,7 @@ #' @field massDeviationPpm Relative mass deviation of the exact mass to the measured peak mass in ppm numeric [optional] #' @field recalibratedMassDeviationMz Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa numeric [optional] #' @field recalibratedMassDeviationPpm Relative mass deviation of the exact mass to the recalibrated peak mass in ppm numeric [optional] -#' @field parentPeak \link{ParentPeak} [optional] +#' @field parentPeak Link to the parent peak connected via the neutral loss from the fragmentation tree. \link{ParentPeak} [optional] #' @field substructureAtoms EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) list(integer) [optional] #' @field substructureBonds EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. list(integer) [optional] #' @field substructureBondsCut EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. list(integer) [optional] @@ -53,7 +53,7 @@ PeakAnnotation <- R6::R6Class( #' @param massDeviationPpm Relative mass deviation of the exact mass to the measured peak mass in ppm #' @param recalibratedMassDeviationMz Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa #' @param recalibratedMassDeviationPpm Relative mass deviation of the exact mass to the recalibrated peak mass in ppm - #' @param parentPeak parentPeak + #' @param parentPeak Link to the parent peak connected via the neutral loss from the fragmentation tree. #' @param substructureAtoms EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) #' @param substructureBonds EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. #' @param substructureBondsCut EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. diff --git a/client-api_r/generated/R/peak_pair.R b/client-api_r/generated/R/peak_pair.R new file mode 100644 index 00000000..03d2ba6f --- /dev/null +++ b/client-api_r/generated/R/peak_pair.R @@ -0,0 +1,212 @@ +#' Create a new PeakPair +#' +#' @description +#' PeakPair Class +#' +#' @docType class +#' @title PeakPair +#' @description PeakPair Class +#' @format An \code{R6Class} generator object +#' @field queryPeak integer +#' @field referencePeak integer +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +PeakPair <- R6::R6Class( + "PeakPair", + public = list( + `queryPeak` = NULL, + `referencePeak` = NULL, + + #' @description + #' Initialize a new PeakPair class. + #' + #' @param queryPeak queryPeak + #' @param referencePeak referencePeak + #' @param ... Other optional arguments. + initialize = function(`queryPeak`, `referencePeak`, ...) { + if (!missing(`queryPeak`)) { + if (!(is.numeric(`queryPeak`) && length(`queryPeak`) == 1)) { + stop(paste("Error! Invalid data for `queryPeak`. Must be an integer:", `queryPeak`)) + } + self$`queryPeak` <- `queryPeak` + } + if (!missing(`referencePeak`)) { + if (!(is.numeric(`referencePeak`) && length(`referencePeak`) == 1)) { + stop(paste("Error! Invalid data for `referencePeak`. Must be an integer:", `referencePeak`)) + } + self$`referencePeak` <- `referencePeak` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return PeakPair as a base R list. + #' @examples + #' # convert array of PeakPair (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert PeakPair to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + PeakPairObject <- list() + if (!is.null(self$`queryPeak`)) { + PeakPairObject[["queryPeak"]] <- + self$`queryPeak` + } + if (!is.null(self$`referencePeak`)) { + PeakPairObject[["referencePeak"]] <- + self$`referencePeak` + } + return(PeakPairObject) + }, + + #' @description + #' Deserialize JSON string into an instance of PeakPair + #' + #' @param input_json the JSON input + #' @return the instance of PeakPair + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`queryPeak`)) { + self$`queryPeak` <- this_object$`queryPeak` + } + if (!is.null(this_object$`referencePeak`)) { + self$`referencePeak` <- this_object$`referencePeak` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return PeakPair in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of PeakPair + #' + #' @param input_json the JSON input + #' @return the instance of PeakPair + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`queryPeak` <- this_object$`queryPeak` + self$`referencePeak` <- this_object$`referencePeak` + self + }, + + #' @description + #' Validate JSON input with respect to PeakPair and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `queryPeak` + if (!is.null(input_json$`queryPeak`)) { + if (!(is.numeric(input_json$`queryPeak`) && length(input_json$`queryPeak`) == 1)) { + stop(paste("Error! Invalid data for `queryPeak`. Must be an integer:", input_json$`queryPeak`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for PeakPair: the required field `queryPeak` is missing.")) + } + # check the required field `referencePeak` + if (!is.null(input_json$`referencePeak`)) { + if (!(is.numeric(input_json$`referencePeak`) && length(input_json$`referencePeak`) == 1)) { + stop(paste("Error! Invalid data for `referencePeak`. Must be an integer:", input_json$`referencePeak`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for PeakPair: the required field `referencePeak` is missing.")) + } + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of PeakPair + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + # check if the required `queryPeak` is null + if (is.null(self$`queryPeak`)) { + return(FALSE) + } + + # check if the required `referencePeak` is null + if (is.null(self$`referencePeak`)) { + return(FALSE) + } + + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + # check if the required `queryPeak` is null + if (is.null(self$`queryPeak`)) { + invalid_fields["queryPeak"] <- "Non-nullable required field `queryPeak` cannot be null." + } + + # check if the required `referencePeak` is null + if (is.null(self$`referencePeak`)) { + invalid_fields["referencePeak"] <- "Non-nullable required field `referencePeak` cannot be null." + } + + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# PeakPair$unlock() +# +## Below is an example to define the print function +# PeakPair$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# PeakPair$lock() + diff --git a/client-api_r/generated/R/project_info.R b/client-api_r/generated/R/project_info.R index f415773d..1a09c237 100644 --- a/client-api_r/generated/R/project_info.R +++ b/client-api_r/generated/R/project_info.R @@ -62,8 +62,8 @@ ProjectInfo <- R6::R6Class( self$`description` <- `description` } if (!is.null(`type`)) { - if (!(`type` %in% c("DIRECT_IMPORT", "PEAKLISTS", "ALIGNED_RUNS", "UNALIGNED_RUNS"))) { - stop(paste("Error! \"", `type`, "\" cannot be assigned to `type`. Must be \"DIRECT_IMPORT\", \"PEAKLISTS\", \"ALIGNED_RUNS\", \"UNALIGNED_RUNS\".", sep = "")) + if (!(`type` %in% c("UNIMPORTED", "DIRECT_IMPORT", "PEAKLISTS", "ALIGNED_RUNS", "UNALIGNED_RUNS"))) { + stop(paste("Error! \"", `type`, "\" cannot be assigned to `type`. Must be \"UNIMPORTED\", \"DIRECT_IMPORT\", \"PEAKLISTS\", \"ALIGNED_RUNS\", \"UNALIGNED_RUNS\".", sep = "")) } if (!(is.character(`type`) && length(`type`) == 1)) { stop(paste("Error! Invalid data for `type`. Must be a string:", `type`)) @@ -179,8 +179,8 @@ ProjectInfo <- R6::R6Class( self$`description` <- this_object$`description` } if (!is.null(this_object$`type`)) { - if (!is.null(this_object$`type`) && !(this_object$`type` %in% c("DIRECT_IMPORT", "PEAKLISTS", "ALIGNED_RUNS", "UNALIGNED_RUNS"))) { - stop(paste("Error! \"", this_object$`type`, "\" cannot be assigned to `type`. Must be \"DIRECT_IMPORT\", \"PEAKLISTS\", \"ALIGNED_RUNS\", \"UNALIGNED_RUNS\".", sep = "")) + if (!is.null(this_object$`type`) && !(this_object$`type` %in% c("UNIMPORTED", "DIRECT_IMPORT", "PEAKLISTS", "ALIGNED_RUNS", "UNALIGNED_RUNS"))) { + stop(paste("Error! \"", this_object$`type`, "\" cannot be assigned to `type`. Must be \"UNIMPORTED\", \"DIRECT_IMPORT\", \"PEAKLISTS\", \"ALIGNED_RUNS\", \"UNALIGNED_RUNS\".", sep = "")) } self$`type` <- this_object$`type` } @@ -220,8 +220,8 @@ ProjectInfo <- R6::R6Class( self$`projectId` <- this_object$`projectId` self$`location` <- this_object$`location` self$`description` <- this_object$`description` - if (!is.null(this_object$`type`) && !(this_object$`type` %in% c("DIRECT_IMPORT", "PEAKLISTS", "ALIGNED_RUNS", "UNALIGNED_RUNS"))) { - stop(paste("Error! \"", this_object$`type`, "\" cannot be assigned to `type`. Must be \"DIRECT_IMPORT\", \"PEAKLISTS\", \"ALIGNED_RUNS\", \"UNALIGNED_RUNS\".", sep = "")) + if (!is.null(this_object$`type`) && !(this_object$`type` %in% c("UNIMPORTED", "DIRECT_IMPORT", "PEAKLISTS", "ALIGNED_RUNS", "UNALIGNED_RUNS"))) { + stop(paste("Error! \"", this_object$`type`, "\" cannot be assigned to `type`. Must be \"UNIMPORTED\", \"DIRECT_IMPORT\", \"PEAKLISTS\", \"ALIGNED_RUNS\", \"UNALIGNED_RUNS\".", sep = "")) } self$`type` <- this_object$`type` self$`compatible` <- this_object$`compatible` diff --git a/client-api_r/generated/R/projects_api.R b/client-api_r/generated/R/projects_api.R index b7275ded..daa53450 100644 --- a/client-api_r/generated/R/projects_api.R +++ b/client-api_r/generated/R/projects_api.R @@ -17,11 +17,12 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | unique name/identifier of the project-space to be closed. +#' var_compact <- FALSE # character | if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (Optional) #' -#' #Close project-space and remove it from application +#' #Close project-space and remove it from the application #' api_instance <- rsirius_api$new() #' -#' api_instance$projects_api$CloseProject(var_project_id) +#' api_instance$projects_api$CloseProject(var_project_id, compact = var_compact) #' #' #' #################### CreateProject #################### @@ -117,15 +118,15 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | Project-space to import into. -#' var_input_files <- c(123) # array[data.frame] | (Optional) -#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example") # LcmsSubmissionParameters | (Optional) +#' var_input_files <- c(123) # array[data.frame] | Files to import into project. +#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. #' #' #Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$ImportMsRunData(var_project_id, input_files = var_input_files, parameters = var_parametersdata_file = "result.txt") -#' result <- api_instance$projects_api$ImportMsRunData(var_project_id, input_files = var_input_files, parameters = var_parameters) +#' # result <- api_instance$ImportMsRunData(var_project_id, var_input_files, var_parametersdata_file = "result.txt") +#' result <- api_instance$projects_api$ImportMsRunData(var_project_id, var_input_files, var_parameters) #' dput(result) #' #' @@ -133,16 +134,16 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | Project-space to import into. +#' var_input_files <- c(123) # array[data.frame] | Files to import into project. +#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. #' var_opt_fields <- c("none") # array[character] | Set of optional fields to be included. Use 'none' only to override defaults. (Optional) -#' var_input_files <- c(123) # array[data.frame] | (Optional) -#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example") # LcmsSubmissionParameters | (Optional) #' #' #Import and Align full MS-Runs from various formats into the specified project as background job. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$ImportMsRunDataAsJob(var_project_id, opt_fields = var_opt_fields, input_files = var_input_files, parameters = var_parametersdata_file = "result.txt") -#' result <- api_instance$projects_api$ImportMsRunDataAsJob(var_project_id, opt_fields = var_opt_fields, input_files = var_input_files, parameters = var_parameters) +#' # result <- api_instance$ImportMsRunDataAsJob(var_project_id, var_input_files, var_parameters, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$projects_api$ImportMsRunDataAsJob(var_project_id, var_input_files, var_parameters, opt_fields = var_opt_fields) #' dput(result) #' #' @@ -150,16 +151,16 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to import into. +#' var_input_files <- c(123) # array[data.frame] | files to import into project #' var_ignore_formulas <- FALSE # character | (Optional) #' var_allow_ms1_only <- TRUE # character | (Optional) -#' var_input_files <- c(123) # array[data.frame] | (Optional) #' #' #Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$ImportPreprocessedData(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, input_files = var_input_filesdata_file = "result.txt") -#' result <- api_instance$projects_api$ImportPreprocessedData(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, input_files = var_input_files) +#' # result <- api_instance$ImportPreprocessedData(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_onlydata_file = "result.txt") +#' result <- api_instance$projects_api$ImportPreprocessedData(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only) #' dput(result) #' #' @@ -167,17 +168,17 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to import into. +#' var_input_files <- c(123) # array[data.frame] | #' var_ignore_formulas <- FALSE # character | (Optional) #' var_allow_ms1_only <- TRUE # character | (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) -#' var_input_files <- c(123) # array[data.frame] | (Optional) #' #' #Import ms/ms data from the given format into the specified project-space as background job. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$ImportPreprocessedDataAsJob(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields, input_files = var_input_filesdata_file = "result.txt") -#' result <- api_instance$projects_api$ImportPreprocessedDataAsJob(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields, input_files = var_input_files) +#' # result <- api_instance$ImportPreprocessedDataAsJob(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$projects_api$ImportPreprocessedDataAsJob(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields) #' dput(result) #' #' @@ -219,14 +220,15 @@ ProjectsApi <- R6::R6Class( }, #' @description - #' Close project-space and remove it from application + #' Close project-space and remove it from the application #' #' @param project_id unique name/identifier of the project-space to be closed. + #' @param compact (optional) if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (default value: FALSE) #' @param ... Other optional arguments #' #' @return void - CloseProject = function(project_id, ...) { - local_var_response <- self$CloseProjectWithHttpInfo(project_id, ...) + CloseProject = function(project_id, compact = FALSE, ...) { + local_var_response <- self$CloseProjectWithHttpInfo(project_id, compact, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -239,13 +241,14 @@ ProjectsApi <- R6::R6Class( }, #' @description - #' Close project-space and remove it from application + #' Close project-space and remove it from the application #' #' @param project_id unique name/identifier of the project-space to be closed. + #' @param compact (optional) if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (default value: FALSE) #' @param ... Other optional arguments #' #' @return API response (void) with additional information such as HTTP status code, headers - CloseProjectWithHttpInfo = function(project_id, ...) { + CloseProjectWithHttpInfo = function(project_id, compact = FALSE, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -260,6 +263,9 @@ ProjectsApi <- R6::R6Class( } + + query_params[["compact"]] <- `compact` + local_var_url_path <- "/api/projects/{projectId}" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -305,12 +311,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return ProjectInfo - CreateProject = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { + CreateProject = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$CreateProjectWithHttpInfo(project_id, path_to_project, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -328,12 +334,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (ProjectInfo) with additional information such as HTTP status code, headers - CreateProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { + CreateProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -919,13 +925,13 @@ ProjectsApi <- R6::R6Class( #' Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) #' #' @param project_id Project-space to import into. - #' @param input_files (optional) No description - #' @param parameters (optional) No description + #' @param input_files Files to import into project. + #' @param parameters Parameters for feature alignment and feature finding. #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return ImportResult - ImportMsRunData = function(project_id, input_files = NULL, parameters = NULL, data_file = NULL, ...) { + ImportMsRunData = function(project_id, input_files, parameters, data_file = NULL, ...) { local_var_response <- self$ImportMsRunDataWithHttpInfo(project_id, input_files, parameters, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -942,13 +948,13 @@ ProjectsApi <- R6::R6Class( #' Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) #' #' @param project_id Project-space to import into. - #' @param input_files (optional) No description - #' @param parameters (optional) No description + #' @param input_files Files to import into project. + #' @param parameters Parameters for feature alignment and feature finding. #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (ImportResult) with additional information such as HTTP status code, headers - ImportMsRunDataWithHttpInfo = function(project_id, input_files = NULL, parameters = NULL, data_file = NULL, ...) { + ImportMsRunDataWithHttpInfo = function(project_id, input_files, parameters, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -962,6 +968,14 @@ ProjectsApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } + if (missing(`input_files`)) { + stop("Missing required parameter `input_files`.") + } + + if (missing(`parameters`)) { + stop("Missing required parameter `parameters`.") + } + @@ -1022,15 +1036,15 @@ ProjectsApi <- R6::R6Class( #' Import and Align full MS-Runs from various formats into the specified project as background job. #' #' @param project_id Project-space to import into. - #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) - #' @param input_files (optional) No description - #' @param parameters (optional) No description + #' @param input_files Files to import into project. + #' @param parameters Parameters for feature alignment and feature finding. + #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Job - ImportMsRunDataAsJob = function(project_id, opt_fields = list("progress"), input_files = NULL, parameters = NULL, data_file = NULL, ...) { - local_var_response <- self$ImportMsRunDataAsJobWithHttpInfo(project_id, opt_fields, input_files, parameters, data_file = data_file, ...) + ImportMsRunDataAsJob = function(project_id, input_files, parameters, opt_fields = list(progress), data_file = NULL, ...) { + local_var_response <- self$ImportMsRunDataAsJobWithHttpInfo(project_id, input_files, parameters, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -1046,14 +1060,14 @@ ProjectsApi <- R6::R6Class( #' Import and Align full MS-Runs from various formats into the specified project as background job. #' #' @param project_id Project-space to import into. - #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) - #' @param input_files (optional) No description - #' @param parameters (optional) No description + #' @param input_files Files to import into project. + #' @param parameters Parameters for feature alignment and feature finding. + #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - ImportMsRunDataAsJobWithHttpInfo = function(project_id, opt_fields = list("progress"), input_files = NULL, parameters = NULL, data_file = NULL, ...) { + ImportMsRunDataAsJobWithHttpInfo = function(project_id, input_files, parameters, opt_fields = list(progress), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1067,6 +1081,14 @@ ProjectsApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } + if (missing(`input_files`)) { + stop("Missing required parameter `input_files`.") + } + + if (missing(`parameters`)) { + stop("Missing required parameter `parameters`.") + } + @@ -1137,15 +1159,15 @@ ProjectsApi <- R6::R6Class( #' Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) #' #' @param project_id project-space to import into. + #' @param input_files files to import into project #' @param ignore_formulas (optional) No description (default value: FALSE) #' @param allow_ms1_only (optional) No description (default value: TRUE) - #' @param input_files (optional) No description #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return ImportResult - ImportPreprocessedData = function(project_id, ignore_formulas = FALSE, allow_ms1_only = TRUE, input_files = NULL, data_file = NULL, ...) { - local_var_response <- self$ImportPreprocessedDataWithHttpInfo(project_id, ignore_formulas, allow_ms1_only, input_files, data_file = data_file, ...) + ImportPreprocessedData = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, data_file = NULL, ...) { + local_var_response <- self$ImportPreprocessedDataWithHttpInfo(project_id, input_files, ignore_formulas, allow_ms1_only, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -1161,14 +1183,14 @@ ProjectsApi <- R6::R6Class( #' Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) #' #' @param project_id project-space to import into. + #' @param input_files files to import into project #' @param ignore_formulas (optional) No description (default value: FALSE) #' @param allow_ms1_only (optional) No description (default value: TRUE) - #' @param input_files (optional) No description #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (ImportResult) with additional information such as HTTP status code, headers - ImportPreprocessedDataWithHttpInfo = function(project_id, ignore_formulas = FALSE, allow_ms1_only = TRUE, input_files = NULL, data_file = NULL, ...) { + ImportPreprocessedDataWithHttpInfo = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1182,6 +1204,10 @@ ProjectsApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } + if (missing(`input_files`)) { + stop("Missing required parameter `input_files`.") + } + @@ -1246,16 +1272,16 @@ ProjectsApi <- R6::R6Class( #' Import ms/ms data from the given format into the specified project-space as background job. #' #' @param project_id project-space to import into. + #' @param input_files #' @param ignore_formulas (optional) No description (default value: FALSE) #' @param allow_ms1_only (optional) No description (default value: TRUE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) - #' @param input_files (optional) No description + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Job - ImportPreprocessedDataAsJob = function(project_id, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list("progress"), input_files = NULL, data_file = NULL, ...) { - local_var_response <- self$ImportPreprocessedDataAsJobWithHttpInfo(project_id, ignore_formulas, allow_ms1_only, opt_fields, input_files, data_file = data_file, ...) + ImportPreprocessedDataAsJob = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list(progress), data_file = NULL, ...) { + local_var_response <- self$ImportPreprocessedDataAsJobWithHttpInfo(project_id, input_files, ignore_formulas, allow_ms1_only, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -1271,15 +1297,15 @@ ProjectsApi <- R6::R6Class( #' Import ms/ms data from the given format into the specified project-space as background job. #' #' @param project_id project-space to import into. + #' @param input_files #' @param ignore_formulas (optional) No description (default value: FALSE) #' @param allow_ms1_only (optional) No description (default value: TRUE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) - #' @param input_files (optional) No description + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - ImportPreprocessedDataAsJobWithHttpInfo = function(project_id, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list("progress"), input_files = NULL, data_file = NULL, ...) { + ImportPreprocessedDataAsJobWithHttpInfo = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list(progress), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1293,6 +1319,10 @@ ProjectsApi <- R6::R6Class( stop("Missing required parameter `project_id`.") } + if (missing(`input_files`)) { + stop("Missing required parameter `input_files`.") + } + @@ -1368,12 +1398,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return ProjectInfo - OpenProject = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { + OpenProject = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { local_var_response <- self$OpenProjectWithHttpInfo(project_id, path_to_project, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1391,12 +1421,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: ["none"]) + #' @param opt_fields (optional) No description (default value: [none]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (ProjectInfo) with additional information such as HTTP status code, headers - OpenProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { + OpenProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() diff --git a/client-api_r/generated/R/quantification_table_experimental.R b/client-api_r/generated/R/quant_table_experimental.R similarity index 60% rename from client-api_r/generated/R/quantification_table_experimental.R rename to client-api_r/generated/R/quant_table_experimental.R index 2f7bf824..7c0f18eb 100644 --- a/client-api_r/generated/R/quantification_table_experimental.R +++ b/client-api_r/generated/R/quant_table_experimental.R @@ -1,15 +1,14 @@ -#' Create a new QuantificationTableExperimental +#' Create a new QuantTableExperimental #' #' @description #' EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. #' #' @docType class -#' @title QuantificationTableExperimental -#' @description QuantificationTableExperimental Class +#' @title QuantTableExperimental +#' @description QuantTableExperimental Class #' @format An \code{R6Class} generator object -#' @field quantificationType character [optional] +#' @field quantificationMeasure character [optional] #' @field rowType character [optional] -#' @field columnType character [optional] #' @field rowIds list(integer) [optional] #' @field columnIds list(integer) [optional] #' @field rowNames list(character) [optional] @@ -18,12 +17,11 @@ #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export -QuantificationTableExperimental <- R6::R6Class( - "QuantificationTableExperimental", +QuantTableExperimental <- R6::R6Class( + "QuantTableExperimental", public = list( - `quantificationType` = NULL, + `quantificationMeasure` = NULL, `rowType` = NULL, - `columnType` = NULL, `rowIds` = NULL, `columnIds` = NULL, `rowNames` = NULL, @@ -31,45 +29,35 @@ QuantificationTableExperimental <- R6::R6Class( `values` = NULL, #' @description - #' Initialize a new QuantificationTableExperimental class. + #' Initialize a new QuantTableExperimental class. #' - #' @param quantificationType quantificationType + #' @param quantificationMeasure quantificationMeasure #' @param rowType rowType - #' @param columnType columnType #' @param rowIds rowIds #' @param columnIds columnIds #' @param rowNames rowNames #' @param columnNames columnNames #' @param values values #' @param ... Other optional arguments. - initialize = function(`quantificationType` = NULL, `rowType` = NULL, `columnType` = NULL, `rowIds` = NULL, `columnIds` = NULL, `rowNames` = NULL, `columnNames` = NULL, `values` = NULL, ...) { - if (!is.null(`quantificationType`)) { - if (!(`quantificationType` %in% c("APEX_HEIGHT"))) { - stop(paste("Error! \"", `quantificationType`, "\" cannot be assigned to `quantificationType`. Must be \"APEX_HEIGHT\".", sep = "")) + initialize = function(`quantificationMeasure` = NULL, `rowType` = NULL, `rowIds` = NULL, `columnIds` = NULL, `rowNames` = NULL, `columnNames` = NULL, `values` = NULL, ...) { + if (!is.null(`quantificationMeasure`)) { + if (!(`quantificationMeasure` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", `quantificationMeasure`, "\" cannot be assigned to `quantificationMeasure`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) } - if (!(is.character(`quantificationType`) && length(`quantificationType`) == 1)) { - stop(paste("Error! Invalid data for `quantificationType`. Must be a string:", `quantificationType`)) + if (!(is.character(`quantificationMeasure`) && length(`quantificationMeasure`) == 1)) { + stop(paste("Error! Invalid data for `quantificationMeasure`. Must be a string:", `quantificationMeasure`)) } - self$`quantificationType` <- `quantificationType` + self$`quantificationMeasure` <- `quantificationMeasure` } if (!is.null(`rowType`)) { - if (!(`rowType` %in% c("FEATURES"))) { - stop(paste("Error! \"", `rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\".", sep = "")) + if (!(`rowType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", `rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) } if (!(is.character(`rowType`) && length(`rowType`) == 1)) { stop(paste("Error! Invalid data for `rowType`. Must be a string:", `rowType`)) } self$`rowType` <- `rowType` } - if (!is.null(`columnType`)) { - if (!(`columnType` %in% c("SAMPLES"))) { - stop(paste("Error! \"", `columnType`, "\" cannot be assigned to `columnType`. Must be \"SAMPLES\".", sep = "")) - } - if (!(is.character(`columnType`) && length(`columnType`) == 1)) { - stop(paste("Error! Invalid data for `columnType`. Must be a string:", `columnType`)) - } - self$`columnType` <- `columnType` - } if (!is.null(`rowIds`)) { stopifnot(is.vector(`rowIds`), length(`rowIds`) != 0) sapply(`rowIds`, function(x) stopifnot(is.character(x))) @@ -109,9 +97,9 @@ QuantificationTableExperimental <- R6::R6Class( #' #' Convert the R6 object to a list to work more easily with other tooling. #' - #' @return QuantificationTableExperimental as a base R list. + #' @return QuantTableExperimental as a base R list. #' @examples - #' # convert array of QuantificationTableExperimental (x) to a data frame + #' # convert array of QuantTableExperimental (x) to a data frame #' \dontrun{ #' library(purrr) #' library(tibble) @@ -123,71 +111,61 @@ QuantificationTableExperimental <- R6::R6Class( }, #' @description - #' Convert QuantificationTableExperimental to a base R type + #' Convert QuantTableExperimental to a base R type #' #' @return A base R type, e.g. a list or numeric/character array. toSimpleType = function() { - QuantificationTableExperimentalObject <- list() - if (!is.null(self$`quantificationType`)) { - QuantificationTableExperimentalObject[["quantificationType"]] <- - self$`quantificationType` + QuantTableExperimentalObject <- list() + if (!is.null(self$`quantificationMeasure`)) { + QuantTableExperimentalObject[["quantificationMeasure"]] <- + self$`quantificationMeasure` } if (!is.null(self$`rowType`)) { - QuantificationTableExperimentalObject[["rowType"]] <- + QuantTableExperimentalObject[["rowType"]] <- self$`rowType` } - if (!is.null(self$`columnType`)) { - QuantificationTableExperimentalObject[["columnType"]] <- - self$`columnType` - } if (!is.null(self$`rowIds`)) { - QuantificationTableExperimentalObject[["rowIds"]] <- + QuantTableExperimentalObject[["rowIds"]] <- self$`rowIds` } if (!is.null(self$`columnIds`)) { - QuantificationTableExperimentalObject[["columnIds"]] <- + QuantTableExperimentalObject[["columnIds"]] <- self$`columnIds` } if (!is.null(self$`rowNames`)) { - QuantificationTableExperimentalObject[["rowNames"]] <- + QuantTableExperimentalObject[["rowNames"]] <- self$`rowNames` } if (!is.null(self$`columnNames`)) { - QuantificationTableExperimentalObject[["columnNames"]] <- + QuantTableExperimentalObject[["columnNames"]] <- self$`columnNames` } if (!is.null(self$`values`)) { - QuantificationTableExperimentalObject[["values"]] <- + QuantTableExperimentalObject[["values"]] <- lapply(self$`values`, function(x) x$toSimpleType()) } - return(QuantificationTableExperimentalObject) + return(QuantTableExperimentalObject) }, #' @description - #' Deserialize JSON string into an instance of QuantificationTableExperimental + #' Deserialize JSON string into an instance of QuantTableExperimental #' #' @param input_json the JSON input - #' @return the instance of QuantificationTableExperimental + #' @return the instance of QuantTableExperimental fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - if (!is.null(this_object$`quantificationType`)) { - if (!is.null(this_object$`quantificationType`) && !(this_object$`quantificationType` %in% c("APEX_HEIGHT"))) { - stop(paste("Error! \"", this_object$`quantificationType`, "\" cannot be assigned to `quantificationType`. Must be \"APEX_HEIGHT\".", sep = "")) + if (!is.null(this_object$`quantificationMeasure`)) { + if (!is.null(this_object$`quantificationMeasure`) && !(this_object$`quantificationMeasure` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", this_object$`quantificationMeasure`, "\" cannot be assigned to `quantificationMeasure`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) } - self$`quantificationType` <- this_object$`quantificationType` + self$`quantificationMeasure` <- this_object$`quantificationMeasure` } if (!is.null(this_object$`rowType`)) { - if (!is.null(this_object$`rowType`) && !(this_object$`rowType` %in% c("FEATURES"))) { - stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\".", sep = "")) + if (!is.null(this_object$`rowType`) && !(this_object$`rowType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) } self$`rowType` <- this_object$`rowType` } - if (!is.null(this_object$`columnType`)) { - if (!is.null(this_object$`columnType`) && !(this_object$`columnType` %in% c("SAMPLES"))) { - stop(paste("Error! \"", this_object$`columnType`, "\" cannot be assigned to `columnType`. Must be \"SAMPLES\".", sep = "")) - } - self$`columnType` <- this_object$`columnType` - } if (!is.null(this_object$`rowIds`)) { self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[integer]", loadNamespace("Rsirius")) } @@ -210,7 +188,7 @@ QuantificationTableExperimental <- R6::R6Class( #' To JSON String #' #' @param ... Parameters passed to `jsonlite::toJSON` - #' @return QuantificationTableExperimental in JSON format + #' @return QuantTableExperimental in JSON format toJSONString = function(...) { simple <- self$toSimpleType() json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) @@ -218,24 +196,20 @@ QuantificationTableExperimental <- R6::R6Class( }, #' @description - #' Deserialize JSON string into an instance of QuantificationTableExperimental + #' Deserialize JSON string into an instance of QuantTableExperimental #' #' @param input_json the JSON input - #' @return the instance of QuantificationTableExperimental + #' @return the instance of QuantTableExperimental fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - if (!is.null(this_object$`quantificationType`) && !(this_object$`quantificationType` %in% c("APEX_HEIGHT"))) { - stop(paste("Error! \"", this_object$`quantificationType`, "\" cannot be assigned to `quantificationType`. Must be \"APEX_HEIGHT\".", sep = "")) + if (!is.null(this_object$`quantificationMeasure`) && !(this_object$`quantificationMeasure` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", this_object$`quantificationMeasure`, "\" cannot be assigned to `quantificationMeasure`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) } - self$`quantificationType` <- this_object$`quantificationType` - if (!is.null(this_object$`rowType`) && !(this_object$`rowType` %in% c("FEATURES"))) { - stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\".", sep = "")) + self$`quantificationMeasure` <- this_object$`quantificationMeasure` + if (!is.null(this_object$`rowType`) && !(this_object$`rowType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) } self$`rowType` <- this_object$`rowType` - if (!is.null(this_object$`columnType`) && !(this_object$`columnType` %in% c("SAMPLES"))) { - stop(paste("Error! \"", this_object$`columnType`, "\" cannot be assigned to `columnType`. Must be \"SAMPLES\".", sep = "")) - } - self$`columnType` <- this_object$`columnType` self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[integer]", loadNamespace("Rsirius")) self$`columnIds` <- ApiClient$new()$deserializeObj(this_object$`columnIds`, "array[integer]", loadNamespace("Rsirius")) self$`rowNames` <- ApiClient$new()$deserializeObj(this_object$`rowNames`, "array[character]", loadNamespace("Rsirius")) @@ -245,7 +219,7 @@ QuantificationTableExperimental <- R6::R6Class( }, #' @description - #' Validate JSON input with respect to QuantificationTableExperimental and throw an exception if invalid + #' Validate JSON input with respect to QuantTableExperimental and throw an exception if invalid #' #' @param input the JSON input validateJSON = function(input) { @@ -255,7 +229,7 @@ QuantificationTableExperimental <- R6::R6Class( #' @description #' To string (JSON format) #' - #' @return String representation of QuantificationTableExperimental + #' @return String representation of QuantTableExperimental toString = function() { self$toJSONString() }, @@ -288,13 +262,13 @@ QuantificationTableExperimental <- R6::R6Class( lock_class = TRUE ) ## Uncomment below to unlock the class to allow modifications of the method or field -# QuantificationTableExperimental$unlock() +# QuantTableExperimental$unlock() # ## Below is an example to define the print function -# QuantificationTableExperimental$set("public", "print", function(...) { +# QuantTableExperimental$set("public", "print", function(...) { # print(jsonlite::prettify(self$toJSONString())) # invisible(self) # }) ## Uncomment below to lock the class to prevent modifications to the method or field -# QuantificationTableExperimental$lock() +# QuantTableExperimental$lock() diff --git a/client-api_r/generated/R/rsirius_api.R b/client-api_r/generated/R/rsirius_api.R index 2ed4428d..ed214441 100644 --- a/client-api_r/generated/R/rsirius_api.R +++ b/client-api_r/generated/R/rsirius_api.R @@ -19,28 +19,34 @@ #' @format An \code{R6Class} generator object #' @field api_client API client #' @field actuator_api an instance of ActuatorApi +#' @field compound_statistics_api an instance of CompoundStatisticsApi #' @field compounds_api an instance of CompoundsApi +#' @field feature_statistics_api an instance of FeatureStatisticsApi #' @field features_api an instance of FeaturesApi -#' @field gui_api an instance of GuiApi #' @field info_api an instance of InfoApi #' @field jobs_api an instance of JobsApi #' @field login_and_account_api an instance of LoginAndAccountApi #' @field projects_api an instance of ProjectsApi +#' @field runs_api an instance of RunsApi #' @field searchable_databases_api an instance of SearchableDatabasesApi +#' @field tags_api an instance of TagsApi #' @export rsirius_api <- R6::R6Class( "rsirius_api", public = list( api_client = NULL, actuator_api = NULL, + compound_statistics_api = NULL, compounds_api = NULL, + feature_statistics_api = NULL, features_api = NULL, - gui_api = NULL, info_api = NULL, jobs_api = NULL, login_and_account_api = NULL, projects_api = NULL, + runs_api = NULL, searchable_databases_api = NULL, + tags_api = NULL, #' Initialize a new Rsirius API Class. #' #' @description @@ -57,11 +63,13 @@ rsirius_api <- R6::R6Class( self$actuator_api <- ActuatorApi$new(self$api_client) + self$compound_statistics_api <- CompoundStatisticsApi$new(self$api_client) + self$compounds_api <- CompoundsApi$new(self$api_client) - self$features_api <- FeaturesApi$new(self$api_client) + self$feature_statistics_api <- FeatureStatisticsApi$new(self$api_client) - self$gui_api <- GuiApi$new(self$api_client) + self$features_api <- FeaturesApi$new(self$api_client) self$info_api <- InfoApi$new(self$api_client) @@ -71,8 +79,12 @@ rsirius_api <- R6::R6Class( self$projects_api <- ProjectsApi$new(self$api_client) + self$runs_api <- RunsApi$new(self$api_client) + self$searchable_databases_api <- SearchableDatabasesApi$new(self$api_client) + self$tags_api <- TagsApi$new(self$api_client) + } ) ) diff --git a/client-api_r/generated/R/run.R b/client-api_r/generated/R/run.R new file mode 100644 index 00000000..ef77c7a7 --- /dev/null +++ b/client-api_r/generated/R/run.R @@ -0,0 +1,276 @@ +#' Create a new Run +#' +#' @description +#' Run Class +#' +#' @docType class +#' @title Run +#' @description Run Class +#' @format An \code{R6Class} generator object +#' @field runId Identifier character [optional] +#' @field name Informative, human-readable name of this run character [optional] +#' @field source Source location character [optional] +#' @field chromatography character [optional] +#' @field ionization character [optional] +#' @field fragmentation character [optional] +#' @field massAnalyzers list(character) [optional] +#' @field tags Key: tagName, value: tag named list(\link{Tag}) [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +Run <- R6::R6Class( + "Run", + public = list( + `runId` = NULL, + `name` = NULL, + `source` = NULL, + `chromatography` = NULL, + `ionization` = NULL, + `fragmentation` = NULL, + `massAnalyzers` = NULL, + `tags` = NULL, + + #' @description + #' Initialize a new Run class. + #' + #' @param runId Identifier + #' @param name Informative, human-readable name of this run + #' @param source Source location + #' @param chromatography chromatography + #' @param ionization ionization + #' @param fragmentation fragmentation + #' @param massAnalyzers massAnalyzers + #' @param tags Key: tagName, value: tag + #' @param ... Other optional arguments. + initialize = function(`runId` = NULL, `name` = NULL, `source` = NULL, `chromatography` = NULL, `ionization` = NULL, `fragmentation` = NULL, `massAnalyzers` = NULL, `tags` = NULL, ...) { + if (!is.null(`runId`)) { + if (!(is.character(`runId`) && length(`runId`) == 1)) { + stop(paste("Error! Invalid data for `runId`. Must be a string:", `runId`)) + } + self$`runId` <- `runId` + } + if (!is.null(`name`)) { + if (!(is.character(`name`) && length(`name`) == 1)) { + stop(paste("Error! Invalid data for `name`. Must be a string:", `name`)) + } + self$`name` <- `name` + } + if (!is.null(`source`)) { + if (!(is.character(`source`) && length(`source`) == 1)) { + stop(paste("Error! Invalid data for `source`. Must be a string:", `source`)) + } + self$`source` <- `source` + } + if (!is.null(`chromatography`)) { + if (!(is.character(`chromatography`) && length(`chromatography`) == 1)) { + stop(paste("Error! Invalid data for `chromatography`. Must be a string:", `chromatography`)) + } + self$`chromatography` <- `chromatography` + } + if (!is.null(`ionization`)) { + if (!(is.character(`ionization`) && length(`ionization`) == 1)) { + stop(paste("Error! Invalid data for `ionization`. Must be a string:", `ionization`)) + } + self$`ionization` <- `ionization` + } + if (!is.null(`fragmentation`)) { + if (!(is.character(`fragmentation`) && length(`fragmentation`) == 1)) { + stop(paste("Error! Invalid data for `fragmentation`. Must be a string:", `fragmentation`)) + } + self$`fragmentation` <- `fragmentation` + } + if (!is.null(`massAnalyzers`)) { + stopifnot(is.vector(`massAnalyzers`), length(`massAnalyzers`) != 0) + sapply(`massAnalyzers`, function(x) stopifnot(is.character(x))) + self$`massAnalyzers` <- `massAnalyzers` + } + if (!is.null(`tags`)) { + stopifnot(is.vector(`tags`), length(`tags`) != 0) + sapply(`tags`, function(x) stopifnot(R6::is.R6(x))) + self$`tags` <- `tags` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return Run as a base R list. + #' @examples + #' # convert array of Run (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert Run to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + RunObject <- list() + if (!is.null(self$`runId`)) { + RunObject[["runId"]] <- + self$`runId` + } + if (!is.null(self$`name`)) { + RunObject[["name"]] <- + self$`name` + } + if (!is.null(self$`source`)) { + RunObject[["source"]] <- + self$`source` + } + if (!is.null(self$`chromatography`)) { + RunObject[["chromatography"]] <- + self$`chromatography` + } + if (!is.null(self$`ionization`)) { + RunObject[["ionization"]] <- + self$`ionization` + } + if (!is.null(self$`fragmentation`)) { + RunObject[["fragmentation"]] <- + self$`fragmentation` + } + if (!is.null(self$`massAnalyzers`)) { + RunObject[["massAnalyzers"]] <- + self$`massAnalyzers` + } + if (!is.null(self$`tags`)) { + RunObject[["tags"]] <- + lapply(self$`tags`, function(x) x$toSimpleType()) + } + return(RunObject) + }, + + #' @description + #' Deserialize JSON string into an instance of Run + #' + #' @param input_json the JSON input + #' @return the instance of Run + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`runId`)) { + self$`runId` <- this_object$`runId` + } + if (!is.null(this_object$`name`)) { + self$`name` <- this_object$`name` + } + if (!is.null(this_object$`source`)) { + self$`source` <- this_object$`source` + } + if (!is.null(this_object$`chromatography`)) { + self$`chromatography` <- this_object$`chromatography` + } + if (!is.null(this_object$`ionization`)) { + self$`ionization` <- this_object$`ionization` + } + if (!is.null(this_object$`fragmentation`)) { + self$`fragmentation` <- this_object$`fragmentation` + } + if (!is.null(this_object$`massAnalyzers`)) { + self$`massAnalyzers` <- ApiClient$new()$deserializeObj(this_object$`massAnalyzers`, "array[character]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`tags`)) { + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return Run in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of Run + #' + #' @param input_json the JSON input + #' @return the instance of Run + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`runId` <- this_object$`runId` + self$`name` <- this_object$`name` + self$`source` <- this_object$`source` + self$`chromatography` <- this_object$`chromatography` + self$`ionization` <- this_object$`ionization` + self$`fragmentation` <- this_object$`fragmentation` + self$`massAnalyzers` <- ApiClient$new()$deserializeObj(this_object$`massAnalyzers`, "array[character]", loadNamespace("Rsirius")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + self + }, + + #' @description + #' Validate JSON input with respect to Run and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of Run + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# Run$unlock() +# +## Below is an example to define the print function +# Run$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# Run$lock() + diff --git a/client-api_r/generated/R/run_opt_field.R b/client-api_r/generated/R/run_opt_field.R new file mode 100644 index 00000000..d2fbea39 --- /dev/null +++ b/client-api_r/generated/R/run_opt_field.R @@ -0,0 +1,90 @@ +#' @docType class +#' @title RunOptField +#' @description RunOptField Class +#' @format An \code{R6Class} generator object +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +RunOptField <- R6::R6Class( + "RunOptField", + public = list( + + #' @description + #' Initialize a new RunOptField class. + #' + #' @param ... Optional arguments. + initialize = function(...) { + local.optional.var <- list(...) + val <- unlist(local.optional.var) + enumvec <- .parse_RunOptField() + + if (length(val) == 0L) { + val = "DUMMY_ENUM" + } else { + stopifnot(length(val) == 1L) + } + + if (!val %in% enumvec) { + if (!(val=="DUMMY_ENUM")) { + stop("Use one of the valid values: ", + paste0(enumvec, collapse = ", ")) + } + warning("Initializing RunOptField with DUMMY_ENUM. Use one of the valid values: ", + paste0(enumvec, collapse = ", "), + ". If you did not manually initialize RunOptField, this may already be overwritten by an enum loaded from a JSON config.") + } + private$value <- val + }, + + #' @description + #' To JSON String + #' + #' @return RunOptField in JSON format + toJSON = function() { + jsonlite::toJSON(private$value, auto_unbox = TRUE) + }, + + #' @description + #' Deserialize JSON string into an instance of RunOptField + #' + #' @param input_json the JSON input + #' + #' @return the instance of RunOptField + fromJSON = function(input_json) { + private$value <- jsonlite::fromJSON(input_json, + simplifyVector = FALSE) + self + }, + + #' @description + #' To JSON String + #' + #' @return RunOptField in JSON format + toJSONString = function() { + as.character(jsonlite::toJSON(private$value, + auto_unbox = TRUE)) + }, + + #' @description + #' Deserialize JSON string into an instance of RunOptField + #' + #' @param input_json the JSON input + #' + #' @return the instance of RunOptField + fromJSONString = function(input_json) { + private$value <- jsonlite::fromJSON(input_json, + simplifyVector = FALSE) + self + } + ), + private = list( + value = NULL + ) +) + +# add to utils.R +.parse_RunOptField <- function(vals) { + res <- gsub("^\\[|\\]$", "", "[none, tags]") + unlist(strsplit(res, ", ")) +} + diff --git a/client-api_r/generated/R/runs_api.R b/client-api_r/generated/R/runs_api.R new file mode 100644 index 00000000..850e363a --- /dev/null +++ b/client-api_r/generated/R/runs_api.R @@ -0,0 +1,1130 @@ +#' SIRIUS Nightsky API +#' +#' REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 +#' +#' The version of the OpenAPI document: 3.1 +#' Generated by: https://openapi-generator.tech +#' +#' @docType class +#' @title Runs operations +#' @description RunsApi +#' @format An \code{R6Class} generator object +#' @field api_client Handles the client-server communication. +#' +#' @examples +#' \dontrun{ +#' #################### AddTagsToRunExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to add to. +#' var_run_id <- "run_id_example" # character | run to add tags to. +#' var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +#' +#' #[EXPERIMENTAL] Add tags to a run in the project +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$AddTagsToRunExperimental(var_project_id, var_run_id, var_tagdata_file = "result.txt") +#' result <- api_instance$runs_api$AddTagsToRunExperimental(var_project_id, var_run_id, var_tag) +#' dput(result) +#' +#' +#' #################### ComputeFoldChangeForBlankSubtraction #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +#' var_sample_type_fold_change_request <- SampleTypeFoldChangeRequest$new(c("sampleRunIds_example"), c("blankRunIds_example"), c("controlRunIds_example")) # SampleTypeFoldChangeRequest | request with lists of run IDs that are sample, blank, and control runs +#' var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) +#' +#' #**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$ComputeFoldChangeForBlankSubtraction(var_project_id, var_sample_type_fold_change_request, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$runs_api$ComputeFoldChangeForBlankSubtraction(var_project_id, var_sample_type_fold_change_request, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetRunExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_run_id <- "run_id_example" # character | identifier of run to access. +#' var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) +#' +#' #[EXPERIMENTAL] Get run with the given identifier from the specified project-space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetRunExperimental(var_project_id, var_run_id, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$runs_api$GetRunExperimental(var_project_id, var_run_id, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetRunPageExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +#' var_size <- 20 # integer | The size of the page to be returned (Optional) +#' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) +#' +#' #[EXPERIMENTAL] Get all available runs in the given project-space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetRunPageExperimental(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$runs_api$GetRunPageExperimental(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetRunsByGroupExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_group_name <- "group_name_example" # character | tag group name. +#' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +#' var_size <- 20 # integer | The size of the page to be returned (Optional) +#' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) +#' +#' #[EXPERIMENTAL] Get runs by tag group +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetRunsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$runs_api$GetRunsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetRunsByTagExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project space to get runs from. +#' var_filter <- "" # character | tag filter. (Optional) +#' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +#' var_size <- 20 # integer | The size of the page to be returned (Optional) +#' var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +#' var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) +#' +#' #[EXPERIMENTAL] Get runs by tag +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetRunsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +#' result <- api_instance$runs_api$GetRunsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +#' dput(result) +#' +#' +#' #################### GetTagsForRunExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to get from. +#' var_object_id <- "object_id_example" # character | RunId to get tags for. +#' +#' #[EXPERIMENTAL] Get all tags associated with this Run +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetTagsForRunExperimental(var_project_id, var_object_iddata_file = "result.txt") +#' result <- api_instance$runs_api$GetTagsForRunExperimental(var_project_id, var_object_id) +#' dput(result) +#' +#' +#' #################### RemoveTagFromRunExperimental #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_run_id <- "run_id_example" # character | run to delete tag from. +#' var_tag_name <- "tag_name_example" # character | name of the tag to delete. +#' +#' #[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space +#' api_instance <- rsirius_api$new() +#' +#' api_instance$runs_api$RemoveTagFromRunExperimental(var_project_id, var_run_id, var_tag_name) +#' +#' +#' } +#' @importFrom R6 R6Class +#' @importFrom base64enc base64encode +#' @export +RunsApi <- R6::R6Class( + "RunsApi", + public = list( + api_client = NULL, + + #' @description + #' Initialize a new RunsApi. + #' + #' @param api_client An instance of API client. + initialize = function(api_client) { + if (!missing(api_client)) { + self$api_client <- api_client + } else { + self$api_client <- ApiClient$new() + } + }, + + #' @description + #' [EXPERIMENTAL] Add tags to a run in the project + #' + #' @param project_id project-space to add to. + #' @param run_id run to add tags to. + #' @param tag tags to add. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[Tag] + AddTagsToRunExperimental = function(project_id, run_id, tag, data_file = NULL, ...) { + local_var_response <- self$AddTagsToRunExperimentalWithHttpInfo(project_id, run_id, tag, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Add tags to a run in the project + #' + #' @param project_id project-space to add to. + #' @param run_id run to add tags to. + #' @param tag tags to add. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[Tag]) with additional information such as HTTP status code, headers + AddTagsToRunExperimentalWithHttpInfo = function(project_id, run_id, tag, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`run_id`)) { + stop("Missing required parameter `run_id`.") + } + + if (missing(`tag`)) { + stop("Missing required parameter `tag`.") + } + + + + + if (!is.null(`tag`)) { + body.items <- paste(unlist(lapply(`tag`, function(param) { + param$toJSONString() + })), collapse = ",") + local_var_body <- paste0("[", body.items, "]") + } else { + body <- NULL + } + + local_var_url_path <- "/api/projects/{projectId}/runs/tags/{runId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`run_id`)) { + local_var_url_path <- gsub("\\{runId\\}", URLencode(as.character(`run_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list("application/json") + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PUT", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + #' + #' @param project_id project-space to compute the fold change in. + #' @param sample_type_fold_change_request request with lists of run IDs that are sample, blank, and control runs + #' @param opt_fields (optional) job opt fields. (default value: ["progress"]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return Job + ComputeFoldChangeForBlankSubtraction = function(project_id, sample_type_fold_change_request, opt_fields = list("progress"), data_file = NULL, ...) { + local_var_response <- self$ComputeFoldChangeForBlankSubtractionWithHttpInfo(project_id, sample_type_fold_change_request, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + #' + #' @param project_id project-space to compute the fold change in. + #' @param sample_type_fold_change_request request with lists of run IDs that are sample, blank, and control runs + #' @param opt_fields (optional) job opt fields. (default value: ["progress"]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (Job) with additional information such as HTTP status code, headers + ComputeFoldChangeForBlankSubtractionWithHttpInfo = function(project_id, sample_type_fold_change_request, opt_fields = list("progress"), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`sample_type_fold_change_request`)) { + stop("Missing required parameter `sample_type_fold_change_request`.") + } + + + + + # explore + for (query_item in `opt_fields`) { + # validate enum values + if (!is.null(query_item) && !(query_item %in% c("none", "command", "progress", "affectedIds"))) { + stop("Invalid value for opt_fields when calling RunsApi$ComputeFoldChangeForBlankSubtraction. Must be [none, command, progress, affectedIds].") + } + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + if (!is.null(`sample_type_fold_change_request`)) { + local_var_body <- `sample_type_fold_change_request`$toJSONString() + } else { + body <- NULL + } + + local_var_url_path <- "/api/projects/{projectId}/runs/blanksubtract/compute" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list("application/json") + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PUT", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get run with the given identifier from the specified project-space + #' + #' @param project_id project-space to read from. + #' @param run_id identifier of run to access. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return Run + GetRunExperimental = function(project_id, run_id, opt_fields = list(), data_file = NULL, ...) { + local_var_response <- self$GetRunExperimentalWithHttpInfo(project_id, run_id, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get run with the given identifier from the specified project-space + #' + #' @param project_id project-space to read from. + #' @param run_id identifier of run to access. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (Run) with additional information such as HTTP status code, headers + GetRunExperimentalWithHttpInfo = function(project_id, run_id, opt_fields = list(), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`run_id`)) { + stop("Missing required parameter `run_id`.") + } + + + + + # explore + for (query_item in `opt_fields`) { + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/runs/{runId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`run_id`)) { + local_var_url_path <- gsub("\\{runId\\}", URLencode(as.character(`run_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Run", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get all available runs in the given project-space + #' + #' @param project_id project-space to read from. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return PagedModelRun + GetRunPageExperimental = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + local_var_response <- self$GetRunPageExperimentalWithHttpInfo(project_id, page, size, sort, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get all available runs in the given project-space + #' + #' @param project_id project-space to read from. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (PagedModelRun) with additional information such as HTTP status code, headers + GetRunPageExperimentalWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + if (`page` < 0) { + stop("Invalid value for `page` when calling RunsApi$GetRunPageExperimental, must be bigger than or equal to 0.") + } + + if (`size` < 1) { + stop("Invalid value for `size` when calling RunsApi$GetRunPageExperimental, must be bigger than or equal to 1.") + } + + + + query_params[["page"]] <- `page` + + query_params[["size"]] <- `size` + + # explore + for (query_item in `sort`) { + query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) + } + + # explore + for (query_item in `opt_fields`) { + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/runs/page" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get runs by tag group + #' + #' @param project_id project-space to delete from. + #' @param group_name tag group name. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return PagedModelRun + GetRunsByGroupExperimental = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + local_var_response <- self$GetRunsByGroupExperimentalWithHttpInfo(project_id, group_name, page, size, sort, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get runs by tag group + #' + #' @param project_id project-space to delete from. + #' @param group_name tag group name. + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (PagedModelRun) with additional information such as HTTP status code, headers + GetRunsByGroupExperimentalWithHttpInfo = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`group_name`)) { + stop("Missing required parameter `group_name`.") + } + + + + if (`page` < 0) { + stop("Invalid value for `page` when calling RunsApi$GetRunsByGroupExperimental, must be bigger than or equal to 0.") + } + + if (`size` < 1) { + stop("Invalid value for `size` when calling RunsApi$GetRunsByGroupExperimental, must be bigger than or equal to 1.") + } + + + + query_params[["groupName"]] <- `group_name` + + query_params[["page"]] <- `page` + + query_params[["size"]] <- `size` + + # explore + for (query_item in `sort`) { + query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) + } + + # explore + for (query_item in `opt_fields`) { + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/runs/grouped" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get runs by tag + #' + #' @param project_id project space to get runs from. + #' @param filter (optional) tag filter. (default value: "") + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return PagedModelRun + GetRunsByTagExperimental = function(project_id, filter = "", page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + local_var_response <- self$GetRunsByTagExperimentalWithHttpInfo(project_id, filter, page, size, sort, opt_fields, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get runs by tag + #' + #' @param project_id project space to get runs from. + #' @param filter (optional) tag filter. (default value: "") + #' @param page (optional) Zero-based page index (0..N) (default value: 0) + #' @param size (optional) The size of the page to be returned (default value: 20) + #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: []) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (PagedModelRun) with additional information such as HTTP status code, headers + GetRunsByTagExperimentalWithHttpInfo = function(project_id, filter = "", page = 0, size = 20, sort = NULL, opt_fields = list(), data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + if (`page` < 0) { + stop("Invalid value for `page` when calling RunsApi$GetRunsByTagExperimental, must be bigger than or equal to 0.") + } + + if (`size` < 1) { + stop("Invalid value for `size` when calling RunsApi$GetRunsByTagExperimental, must be bigger than or equal to 1.") + } + + + + query_params[["filter"]] <- `filter` + + query_params[["page"]] <- `page` + + query_params[["size"]] <- `size` + + # explore + for (query_item in `sort`) { + query_params[["sort"]] <- c(query_params[["sort"]], list(`sort` = query_item)) + } + + # explore + for (query_item in `opt_fields`) { + query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) + } + + local_var_url_path <- "/api/projects/{projectId}/runs/tagged" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tags associated with this Run + #' + #' @param project_id project-space to get from. + #' @param object_id RunId to get tags for. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[Tag] + GetTagsForRunExperimental = function(project_id, object_id, data_file = NULL, ...) { + local_var_response <- self$GetTagsForRunExperimentalWithHttpInfo(project_id, object_id, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tags associated with this Run + #' + #' @param project_id project-space to get from. + #' @param object_id RunId to get tags for. + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[Tag]) with additional information such as HTTP status code, headers + GetTagsForRunExperimentalWithHttpInfo = function(project_id, object_id, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`object_id`)) { + stop("Missing required parameter `object_id`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/runs/tags/{objectId}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`object_id`)) { + local_var_url_path <- gsub("\\{objectId\\}", URLencode(as.character(`object_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param run_id run to delete tag from. + #' @param tag_name name of the tag to delete. + #' @param ... Other optional arguments + #' + #' @return void + RemoveTagFromRunExperimental = function(project_id, run_id, tag_name, ...) { + local_var_response <- self$RemoveTagFromRunExperimentalWithHttpInfo(project_id, run_id, tag_name, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param run_id run to delete tag from. + #' @param tag_name name of the tag to delete. + #' @param ... Other optional arguments + #' + #' @return API response (void) with additional information such as HTTP status code, headers + RemoveTagFromRunExperimentalWithHttpInfo = function(project_id, run_id, tag_name, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`run_id`)) { + stop("Missing required parameter `run_id`.") + } + + if (missing(`tag_name`)) { + stop("Missing required parameter `tag_name`.") + } + + + + + local_var_url_path <- "/api/projects/{projectId}/runs/tags/{runId}/{tagName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`run_id`)) { + local_var_url_path <- gsub("\\{runId\\}", URLencode(as.character(`run_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`tag_name`)) { + local_var_url_path <- gsub("\\{tagName\\}", URLencode(as.character(`tag_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "DELETE", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + } + ) +) diff --git a/client-api_r/generated/R/sample_type_fold_change_request.R b/client-api_r/generated/R/sample_type_fold_change_request.R new file mode 100644 index 00000000..49878fb6 --- /dev/null +++ b/client-api_r/generated/R/sample_type_fold_change_request.R @@ -0,0 +1,190 @@ +#' Create a new SampleTypeFoldChangeRequest +#' +#' @description +#' SampleTypeFoldChangeRequest Class +#' +#' @docType class +#' @title SampleTypeFoldChangeRequest +#' @description SampleTypeFoldChangeRequest Class +#' @format An \code{R6Class} generator object +#' @field sampleRunIds list(character) [optional] +#' @field blankRunIds list(character) [optional] +#' @field controlRunIds list(character) [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +SampleTypeFoldChangeRequest <- R6::R6Class( + "SampleTypeFoldChangeRequest", + public = list( + `sampleRunIds` = NULL, + `blankRunIds` = NULL, + `controlRunIds` = NULL, + + #' @description + #' Initialize a new SampleTypeFoldChangeRequest class. + #' + #' @param sampleRunIds sampleRunIds + #' @param blankRunIds blankRunIds + #' @param controlRunIds controlRunIds + #' @param ... Other optional arguments. + initialize = function(`sampleRunIds` = NULL, `blankRunIds` = NULL, `controlRunIds` = NULL, ...) { + if (!is.null(`sampleRunIds`)) { + stopifnot(is.vector(`sampleRunIds`), length(`sampleRunIds`) != 0) + sapply(`sampleRunIds`, function(x) stopifnot(is.character(x))) + self$`sampleRunIds` <- `sampleRunIds` + } + if (!is.null(`blankRunIds`)) { + stopifnot(is.vector(`blankRunIds`), length(`blankRunIds`) != 0) + sapply(`blankRunIds`, function(x) stopifnot(is.character(x))) + self$`blankRunIds` <- `blankRunIds` + } + if (!is.null(`controlRunIds`)) { + stopifnot(is.vector(`controlRunIds`), length(`controlRunIds`) != 0) + sapply(`controlRunIds`, function(x) stopifnot(is.character(x))) + self$`controlRunIds` <- `controlRunIds` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return SampleTypeFoldChangeRequest as a base R list. + #' @examples + #' # convert array of SampleTypeFoldChangeRequest (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert SampleTypeFoldChangeRequest to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + SampleTypeFoldChangeRequestObject <- list() + if (!is.null(self$`sampleRunIds`)) { + SampleTypeFoldChangeRequestObject[["sampleRunIds"]] <- + self$`sampleRunIds` + } + if (!is.null(self$`blankRunIds`)) { + SampleTypeFoldChangeRequestObject[["blankRunIds"]] <- + self$`blankRunIds` + } + if (!is.null(self$`controlRunIds`)) { + SampleTypeFoldChangeRequestObject[["controlRunIds"]] <- + self$`controlRunIds` + } + return(SampleTypeFoldChangeRequestObject) + }, + + #' @description + #' Deserialize JSON string into an instance of SampleTypeFoldChangeRequest + #' + #' @param input_json the JSON input + #' @return the instance of SampleTypeFoldChangeRequest + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`sampleRunIds`)) { + self$`sampleRunIds` <- ApiClient$new()$deserializeObj(this_object$`sampleRunIds`, "array[character]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`blankRunIds`)) { + self$`blankRunIds` <- ApiClient$new()$deserializeObj(this_object$`blankRunIds`, "array[character]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`controlRunIds`)) { + self$`controlRunIds` <- ApiClient$new()$deserializeObj(this_object$`controlRunIds`, "array[character]", loadNamespace("Rsirius")) + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return SampleTypeFoldChangeRequest in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of SampleTypeFoldChangeRequest + #' + #' @param input_json the JSON input + #' @return the instance of SampleTypeFoldChangeRequest + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`sampleRunIds` <- ApiClient$new()$deserializeObj(this_object$`sampleRunIds`, "array[character]", loadNamespace("Rsirius")) + self$`blankRunIds` <- ApiClient$new()$deserializeObj(this_object$`blankRunIds`, "array[character]", loadNamespace("Rsirius")) + self$`controlRunIds` <- ApiClient$new()$deserializeObj(this_object$`controlRunIds`, "array[character]", loadNamespace("Rsirius")) + self + }, + + #' @description + #' Validate JSON input with respect to SampleTypeFoldChangeRequest and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of SampleTypeFoldChangeRequest + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# SampleTypeFoldChangeRequest$unlock() +# +## Below is an example to define the print function +# SampleTypeFoldChangeRequest$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# SampleTypeFoldChangeRequest$lock() + diff --git a/client-api_r/generated/R/searchable_databases_api.R b/client-api_r/generated/R/searchable_databases_api.R index 0c13f430..6b64f9a3 100644 --- a/client-api_r/generated/R/searchable_databases_api.R +++ b/client-api_r/generated/R/searchable_databases_api.R @@ -100,15 +100,16 @@ #' #' library(Rsirius) #' var_database_id <- "database_id_example" # character | database to import into +#' var_input_files <- c(123) # array[data.frame] | files to be imported #' var_buffer_size <- 1000 # integer | (Optional) -#' var_input_files <- c(123) # array[data.frame] | (Optional) +#' var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (Optional) #' #' #Start import of structure and spectra files into the specified database. #' api_instance <- rsirius_api$new() #' #' # to save the result into a file, simply add the optional `data_file` parameter, e.g. -#' # result <- api_instance$ImportIntoDatabase(var_database_id, buffer_size = var_buffer_size, input_files = var_input_filesdata_file = "result.txt") -#' result <- api_instance$searchable_databases_api$ImportIntoDatabase(var_database_id, buffer_size = var_buffer_size, input_files = var_input_files) +#' # result <- api_instance$ImportIntoDatabase(var_database_id, var_input_files, buffer_size = var_buffer_size, bio_transformer_parameters = var_bio_transformer_parametersdata_file = "result.txt") +#' result <- api_instance$searchable_databases_api$ImportIntoDatabase(var_database_id, var_input_files, buffer_size = var_buffer_size, bio_transformer_parameters = var_bio_transformer_parameters) #' dput(result) #' #' @@ -746,14 +747,15 @@ SearchableDatabasesApi <- R6::R6Class( #' Start import of structure and spectra files into the specified database. #' #' @param database_id database to import into + #' @param input_files files to be imported #' @param buffer_size (optional) No description (default value: 1000) - #' @param input_files (optional) No description + #' @param bio_transformer_parameters (optional) configuration for biotransformer execution. If null, BioTransformer is not applied. #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return SearchableDatabase - ImportIntoDatabase = function(database_id, buffer_size = 1000, input_files = NULL, data_file = NULL, ...) { - local_var_response <- self$ImportIntoDatabaseWithHttpInfo(database_id, buffer_size, input_files, data_file = data_file, ...) + ImportIntoDatabase = function(database_id, input_files, buffer_size = 1000, bio_transformer_parameters = NULL, data_file = NULL, ...) { + local_var_response <- self$ImportIntoDatabaseWithHttpInfo(database_id, input_files, buffer_size, bio_transformer_parameters, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { @@ -769,13 +771,14 @@ SearchableDatabasesApi <- R6::R6Class( #' Start import of structure and spectra files into the specified database. #' #' @param database_id database to import into + #' @param input_files files to be imported #' @param buffer_size (optional) No description (default value: 1000) - #' @param input_files (optional) No description + #' @param bio_transformer_parameters (optional) configuration for biotransformer execution. If null, BioTransformer is not applied. #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (SearchableDatabase) with additional information such as HTTP status code, headers - ImportIntoDatabaseWithHttpInfo = function(database_id, buffer_size = 1000, input_files = NULL, data_file = NULL, ...) { + ImportIntoDatabaseWithHttpInfo = function(database_id, input_files, buffer_size = 1000, bio_transformer_parameters = NULL, data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -789,12 +792,18 @@ SearchableDatabasesApi <- R6::R6Class( stop("Missing required parameter `database_id`.") } + if (missing(`input_files`)) { + stop("Missing required parameter `input_files`.") + } + + query_params[["bufferSize"]] <- `buffer_size` file_params[["inputFiles"]] <- curl::form_file(`input_files`) + form_params["bioTransformerParameters"] <- `bio_transformer_parameters` local_var_url_path <- "/api/databases/{databaseId}/import/from-files" if (!missing(`database_id`)) { local_var_url_path <- gsub("\\{databaseId\\}", URLencode(as.character(`database_id`), reserved = TRUE), local_var_url_path) diff --git a/client-api_r/generated/R/security_context.R b/client-api_r/generated/R/security_context.R new file mode 100644 index 00000000..e752962b --- /dev/null +++ b/client-api_r/generated/R/security_context.R @@ -0,0 +1,159 @@ +#' Create a new SecurityContext +#' +#' @description +#' SecurityContext Class +#' +#' @docType class +#' @title SecurityContext +#' @description SecurityContext Class +#' @format An \code{R6Class} generator object +#' @field principal \link{SecurityContextPrincipal} [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +SecurityContext <- R6::R6Class( + "SecurityContext", + public = list( + `principal` = NULL, + + #' @description + #' Initialize a new SecurityContext class. + #' + #' @param principal principal + #' @param ... Other optional arguments. + initialize = function(`principal` = NULL, ...) { + if (!is.null(`principal`)) { + stopifnot(R6::is.R6(`principal`)) + self$`principal` <- `principal` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return SecurityContext as a base R list. + #' @examples + #' # convert array of SecurityContext (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert SecurityContext to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + SecurityContextObject <- list() + if (!is.null(self$`principal`)) { + SecurityContextObject[["principal"]] <- + self$`principal`$toSimpleType() + } + return(SecurityContextObject) + }, + + #' @description + #' Deserialize JSON string into an instance of SecurityContext + #' + #' @param input_json the JSON input + #' @return the instance of SecurityContext + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`principal`)) { + `principal_object` <- SecurityContextPrincipal$new() + `principal_object`$fromJSON(jsonlite::toJSON(this_object$`principal`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`principal` <- `principal_object` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return SecurityContext in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of SecurityContext + #' + #' @param input_json the JSON input + #' @return the instance of SecurityContext + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`principal` <- SecurityContextPrincipal$new()$fromJSON(jsonlite::toJSON(this_object$`principal`, auto_unbox = TRUE, digits = NA, null = 'null')) + self + }, + + #' @description + #' Validate JSON input with respect to SecurityContext and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of SecurityContext + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# SecurityContext$unlock() +# +## Below is an example to define the print function +# SecurityContext$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# SecurityContext$lock() + diff --git a/client-api_r/generated/R/security_context_principal.R b/client-api_r/generated/R/security_context_principal.R new file mode 100644 index 00000000..ef43d8b3 --- /dev/null +++ b/client-api_r/generated/R/security_context_principal.R @@ -0,0 +1,159 @@ +#' Create a new SecurityContextPrincipal +#' +#' @description +#' SecurityContextPrincipal Class +#' +#' @docType class +#' @title SecurityContextPrincipal +#' @description SecurityContextPrincipal Class +#' @format An \code{R6Class} generator object +#' @field name character [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +SecurityContextPrincipal <- R6::R6Class( + "SecurityContextPrincipal", + public = list( + `name` = NULL, + + #' @description + #' Initialize a new SecurityContextPrincipal class. + #' + #' @param name name + #' @param ... Other optional arguments. + initialize = function(`name` = NULL, ...) { + if (!is.null(`name`)) { + if (!(is.character(`name`) && length(`name`) == 1)) { + stop(paste("Error! Invalid data for `name`. Must be a string:", `name`)) + } + self$`name` <- `name` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return SecurityContextPrincipal as a base R list. + #' @examples + #' # convert array of SecurityContextPrincipal (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert SecurityContextPrincipal to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + SecurityContextPrincipalObject <- list() + if (!is.null(self$`name`)) { + SecurityContextPrincipalObject[["name"]] <- + self$`name` + } + return(SecurityContextPrincipalObject) + }, + + #' @description + #' Deserialize JSON string into an instance of SecurityContextPrincipal + #' + #' @param input_json the JSON input + #' @return the instance of SecurityContextPrincipal + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`name`)) { + self$`name` <- this_object$`name` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return SecurityContextPrincipal in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of SecurityContextPrincipal + #' + #' @param input_json the JSON input + #' @return the instance of SecurityContextPrincipal + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`name` <- this_object$`name` + self + }, + + #' @description + #' Validate JSON input with respect to SecurityContextPrincipal and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of SecurityContextPrincipal + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# SecurityContextPrincipal$unlock() +# +## Below is an example to define the print function +# SecurityContextPrincipal$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# SecurityContextPrincipal$lock() + diff --git a/client-api_r/generated/R/sirius.R b/client-api_r/generated/R/sirius.R index 5f3fb9ed..a28a67b4 100644 --- a/client-api_r/generated/R/sirius.R +++ b/client-api_r/generated/R/sirius.R @@ -22,8 +22,8 @@ #' @field enforcedFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Enforced: Enforced elements are always considered character [optional] #' @field fallbackFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) character [optional] #' @field detectableElements These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) list(character) [optional] -#' @field ilpTimeout \link{Timeout} [optional] -#' @field useHeuristic \link{UseHeuristic} [optional] +#' @field ilpTimeout Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint \link{Timeout} [optional] +#' @field useHeuristic Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. \link{UseHeuristic} [optional] #' @field injectSpecLibMatchFormulas If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied character [optional] #' @field minScoreToInjectSpecLibMatch Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. numeric [optional] #' @field minPeaksToInjectSpecLibMatch Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. integer [optional] @@ -72,8 +72,8 @@ Sirius <- R6::R6Class( #' @param enforcedFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Enforced: Enforced elements are always considered #' @param fallbackFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) #' @param detectableElements These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) - #' @param ilpTimeout ilpTimeout - #' @param useHeuristic useHeuristic + #' @param ilpTimeout Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint + #' @param useHeuristic Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. #' @param injectSpecLibMatchFormulas If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied #' @param minScoreToInjectSpecLibMatch Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. #' @param minPeaksToInjectSpecLibMatch Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. diff --git a/client-api_r/generated/R/spectral_library_match.R b/client-api_r/generated/R/spectral_library_match.R index 381811ef..2797eb9b 100644 --- a/client-api_r/generated/R/spectral_library_match.R +++ b/client-api_r/generated/R/spectral_library_match.R @@ -9,8 +9,9 @@ #' @format An \code{R6Class} generator object #' @field specMatchId character [optional] #' @field rank integer [optional] -#' @field similarity numeric -#' @field sharedPeaks integer [optional] +#' @field similarity Similarity between query and reference spectrum numeric +#' @field sharedPeaks Number of shared/matched peaks integer [optional] +#' @field sharedPeakMapping List of paired/matched peak indices. Maps indices of peaks from the query spectrum (mass sorted) to indices of matched peaks in the reference spectrum (mass sorted) list(\link{PeakPair}) [optional] #' @field querySpectrumIndex integer #' @field dbName character [optional] #' @field dbId character [optional] @@ -18,10 +19,13 @@ #' @field splash character [optional] #' @field molecularFormula character [optional] #' @field adduct character [optional] -#' @field exactMass character [optional] +#' @field exactMass numeric [optional] #' @field smiles character [optional] +#' @field type character [optional] #' @field inchiKey character +#' @field referenceSpectrumType character [optional] #' @field referenceSpectrum \link{BasicSpectrum} [optional] +#' @field querySpectrumType character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -32,6 +36,7 @@ SpectralLibraryMatch <- R6::R6Class( `rank` = NULL, `similarity` = NULL, `sharedPeaks` = NULL, + `sharedPeakMapping` = NULL, `querySpectrumIndex` = NULL, `dbName` = NULL, `dbId` = NULL, @@ -41,19 +46,23 @@ SpectralLibraryMatch <- R6::R6Class( `adduct` = NULL, `exactMass` = NULL, `smiles` = NULL, + `type` = NULL, `inchiKey` = NULL, + `referenceSpectrumType` = NULL, `referenceSpectrum` = NULL, + `querySpectrumType` = NULL, #' @description #' Initialize a new SpectralLibraryMatch class. #' - #' @param similarity similarity + #' @param similarity Similarity between query and reference spectrum #' @param querySpectrumIndex querySpectrumIndex #' @param uuid uuid #' @param inchiKey inchiKey #' @param specMatchId specMatchId #' @param rank rank - #' @param sharedPeaks sharedPeaks + #' @param sharedPeaks Number of shared/matched peaks + #' @param sharedPeakMapping List of paired/matched peak indices. Maps indices of peaks from the query spectrum (mass sorted) to indices of matched peaks in the reference spectrum (mass sorted) #' @param dbName dbName #' @param dbId dbId #' @param splash splash @@ -61,9 +70,12 @@ SpectralLibraryMatch <- R6::R6Class( #' @param adduct adduct #' @param exactMass exactMass #' @param smiles smiles + #' @param type type. Default to "IDENTITY". + #' @param referenceSpectrumType referenceSpectrumType. Default to "SPECTRUM". #' @param referenceSpectrum referenceSpectrum + #' @param querySpectrumType querySpectrumType #' @param ... Other optional arguments. - initialize = function(`similarity`, `querySpectrumIndex`, `uuid`, `inchiKey`, `specMatchId` = NULL, `rank` = NULL, `sharedPeaks` = NULL, `dbName` = NULL, `dbId` = NULL, `splash` = NULL, `molecularFormula` = NULL, `adduct` = NULL, `exactMass` = NULL, `smiles` = NULL, `referenceSpectrum` = NULL, ...) { + initialize = function(`similarity`, `querySpectrumIndex`, `uuid`, `inchiKey`, `specMatchId` = NULL, `rank` = NULL, `sharedPeaks` = NULL, `sharedPeakMapping` = NULL, `dbName` = NULL, `dbId` = NULL, `splash` = NULL, `molecularFormula` = NULL, `adduct` = NULL, `exactMass` = NULL, `smiles` = NULL, `type` = "IDENTITY", `referenceSpectrumType` = "SPECTRUM", `referenceSpectrum` = NULL, `querySpectrumType` = NULL, ...) { if (!missing(`similarity`)) { if (!(is.numeric(`similarity`) && length(`similarity`) == 1)) { stop(paste("Error! Invalid data for `similarity`. Must be a number:", `similarity`)) @@ -106,6 +118,11 @@ SpectralLibraryMatch <- R6::R6Class( } self$`sharedPeaks` <- `sharedPeaks` } + if (!is.null(`sharedPeakMapping`)) { + stopifnot(is.vector(`sharedPeakMapping`), length(`sharedPeakMapping`) != 0) + sapply(`sharedPeakMapping`, function(x) stopifnot(R6::is.R6(x))) + self$`sharedPeakMapping` <- `sharedPeakMapping` + } if (!is.null(`dbName`)) { if (!(is.character(`dbName`) && length(`dbName`) == 1)) { stop(paste("Error! Invalid data for `dbName`. Must be a string:", `dbName`)) @@ -137,8 +154,8 @@ SpectralLibraryMatch <- R6::R6Class( self$`adduct` <- `adduct` } if (!is.null(`exactMass`)) { - if (!(is.character(`exactMass`) && length(`exactMass`) == 1)) { - stop(paste("Error! Invalid data for `exactMass`. Must be a string:", `exactMass`)) + if (!(is.numeric(`exactMass`) && length(`exactMass`) == 1)) { + stop(paste("Error! Invalid data for `exactMass`. Must be a number:", `exactMass`)) } self$`exactMass` <- `exactMass` } @@ -148,10 +165,37 @@ SpectralLibraryMatch <- R6::R6Class( } self$`smiles` <- `smiles` } + if (!is.null(`type`)) { + if (!(`type` %in% c("IDENTITY", "ANALOG"))) { + stop(paste("Error! \"", `type`, "\" cannot be assigned to `type`. Must be \"IDENTITY\", \"ANALOG\".", sep = "")) + } + if (!(is.character(`type`) && length(`type`) == 1)) { + stop(paste("Error! Invalid data for `type`. Must be a string:", `type`)) + } + self$`type` <- `type` + } + if (!is.null(`referenceSpectrumType`)) { + if (!(`referenceSpectrumType` %in% c("SPECTRUM", "MERGED_SPECTRUM"))) { + stop(paste("Error! \"", `referenceSpectrumType`, "\" cannot be assigned to `referenceSpectrumType`. Must be \"SPECTRUM\", \"MERGED_SPECTRUM\".", sep = "")) + } + if (!(is.character(`referenceSpectrumType`) && length(`referenceSpectrumType`) == 1)) { + stop(paste("Error! Invalid data for `referenceSpectrumType`. Must be a string:", `referenceSpectrumType`)) + } + self$`referenceSpectrumType` <- `referenceSpectrumType` + } if (!is.null(`referenceSpectrum`)) { stopifnot(R6::is.R6(`referenceSpectrum`)) self$`referenceSpectrum` <- `referenceSpectrum` } + if (!is.null(`querySpectrumType`)) { + if (!(`querySpectrumType` %in% c("SPECTRUM", "MERGED_SPECTRUM"))) { + stop(paste("Error! \"", `querySpectrumType`, "\" cannot be assigned to `querySpectrumType`. Must be \"SPECTRUM\", \"MERGED_SPECTRUM\".", sep = "")) + } + if (!(is.character(`querySpectrumType`) && length(`querySpectrumType`) == 1)) { + stop(paste("Error! Invalid data for `querySpectrumType`. Must be a string:", `querySpectrumType`)) + } + self$`querySpectrumType` <- `querySpectrumType` + } }, #' @description @@ -201,6 +245,10 @@ SpectralLibraryMatch <- R6::R6Class( SpectralLibraryMatchObject[["sharedPeaks"]] <- self$`sharedPeaks` } + if (!is.null(self$`sharedPeakMapping`)) { + SpectralLibraryMatchObject[["sharedPeakMapping"]] <- + lapply(self$`sharedPeakMapping`, function(x) x$toSimpleType()) + } if (!is.null(self$`querySpectrumIndex`)) { SpectralLibraryMatchObject[["querySpectrumIndex"]] <- self$`querySpectrumIndex` @@ -237,14 +285,26 @@ SpectralLibraryMatch <- R6::R6Class( SpectralLibraryMatchObject[["smiles"]] <- self$`smiles` } + if (!is.null(self$`type`)) { + SpectralLibraryMatchObject[["type"]] <- + self$`type` + } if (!is.null(self$`inchiKey`)) { SpectralLibraryMatchObject[["inchiKey"]] <- self$`inchiKey` } + if (!is.null(self$`referenceSpectrumType`)) { + SpectralLibraryMatchObject[["referenceSpectrumType"]] <- + self$`referenceSpectrumType` + } if (!is.null(self$`referenceSpectrum`)) { SpectralLibraryMatchObject[["referenceSpectrum"]] <- self$`referenceSpectrum`$toSimpleType() } + if (!is.null(self$`querySpectrumType`)) { + SpectralLibraryMatchObject[["querySpectrumType"]] <- + self$`querySpectrumType` + } return(SpectralLibraryMatchObject) }, @@ -267,6 +327,9 @@ SpectralLibraryMatch <- R6::R6Class( if (!is.null(this_object$`sharedPeaks`)) { self$`sharedPeaks` <- this_object$`sharedPeaks` } + if (!is.null(this_object$`sharedPeakMapping`)) { + self$`sharedPeakMapping` <- ApiClient$new()$deserializeObj(this_object$`sharedPeakMapping`, "array[PeakPair]", loadNamespace("Rsirius")) + } if (!is.null(this_object$`querySpectrumIndex`)) { self$`querySpectrumIndex` <- this_object$`querySpectrumIndex` } @@ -294,14 +357,32 @@ SpectralLibraryMatch <- R6::R6Class( if (!is.null(this_object$`smiles`)) { self$`smiles` <- this_object$`smiles` } + if (!is.null(this_object$`type`)) { + if (!is.null(this_object$`type`) && !(this_object$`type` %in% c("IDENTITY", "ANALOG"))) { + stop(paste("Error! \"", this_object$`type`, "\" cannot be assigned to `type`. Must be \"IDENTITY\", \"ANALOG\".", sep = "")) + } + self$`type` <- this_object$`type` + } if (!is.null(this_object$`inchiKey`)) { self$`inchiKey` <- this_object$`inchiKey` } + if (!is.null(this_object$`referenceSpectrumType`)) { + if (!is.null(this_object$`referenceSpectrumType`) && !(this_object$`referenceSpectrumType` %in% c("SPECTRUM", "MERGED_SPECTRUM"))) { + stop(paste("Error! \"", this_object$`referenceSpectrumType`, "\" cannot be assigned to `referenceSpectrumType`. Must be \"SPECTRUM\", \"MERGED_SPECTRUM\".", sep = "")) + } + self$`referenceSpectrumType` <- this_object$`referenceSpectrumType` + } if (!is.null(this_object$`referenceSpectrum`)) { `referencespectrum_object` <- BasicSpectrum$new() `referencespectrum_object`$fromJSON(jsonlite::toJSON(this_object$`referenceSpectrum`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`referenceSpectrum` <- `referencespectrum_object` } + if (!is.null(this_object$`querySpectrumType`)) { + if (!is.null(this_object$`querySpectrumType`) && !(this_object$`querySpectrumType` %in% c("SPECTRUM", "MERGED_SPECTRUM"))) { + stop(paste("Error! \"", this_object$`querySpectrumType`, "\" cannot be assigned to `querySpectrumType`. Must be \"SPECTRUM\", \"MERGED_SPECTRUM\".", sep = "")) + } + self$`querySpectrumType` <- this_object$`querySpectrumType` + } self }, @@ -327,6 +408,7 @@ SpectralLibraryMatch <- R6::R6Class( self$`rank` <- this_object$`rank` self$`similarity` <- this_object$`similarity` self$`sharedPeaks` <- this_object$`sharedPeaks` + self$`sharedPeakMapping` <- ApiClient$new()$deserializeObj(this_object$`sharedPeakMapping`, "array[PeakPair]", loadNamespace("Rsirius")) self$`querySpectrumIndex` <- this_object$`querySpectrumIndex` self$`dbName` <- this_object$`dbName` self$`dbId` <- this_object$`dbId` @@ -336,8 +418,20 @@ SpectralLibraryMatch <- R6::R6Class( self$`adduct` <- this_object$`adduct` self$`exactMass` <- this_object$`exactMass` self$`smiles` <- this_object$`smiles` + if (!is.null(this_object$`type`) && !(this_object$`type` %in% c("IDENTITY", "ANALOG"))) { + stop(paste("Error! \"", this_object$`type`, "\" cannot be assigned to `type`. Must be \"IDENTITY\", \"ANALOG\".", sep = "")) + } + self$`type` <- this_object$`type` self$`inchiKey` <- this_object$`inchiKey` + if (!is.null(this_object$`referenceSpectrumType`) && !(this_object$`referenceSpectrumType` %in% c("SPECTRUM", "MERGED_SPECTRUM"))) { + stop(paste("Error! \"", this_object$`referenceSpectrumType`, "\" cannot be assigned to `referenceSpectrumType`. Must be \"SPECTRUM\", \"MERGED_SPECTRUM\".", sep = "")) + } + self$`referenceSpectrumType` <- this_object$`referenceSpectrumType` self$`referenceSpectrum` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`referenceSpectrum`, auto_unbox = TRUE, digits = NA, null = 'null')) + if (!is.null(this_object$`querySpectrumType`) && !(this_object$`querySpectrumType` %in% c("SPECTRUM", "MERGED_SPECTRUM"))) { + stop(paste("Error! \"", this_object$`querySpectrumType`, "\" cannot be assigned to `querySpectrumType`. Must be \"SPECTRUM\", \"MERGED_SPECTRUM\".", sep = "")) + } + self$`querySpectrumType` <- this_object$`querySpectrumType` self }, diff --git a/client-api_r/generated/R/spectral_library_search.R b/client-api_r/generated/R/spectral_library_search.R index 7da93b5d..a37a159e 100644 --- a/client-api_r/generated/R/spectral_library_search.R +++ b/client-api_r/generated/R/spectral_library_search.R @@ -9,9 +9,14 @@ #' @format An \code{R6Class} generator object #' @field enabled tags whether the tool is enabled character [optional] #' @field spectraSearchDBs Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API. list(character) [optional] -#' @field peakDeviationPpm Maximum allowed mass deviation in ppm for matching peaks. numeric [optional] #' @field precursorDeviationPpm Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used. numeric [optional] -#' @field scoring Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. character [optional] +#' @field minSimilarity Minimal spectral similarity of a spectral match to be considered a hit. numeric [optional] +#' @field minNumOfPeaks Minimal number of matching peaks of a spectral match to be considered a hit. integer [optional] +#' @field enableAnalogueSearch Enable analogue search in addition to the identity spectral library search character [optional] +#' @field minSimilarityAnalogue Minimal spectral similarity of a spectral match to be considered an analogue hit. numeric [optional] +#' @field minNumOfPeaksAnalogue Minimal number of matching peaks of a spectral match to be considered an analogue hit. integer [optional] +#' @field scoring NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. character [optional] +#' @field peakDeviationPpm NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks. numeric [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -20,20 +25,30 @@ SpectralLibrarySearch <- R6::R6Class( public = list( `enabled` = NULL, `spectraSearchDBs` = NULL, - `peakDeviationPpm` = NULL, `precursorDeviationPpm` = NULL, + `minSimilarity` = NULL, + `minNumOfPeaks` = NULL, + `enableAnalogueSearch` = NULL, + `minSimilarityAnalogue` = NULL, + `minNumOfPeaksAnalogue` = NULL, `scoring` = NULL, + `peakDeviationPpm` = NULL, #' @description #' Initialize a new SpectralLibrarySearch class. #' #' @param enabled tags whether the tool is enabled #' @param spectraSearchDBs Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API. - #' @param peakDeviationPpm Maximum allowed mass deviation in ppm for matching peaks. #' @param precursorDeviationPpm Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used. - #' @param scoring Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. + #' @param minSimilarity Minimal spectral similarity of a spectral match to be considered a hit. + #' @param minNumOfPeaks Minimal number of matching peaks of a spectral match to be considered a hit. + #' @param enableAnalogueSearch Enable analogue search in addition to the identity spectral library search + #' @param minSimilarityAnalogue Minimal spectral similarity of a spectral match to be considered an analogue hit. + #' @param minNumOfPeaksAnalogue Minimal number of matching peaks of a spectral match to be considered an analogue hit. + #' @param scoring NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. + #' @param peakDeviationPpm NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks. #' @param ... Other optional arguments. - initialize = function(`enabled` = NULL, `spectraSearchDBs` = NULL, `peakDeviationPpm` = NULL, `precursorDeviationPpm` = NULL, `scoring` = NULL, ...) { + initialize = function(`enabled` = NULL, `spectraSearchDBs` = NULL, `precursorDeviationPpm` = NULL, `minSimilarity` = NULL, `minNumOfPeaks` = NULL, `enableAnalogueSearch` = NULL, `minSimilarityAnalogue` = NULL, `minNumOfPeaksAnalogue` = NULL, `scoring` = NULL, `peakDeviationPpm` = NULL, ...) { if (!is.null(`enabled`)) { if (!(is.logical(`enabled`) && length(`enabled`) == 1)) { stop(paste("Error! Invalid data for `enabled`. Must be a boolean:", `enabled`)) @@ -45,27 +60,57 @@ SpectralLibrarySearch <- R6::R6Class( sapply(`spectraSearchDBs`, function(x) stopifnot(is.character(x))) self$`spectraSearchDBs` <- `spectraSearchDBs` } - if (!is.null(`peakDeviationPpm`)) { - if (!(is.numeric(`peakDeviationPpm`) && length(`peakDeviationPpm`) == 1)) { - stop(paste("Error! Invalid data for `peakDeviationPpm`. Must be a number:", `peakDeviationPpm`)) - } - self$`peakDeviationPpm` <- `peakDeviationPpm` - } if (!is.null(`precursorDeviationPpm`)) { if (!(is.numeric(`precursorDeviationPpm`) && length(`precursorDeviationPpm`) == 1)) { stop(paste("Error! Invalid data for `precursorDeviationPpm`. Must be a number:", `precursorDeviationPpm`)) } self$`precursorDeviationPpm` <- `precursorDeviationPpm` } + if (!is.null(`minSimilarity`)) { + if (!(is.numeric(`minSimilarity`) && length(`minSimilarity`) == 1)) { + stop(paste("Error! Invalid data for `minSimilarity`. Must be a number:", `minSimilarity`)) + } + self$`minSimilarity` <- `minSimilarity` + } + if (!is.null(`minNumOfPeaks`)) { + if (!(is.numeric(`minNumOfPeaks`) && length(`minNumOfPeaks`) == 1)) { + stop(paste("Error! Invalid data for `minNumOfPeaks`. Must be an integer:", `minNumOfPeaks`)) + } + self$`minNumOfPeaks` <- `minNumOfPeaks` + } + if (!is.null(`enableAnalogueSearch`)) { + if (!(is.logical(`enableAnalogueSearch`) && length(`enableAnalogueSearch`) == 1)) { + stop(paste("Error! Invalid data for `enableAnalogueSearch`. Must be a boolean:", `enableAnalogueSearch`)) + } + self$`enableAnalogueSearch` <- `enableAnalogueSearch` + } + if (!is.null(`minSimilarityAnalogue`)) { + if (!(is.numeric(`minSimilarityAnalogue`) && length(`minSimilarityAnalogue`) == 1)) { + stop(paste("Error! Invalid data for `minSimilarityAnalogue`. Must be a number:", `minSimilarityAnalogue`)) + } + self$`minSimilarityAnalogue` <- `minSimilarityAnalogue` + } + if (!is.null(`minNumOfPeaksAnalogue`)) { + if (!(is.numeric(`minNumOfPeaksAnalogue`) && length(`minNumOfPeaksAnalogue`) == 1)) { + stop(paste("Error! Invalid data for `minNumOfPeaksAnalogue`. Must be an integer:", `minNumOfPeaksAnalogue`)) + } + self$`minNumOfPeaksAnalogue` <- `minNumOfPeaksAnalogue` + } if (!is.null(`scoring`)) { - if (!(`scoring` %in% c("INTENSITY", "GAUSSIAN", "MODIFIED_COSINE"))) { - stop(paste("Error! \"", `scoring`, "\" cannot be assigned to `scoring`. Must be \"INTENSITY\", \"GAUSSIAN\", \"MODIFIED_COSINE\".", sep = "")) + if (!(`scoring` %in% c("INTENSITY", "GAUSSIAN", "MODIFIED_COSINE", "FAST_COSINE"))) { + stop(paste("Error! \"", `scoring`, "\" cannot be assigned to `scoring`. Must be \"INTENSITY\", \"GAUSSIAN\", \"MODIFIED_COSINE\", \"FAST_COSINE\".", sep = "")) } if (!(is.character(`scoring`) && length(`scoring`) == 1)) { stop(paste("Error! Invalid data for `scoring`. Must be a string:", `scoring`)) } self$`scoring` <- `scoring` } + if (!is.null(`peakDeviationPpm`)) { + if (!(is.numeric(`peakDeviationPpm`) && length(`peakDeviationPpm`) == 1)) { + stop(paste("Error! Invalid data for `peakDeviationPpm`. Must be a number:", `peakDeviationPpm`)) + } + self$`peakDeviationPpm` <- `peakDeviationPpm` + } }, #' @description @@ -107,18 +152,38 @@ SpectralLibrarySearch <- R6::R6Class( SpectralLibrarySearchObject[["spectraSearchDBs"]] <- self$`spectraSearchDBs` } - if (!is.null(self$`peakDeviationPpm`)) { - SpectralLibrarySearchObject[["peakDeviationPpm"]] <- - self$`peakDeviationPpm` - } if (!is.null(self$`precursorDeviationPpm`)) { SpectralLibrarySearchObject[["precursorDeviationPpm"]] <- self$`precursorDeviationPpm` } + if (!is.null(self$`minSimilarity`)) { + SpectralLibrarySearchObject[["minSimilarity"]] <- + self$`minSimilarity` + } + if (!is.null(self$`minNumOfPeaks`)) { + SpectralLibrarySearchObject[["minNumOfPeaks"]] <- + self$`minNumOfPeaks` + } + if (!is.null(self$`enableAnalogueSearch`)) { + SpectralLibrarySearchObject[["enableAnalogueSearch"]] <- + self$`enableAnalogueSearch` + } + if (!is.null(self$`minSimilarityAnalogue`)) { + SpectralLibrarySearchObject[["minSimilarityAnalogue"]] <- + self$`minSimilarityAnalogue` + } + if (!is.null(self$`minNumOfPeaksAnalogue`)) { + SpectralLibrarySearchObject[["minNumOfPeaksAnalogue"]] <- + self$`minNumOfPeaksAnalogue` + } if (!is.null(self$`scoring`)) { SpectralLibrarySearchObject[["scoring"]] <- self$`scoring` } + if (!is.null(self$`peakDeviationPpm`)) { + SpectralLibrarySearchObject[["peakDeviationPpm"]] <- + self$`peakDeviationPpm` + } return(SpectralLibrarySearchObject) }, @@ -135,18 +200,33 @@ SpectralLibrarySearch <- R6::R6Class( if (!is.null(this_object$`spectraSearchDBs`)) { self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("Rsirius")) } - if (!is.null(this_object$`peakDeviationPpm`)) { - self$`peakDeviationPpm` <- this_object$`peakDeviationPpm` - } if (!is.null(this_object$`precursorDeviationPpm`)) { self$`precursorDeviationPpm` <- this_object$`precursorDeviationPpm` } + if (!is.null(this_object$`minSimilarity`)) { + self$`minSimilarity` <- this_object$`minSimilarity` + } + if (!is.null(this_object$`minNumOfPeaks`)) { + self$`minNumOfPeaks` <- this_object$`minNumOfPeaks` + } + if (!is.null(this_object$`enableAnalogueSearch`)) { + self$`enableAnalogueSearch` <- this_object$`enableAnalogueSearch` + } + if (!is.null(this_object$`minSimilarityAnalogue`)) { + self$`minSimilarityAnalogue` <- this_object$`minSimilarityAnalogue` + } + if (!is.null(this_object$`minNumOfPeaksAnalogue`)) { + self$`minNumOfPeaksAnalogue` <- this_object$`minNumOfPeaksAnalogue` + } if (!is.null(this_object$`scoring`)) { - if (!is.null(this_object$`scoring`) && !(this_object$`scoring` %in% c("INTENSITY", "GAUSSIAN", "MODIFIED_COSINE"))) { - stop(paste("Error! \"", this_object$`scoring`, "\" cannot be assigned to `scoring`. Must be \"INTENSITY\", \"GAUSSIAN\", \"MODIFIED_COSINE\".", sep = "")) + if (!is.null(this_object$`scoring`) && !(this_object$`scoring` %in% c("INTENSITY", "GAUSSIAN", "MODIFIED_COSINE", "FAST_COSINE"))) { + stop(paste("Error! \"", this_object$`scoring`, "\" cannot be assigned to `scoring`. Must be \"INTENSITY\", \"GAUSSIAN\", \"MODIFIED_COSINE\", \"FAST_COSINE\".", sep = "")) } self$`scoring` <- this_object$`scoring` } + if (!is.null(this_object$`peakDeviationPpm`)) { + self$`peakDeviationPpm` <- this_object$`peakDeviationPpm` + } self }, @@ -170,12 +250,17 @@ SpectralLibrarySearch <- R6::R6Class( this_object <- jsonlite::fromJSON(input_json) self$`enabled` <- this_object$`enabled` self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("Rsirius")) - self$`peakDeviationPpm` <- this_object$`peakDeviationPpm` self$`precursorDeviationPpm` <- this_object$`precursorDeviationPpm` - if (!is.null(this_object$`scoring`) && !(this_object$`scoring` %in% c("INTENSITY", "GAUSSIAN", "MODIFIED_COSINE"))) { - stop(paste("Error! \"", this_object$`scoring`, "\" cannot be assigned to `scoring`. Must be \"INTENSITY\", \"GAUSSIAN\", \"MODIFIED_COSINE\".", sep = "")) + self$`minSimilarity` <- this_object$`minSimilarity` + self$`minNumOfPeaks` <- this_object$`minNumOfPeaks` + self$`enableAnalogueSearch` <- this_object$`enableAnalogueSearch` + self$`minSimilarityAnalogue` <- this_object$`minSimilarityAnalogue` + self$`minNumOfPeaksAnalogue` <- this_object$`minNumOfPeaksAnalogue` + if (!is.null(this_object$`scoring`) && !(this_object$`scoring` %in% c("INTENSITY", "GAUSSIAN", "MODIFIED_COSINE", "FAST_COSINE"))) { + stop(paste("Error! \"", this_object$`scoring`, "\" cannot be assigned to `scoring`. Must be \"INTENSITY\", \"GAUSSIAN\", \"MODIFIED_COSINE\", \"FAST_COSINE\".", sep = "")) } self$`scoring` <- this_object$`scoring` + self$`peakDeviationPpm` <- this_object$`peakDeviationPpm` self }, diff --git a/client-api_r/generated/R/spectrum_annotation.R b/client-api_r/generated/R/spectrum_annotation.R index 151a154b..1e4245c5 100644 --- a/client-api_r/generated/R/spectrum_annotation.R +++ b/client-api_r/generated/R/spectrum_annotation.R @@ -12,8 +12,10 @@ #' @field exactMass Exact mass based on the annotated molecular formula and ionization numeric [optional] #' @field massDeviationMz Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa numeric [optional] #' @field massDeviationPpm Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm numeric [optional] -#' @field structureAnnotationSmiles EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. Null if substructure annotation not available or not requested. character [optional] -#' @field structureAnnotationScore EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) Null if substructure annotation not available or not requested. numeric [optional] +#' @field structureAnnotationSmiles EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore.

Null if substructure annotation not available or not requested. character [optional] +#' @field structureAnnotationName EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.

Null if substructure annotation not available or not requested. character [optional] +#' @field structureAnnotationSvg EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refers to this SVG.

Null if substructure annotation not available or not requested. character [optional] +#' @field structureAnnotationScore EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)

Null if substructure annotation not available or not requested. numeric [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -26,6 +28,8 @@ SpectrumAnnotation <- R6::R6Class( `massDeviationMz` = NULL, `massDeviationPpm` = NULL, `structureAnnotationSmiles` = NULL, + `structureAnnotationName` = NULL, + `structureAnnotationSvg` = NULL, `structureAnnotationScore` = NULL, #' @description @@ -36,10 +40,12 @@ SpectrumAnnotation <- R6::R6Class( #' @param exactMass Exact mass based on the annotated molecular formula and ionization #' @param massDeviationMz Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa #' @param massDeviationPpm Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm - #' @param structureAnnotationSmiles EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. Null if substructure annotation not available or not requested. - #' @param structureAnnotationScore EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) Null if substructure annotation not available or not requested. + #' @param structureAnnotationSmiles EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore.

Null if substructure annotation not available or not requested. + #' @param structureAnnotationName EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.

Null if substructure annotation not available or not requested. + #' @param structureAnnotationSvg EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refers to this SVG.

Null if substructure annotation not available or not requested. + #' @param structureAnnotationScore EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)

Null if substructure annotation not available or not requested. #' @param ... Other optional arguments. - initialize = function(`molecularFormula` = NULL, `adduct` = NULL, `exactMass` = NULL, `massDeviationMz` = NULL, `massDeviationPpm` = NULL, `structureAnnotationSmiles` = NULL, `structureAnnotationScore` = NULL, ...) { + initialize = function(`molecularFormula` = NULL, `adduct` = NULL, `exactMass` = NULL, `massDeviationMz` = NULL, `massDeviationPpm` = NULL, `structureAnnotationSmiles` = NULL, `structureAnnotationName` = NULL, `structureAnnotationSvg` = NULL, `structureAnnotationScore` = NULL, ...) { if (!is.null(`molecularFormula`)) { if (!(is.character(`molecularFormula`) && length(`molecularFormula`) == 1)) { stop(paste("Error! Invalid data for `molecularFormula`. Must be a string:", `molecularFormula`)) @@ -76,6 +82,18 @@ SpectrumAnnotation <- R6::R6Class( } self$`structureAnnotationSmiles` <- `structureAnnotationSmiles` } + if (!is.null(`structureAnnotationName`)) { + if (!(is.character(`structureAnnotationName`) && length(`structureAnnotationName`) == 1)) { + stop(paste("Error! Invalid data for `structureAnnotationName`. Must be a string:", `structureAnnotationName`)) + } + self$`structureAnnotationName` <- `structureAnnotationName` + } + if (!is.null(`structureAnnotationSvg`)) { + if (!(is.character(`structureAnnotationSvg`) && length(`structureAnnotationSvg`) == 1)) { + stop(paste("Error! Invalid data for `structureAnnotationSvg`. Must be a string:", `structureAnnotationSvg`)) + } + self$`structureAnnotationSvg` <- `structureAnnotationSvg` + } if (!is.null(`structureAnnotationScore`)) { if (!(is.numeric(`structureAnnotationScore`) && length(`structureAnnotationScore`) == 1)) { stop(paste("Error! Invalid data for `structureAnnotationScore`. Must be a number:", `structureAnnotationScore`)) @@ -139,6 +157,14 @@ SpectrumAnnotation <- R6::R6Class( SpectrumAnnotationObject[["structureAnnotationSmiles"]] <- self$`structureAnnotationSmiles` } + if (!is.null(self$`structureAnnotationName`)) { + SpectrumAnnotationObject[["structureAnnotationName"]] <- + self$`structureAnnotationName` + } + if (!is.null(self$`structureAnnotationSvg`)) { + SpectrumAnnotationObject[["structureAnnotationSvg"]] <- + self$`structureAnnotationSvg` + } if (!is.null(self$`structureAnnotationScore`)) { SpectrumAnnotationObject[["structureAnnotationScore"]] <- self$`structureAnnotationScore` @@ -171,6 +197,12 @@ SpectrumAnnotation <- R6::R6Class( if (!is.null(this_object$`structureAnnotationSmiles`)) { self$`structureAnnotationSmiles` <- this_object$`structureAnnotationSmiles` } + if (!is.null(this_object$`structureAnnotationName`)) { + self$`structureAnnotationName` <- this_object$`structureAnnotationName` + } + if (!is.null(this_object$`structureAnnotationSvg`)) { + self$`structureAnnotationSvg` <- this_object$`structureAnnotationSvg` + } if (!is.null(this_object$`structureAnnotationScore`)) { self$`structureAnnotationScore` <- this_object$`structureAnnotationScore` } @@ -201,6 +233,8 @@ SpectrumAnnotation <- R6::R6Class( self$`massDeviationMz` <- this_object$`massDeviationMz` self$`massDeviationPpm` <- this_object$`massDeviationPpm` self$`structureAnnotationSmiles` <- this_object$`structureAnnotationSmiles` + self$`structureAnnotationName` <- this_object$`structureAnnotationName` + self$`structureAnnotationSvg` <- this_object$`structureAnnotationSvg` self$`structureAnnotationScore` <- this_object$`structureAnnotationScore` self }, diff --git a/client-api_r/generated/R/statistics_table.R b/client-api_r/generated/R/statistics_table.R new file mode 100644 index 00000000..3009636f --- /dev/null +++ b/client-api_r/generated/R/statistics_table.R @@ -0,0 +1,326 @@ +#' Create a new StatisticsTable +#' +#' @description +#' StatisticsTable Class +#' +#' @docType class +#' @title StatisticsTable +#' @description StatisticsTable Class +#' @format An \code{R6Class} generator object +#' @field statisticsType character [optional] +#' @field aggregationType character [optional] +#' @field quantificationMeasure character [optional] +#' @field rowType character [optional] +#' @field rowIds list(character) [optional] +#' @field columnNames list(character) [optional] +#' @field columnLeftGroups list(character) [optional] +#' @field columnRightGroups list(character) [optional] +#' @field values list(list(numeric)) [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +StatisticsTable <- R6::R6Class( + "StatisticsTable", + public = list( + `statisticsType` = NULL, + `aggregationType` = NULL, + `quantificationMeasure` = NULL, + `rowType` = NULL, + `rowIds` = NULL, + `columnNames` = NULL, + `columnLeftGroups` = NULL, + `columnRightGroups` = NULL, + `values` = NULL, + + #' @description + #' Initialize a new StatisticsTable class. + #' + #' @param statisticsType statisticsType + #' @param aggregationType aggregationType + #' @param quantificationMeasure quantificationMeasure + #' @param rowType rowType + #' @param rowIds rowIds + #' @param columnNames columnNames + #' @param columnLeftGroups columnLeftGroups + #' @param columnRightGroups columnRightGroups + #' @param values values + #' @param ... Other optional arguments. + initialize = function(`statisticsType` = NULL, `aggregationType` = NULL, `quantificationMeasure` = NULL, `rowType` = NULL, `rowIds` = NULL, `columnNames` = NULL, `columnLeftGroups` = NULL, `columnRightGroups` = NULL, `values` = NULL, ...) { + if (!is.null(`statisticsType`)) { + if (!(`statisticsType` %in% c("FOLD_CHANGE"))) { + stop(paste("Error! \"", `statisticsType`, "\" cannot be assigned to `statisticsType`. Must be \"FOLD_CHANGE\".", sep = "")) + } + if (!(is.character(`statisticsType`) && length(`statisticsType`) == 1)) { + stop(paste("Error! Invalid data for `statisticsType`. Must be a string:", `statisticsType`)) + } + self$`statisticsType` <- `statisticsType` + } + if (!is.null(`aggregationType`)) { + if (!(`aggregationType` %in% c("AVG", "MIN", "MAX"))) { + stop(paste("Error! \"", `aggregationType`, "\" cannot be assigned to `aggregationType`. Must be \"AVG\", \"MIN\", \"MAX\".", sep = "")) + } + if (!(is.character(`aggregationType`) && length(`aggregationType`) == 1)) { + stop(paste("Error! Invalid data for `aggregationType`. Must be a string:", `aggregationType`)) + } + self$`aggregationType` <- `aggregationType` + } + if (!is.null(`quantificationMeasure`)) { + if (!(`quantificationMeasure` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", `quantificationMeasure`, "\" cannot be assigned to `quantificationMeasure`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) + } + if (!(is.character(`quantificationMeasure`) && length(`quantificationMeasure`) == 1)) { + stop(paste("Error! Invalid data for `quantificationMeasure`. Must be a string:", `quantificationMeasure`)) + } + self$`quantificationMeasure` <- `quantificationMeasure` + } + if (!is.null(`rowType`)) { + if (!(`rowType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", `rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) + } + if (!(is.character(`rowType`) && length(`rowType`) == 1)) { + stop(paste("Error! Invalid data for `rowType`. Must be a string:", `rowType`)) + } + self$`rowType` <- `rowType` + } + if (!is.null(`rowIds`)) { + stopifnot(is.vector(`rowIds`), length(`rowIds`) != 0) + sapply(`rowIds`, function(x) stopifnot(is.character(x))) + self$`rowIds` <- `rowIds` + } + if (!is.null(`columnNames`)) { + stopifnot(is.vector(`columnNames`), length(`columnNames`) != 0) + sapply(`columnNames`, function(x) stopifnot(is.character(x))) + self$`columnNames` <- `columnNames` + } + if (!is.null(`columnLeftGroups`)) { + stopifnot(is.vector(`columnLeftGroups`), length(`columnLeftGroups`) != 0) + sapply(`columnLeftGroups`, function(x) stopifnot(is.character(x))) + self$`columnLeftGroups` <- `columnLeftGroups` + } + if (!is.null(`columnRightGroups`)) { + stopifnot(is.vector(`columnRightGroups`), length(`columnRightGroups`) != 0) + sapply(`columnRightGroups`, function(x) stopifnot(is.character(x))) + self$`columnRightGroups` <- `columnRightGroups` + } + if (!is.null(`values`)) { + stopifnot(is.vector(`values`), length(`values`) != 0) + sapply(`values`, function(x) stopifnot(R6::is.R6(x))) + self$`values` <- `values` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return StatisticsTable as a base R list. + #' @examples + #' # convert array of StatisticsTable (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert StatisticsTable to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + StatisticsTableObject <- list() + if (!is.null(self$`statisticsType`)) { + StatisticsTableObject[["statisticsType"]] <- + self$`statisticsType` + } + if (!is.null(self$`aggregationType`)) { + StatisticsTableObject[["aggregationType"]] <- + self$`aggregationType` + } + if (!is.null(self$`quantificationMeasure`)) { + StatisticsTableObject[["quantificationMeasure"]] <- + self$`quantificationMeasure` + } + if (!is.null(self$`rowType`)) { + StatisticsTableObject[["rowType"]] <- + self$`rowType` + } + if (!is.null(self$`rowIds`)) { + StatisticsTableObject[["rowIds"]] <- + self$`rowIds` + } + if (!is.null(self$`columnNames`)) { + StatisticsTableObject[["columnNames"]] <- + self$`columnNames` + } + if (!is.null(self$`columnLeftGroups`)) { + StatisticsTableObject[["columnLeftGroups"]] <- + self$`columnLeftGroups` + } + if (!is.null(self$`columnRightGroups`)) { + StatisticsTableObject[["columnRightGroups"]] <- + self$`columnRightGroups` + } + if (!is.null(self$`values`)) { + StatisticsTableObject[["values"]] <- + lapply(self$`values`, function(x) x$toSimpleType()) + } + return(StatisticsTableObject) + }, + + #' @description + #' Deserialize JSON string into an instance of StatisticsTable + #' + #' @param input_json the JSON input + #' @return the instance of StatisticsTable + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`statisticsType`)) { + if (!is.null(this_object$`statisticsType`) && !(this_object$`statisticsType` %in% c("FOLD_CHANGE"))) { + stop(paste("Error! \"", this_object$`statisticsType`, "\" cannot be assigned to `statisticsType`. Must be \"FOLD_CHANGE\".", sep = "")) + } + self$`statisticsType` <- this_object$`statisticsType` + } + if (!is.null(this_object$`aggregationType`)) { + if (!is.null(this_object$`aggregationType`) && !(this_object$`aggregationType` %in% c("AVG", "MIN", "MAX"))) { + stop(paste("Error! \"", this_object$`aggregationType`, "\" cannot be assigned to `aggregationType`. Must be \"AVG\", \"MIN\", \"MAX\".", sep = "")) + } + self$`aggregationType` <- this_object$`aggregationType` + } + if (!is.null(this_object$`quantificationMeasure`)) { + if (!is.null(this_object$`quantificationMeasure`) && !(this_object$`quantificationMeasure` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", this_object$`quantificationMeasure`, "\" cannot be assigned to `quantificationMeasure`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) + } + self$`quantificationMeasure` <- this_object$`quantificationMeasure` + } + if (!is.null(this_object$`rowType`)) { + if (!is.null(this_object$`rowType`) && !(this_object$`rowType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) + } + self$`rowType` <- this_object$`rowType` + } + if (!is.null(this_object$`rowIds`)) { + self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[character]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`columnNames`)) { + self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`columnLeftGroups`)) { + self$`columnLeftGroups` <- ApiClient$new()$deserializeObj(this_object$`columnLeftGroups`, "array[character]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`columnRightGroups`)) { + self$`columnRightGroups` <- ApiClient$new()$deserializeObj(this_object$`columnRightGroups`, "array[character]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`values`)) { + self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("Rsirius")) + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return StatisticsTable in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of StatisticsTable + #' + #' @param input_json the JSON input + #' @return the instance of StatisticsTable + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`statisticsType`) && !(this_object$`statisticsType` %in% c("FOLD_CHANGE"))) { + stop(paste("Error! \"", this_object$`statisticsType`, "\" cannot be assigned to `statisticsType`. Must be \"FOLD_CHANGE\".", sep = "")) + } + self$`statisticsType` <- this_object$`statisticsType` + if (!is.null(this_object$`aggregationType`) && !(this_object$`aggregationType` %in% c("AVG", "MIN", "MAX"))) { + stop(paste("Error! \"", this_object$`aggregationType`, "\" cannot be assigned to `aggregationType`. Must be \"AVG\", \"MIN\", \"MAX\".", sep = "")) + } + self$`aggregationType` <- this_object$`aggregationType` + if (!is.null(this_object$`quantificationMeasure`) && !(this_object$`quantificationMeasure` %in% c("APEX_INTENSITY", "AREA_UNDER_CURVE"))) { + stop(paste("Error! \"", this_object$`quantificationMeasure`, "\" cannot be assigned to `quantificationMeasure`. Must be \"APEX_INTENSITY\", \"AREA_UNDER_CURVE\".", sep = "")) + } + self$`quantificationMeasure` <- this_object$`quantificationMeasure` + if (!is.null(this_object$`rowType`) && !(this_object$`rowType` %in% c("FEATURES", "COMPOUNDS"))) { + stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) + } + self$`rowType` <- this_object$`rowType` + self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[character]", loadNamespace("Rsirius")) + self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("Rsirius")) + self$`columnLeftGroups` <- ApiClient$new()$deserializeObj(this_object$`columnLeftGroups`, "array[character]", loadNamespace("Rsirius")) + self$`columnRightGroups` <- ApiClient$new()$deserializeObj(this_object$`columnRightGroups`, "array[character]", loadNamespace("Rsirius")) + self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("Rsirius")) + self + }, + + #' @description + #' Validate JSON input with respect to StatisticsTable and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of StatisticsTable + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# StatisticsTable$unlock() +# +## Below is an example to define the print function +# StatisticsTable$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# StatisticsTable$lock() + diff --git a/client-api_r/generated/R/stored_job_submission.R b/client-api_r/generated/R/stored_job_submission.R index 441b4f79..43447b9b 100644 --- a/client-api_r/generated/R/stored_job_submission.R +++ b/client-api_r/generated/R/stored_job_submission.R @@ -9,7 +9,7 @@ #' @format An \code{R6Class} generator object #' @field name Unique name to identify this JobSubmission (job config). character #' @field editable False for predefined configs which are not editable and not removable. character -#' @field jobSubmission \link{JobSubmission} +#' @field jobSubmission The JobSubmission identified by the name \link{JobSubmission} #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,7 +25,7 @@ StoredJobSubmission <- R6::R6Class( #' #' @param name Unique name to identify this JobSubmission (job config). #' @param editable False for predefined configs which are not editable and not removable. - #' @param jobSubmission jobSubmission + #' @param jobSubmission The JobSubmission identified by the name #' @param ... Other optional arguments. initialize = function(`name`, `editable`, `jobSubmission`, ...) { if (!missing(`name`)) { diff --git a/client-api_r/generated/R/structure_candidate.R b/client-api_r/generated/R/structure_candidate.R index a77e882e..7cee81da 100644 --- a/client-api_r/generated/R/structure_candidate.R +++ b/client-api_r/generated/R/structure_candidate.R @@ -10,9 +10,10 @@ #' @field inchiKey character [optional] #' @field smiles character [optional] #' @field structureName character [optional] -#' @field xlogP numeric [optional] +#' @field structureSvg SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter character [optional] #' @field dbLinks List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{DBLink}) [optional] #' @field spectralLibraryMatches List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{SpectralLibraryMatch}) [optional] +#' @field xlogP numeric [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -22,9 +23,10 @@ StructureCandidate <- R6::R6Class( `inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, - `xlogP` = NULL, + `structureSvg` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, + `xlogP` = NULL, #' @description #' Initialize a new StructureCandidate class. @@ -32,11 +34,12 @@ StructureCandidate <- R6::R6Class( #' @param inchiKey inchiKey #' @param smiles smiles #' @param structureName structureName - #' @param xlogP xlogP + #' @param structureSvg SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter #' @param dbLinks List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter #' @param spectralLibraryMatches List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter + #' @param xlogP xlogP #' @param ... Other optional arguments. - initialize = function(`inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, `xlogP` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, ...) { + initialize = function(`inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, `structureSvg` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, `xlogP` = NULL, ...) { if (!is.null(`inchiKey`)) { if (!(is.character(`inchiKey`) && length(`inchiKey`) == 1)) { stop(paste("Error! Invalid data for `inchiKey`. Must be a string:", `inchiKey`)) @@ -55,11 +58,11 @@ StructureCandidate <- R6::R6Class( } self$`structureName` <- `structureName` } - if (!is.null(`xlogP`)) { - if (!(is.numeric(`xlogP`) && length(`xlogP`) == 1)) { - stop(paste("Error! Invalid data for `xlogP`. Must be a number:", `xlogP`)) + if (!is.null(`structureSvg`)) { + if (!(is.character(`structureSvg`) && length(`structureSvg`) == 1)) { + stop(paste("Error! Invalid data for `structureSvg`. Must be a string:", `structureSvg`)) } - self$`xlogP` <- `xlogP` + self$`structureSvg` <- `structureSvg` } if (!is.null(`dbLinks`)) { stopifnot(is.vector(`dbLinks`), length(`dbLinks`) != 0) @@ -71,6 +74,12 @@ StructureCandidate <- R6::R6Class( sapply(`spectralLibraryMatches`, function(x) stopifnot(R6::is.R6(x))) self$`spectralLibraryMatches` <- `spectralLibraryMatches` } + if (!is.null(`xlogP`)) { + if (!(is.numeric(`xlogP`) && length(`xlogP`) == 1)) { + stop(paste("Error! Invalid data for `xlogP`. Must be a number:", `xlogP`)) + } + self$`xlogP` <- `xlogP` + } }, #' @description @@ -116,9 +125,9 @@ StructureCandidate <- R6::R6Class( StructureCandidateObject[["structureName"]] <- self$`structureName` } - if (!is.null(self$`xlogP`)) { - StructureCandidateObject[["xlogP"]] <- - self$`xlogP` + if (!is.null(self$`structureSvg`)) { + StructureCandidateObject[["structureSvg"]] <- + self$`structureSvg` } if (!is.null(self$`dbLinks`)) { StructureCandidateObject[["dbLinks"]] <- @@ -128,6 +137,10 @@ StructureCandidate <- R6::R6Class( StructureCandidateObject[["spectralLibraryMatches"]] <- lapply(self$`spectralLibraryMatches`, function(x) x$toSimpleType()) } + if (!is.null(self$`xlogP`)) { + StructureCandidateObject[["xlogP"]] <- + self$`xlogP` + } return(StructureCandidateObject) }, @@ -147,8 +160,8 @@ StructureCandidate <- R6::R6Class( if (!is.null(this_object$`structureName`)) { self$`structureName` <- this_object$`structureName` } - if (!is.null(this_object$`xlogP`)) { - self$`xlogP` <- this_object$`xlogP` + if (!is.null(this_object$`structureSvg`)) { + self$`structureSvg` <- this_object$`structureSvg` } if (!is.null(this_object$`dbLinks`)) { self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) @@ -156,6 +169,9 @@ StructureCandidate <- R6::R6Class( if (!is.null(this_object$`spectralLibraryMatches`)) { self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) } + if (!is.null(this_object$`xlogP`)) { + self$`xlogP` <- this_object$`xlogP` + } self }, @@ -180,9 +196,10 @@ StructureCandidate <- R6::R6Class( self$`inchiKey` <- this_object$`inchiKey` self$`smiles` <- this_object$`smiles` self$`structureName` <- this_object$`structureName` - self$`xlogP` <- this_object$`xlogP` + self$`structureSvg` <- this_object$`structureSvg` self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`xlogP` <- this_object$`xlogP` self }, diff --git a/client-api_r/generated/R/structure_candidate_formula.R b/client-api_r/generated/R/structure_candidate_formula.R index ac8b703a..f9a4dfbb 100644 --- a/client-api_r/generated/R/structure_candidate_formula.R +++ b/client-api_r/generated/R/structure_candidate_formula.R @@ -10,14 +10,15 @@ #' @field inchiKey character [optional] #' @field smiles character [optional] #' @field structureName character [optional] -#' @field xlogP numeric [optional] +#' @field structureSvg SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter character [optional] #' @field dbLinks List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{DBLink}) [optional] #' @field spectralLibraryMatches List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{SpectralLibraryMatch}) [optional] +#' @field xlogP numeric [optional] #' @field rank the overall rank of this candidate among all candidates of this feature integer [optional] #' @field csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates numeric [optional] #' @field tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID numeric [optional] #' @field mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional] -#' @field fingerprint \link{BinaryFingerprint} [optional] +#' @field fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional] #' @field molecularFormula Molecular formula of this candidate character [optional] #' @field adduct Adduct of this candidate character [optional] #' @field formulaId Id of the corresponding Formula candidate character [optional] @@ -30,9 +31,10 @@ StructureCandidateFormula <- R6::R6Class( `inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, - `xlogP` = NULL, + `structureSvg` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, + `xlogP` = NULL, `rank` = NULL, `csiScore` = NULL, `tanimotoSimilarity` = NULL, @@ -48,19 +50,20 @@ StructureCandidateFormula <- R6::R6Class( #' @param inchiKey inchiKey #' @param smiles smiles #' @param structureName structureName - #' @param xlogP xlogP + #' @param structureSvg SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter #' @param dbLinks List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter #' @param spectralLibraryMatches List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter + #' @param xlogP xlogP #' @param rank the overall rank of this candidate among all candidates of this feature #' @param csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates #' @param tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID #' @param mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. - #' @param fingerprint fingerprint + #' @param fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter #' @param molecularFormula Molecular formula of this candidate #' @param adduct Adduct of this candidate #' @param formulaId Id of the corresponding Formula candidate #' @param ... Other optional arguments. - initialize = function(`inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, `xlogP` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, `rank` = NULL, `csiScore` = NULL, `tanimotoSimilarity` = NULL, `mcesDistToTopHit` = NULL, `fingerprint` = NULL, `molecularFormula` = NULL, `adduct` = NULL, `formulaId` = NULL, ...) { + initialize = function(`inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, `structureSvg` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, `xlogP` = NULL, `rank` = NULL, `csiScore` = NULL, `tanimotoSimilarity` = NULL, `mcesDistToTopHit` = NULL, `fingerprint` = NULL, `molecularFormula` = NULL, `adduct` = NULL, `formulaId` = NULL, ...) { if (!is.null(`inchiKey`)) { if (!(is.character(`inchiKey`) && length(`inchiKey`) == 1)) { stop(paste("Error! Invalid data for `inchiKey`. Must be a string:", `inchiKey`)) @@ -79,11 +82,11 @@ StructureCandidateFormula <- R6::R6Class( } self$`structureName` <- `structureName` } - if (!is.null(`xlogP`)) { - if (!(is.numeric(`xlogP`) && length(`xlogP`) == 1)) { - stop(paste("Error! Invalid data for `xlogP`. Must be a number:", `xlogP`)) + if (!is.null(`structureSvg`)) { + if (!(is.character(`structureSvg`) && length(`structureSvg`) == 1)) { + stop(paste("Error! Invalid data for `structureSvg`. Must be a string:", `structureSvg`)) } - self$`xlogP` <- `xlogP` + self$`structureSvg` <- `structureSvg` } if (!is.null(`dbLinks`)) { stopifnot(is.vector(`dbLinks`), length(`dbLinks`) != 0) @@ -95,6 +98,12 @@ StructureCandidateFormula <- R6::R6Class( sapply(`spectralLibraryMatches`, function(x) stopifnot(R6::is.R6(x))) self$`spectralLibraryMatches` <- `spectralLibraryMatches` } + if (!is.null(`xlogP`)) { + if (!(is.numeric(`xlogP`) && length(`xlogP`) == 1)) { + stop(paste("Error! Invalid data for `xlogP`. Must be a number:", `xlogP`)) + } + self$`xlogP` <- `xlogP` + } if (!is.null(`rank`)) { if (!(is.numeric(`rank`) && length(`rank`) == 1)) { stop(paste("Error! Invalid data for `rank`. Must be an integer:", `rank`)) @@ -186,9 +195,9 @@ StructureCandidateFormula <- R6::R6Class( StructureCandidateFormulaObject[["structureName"]] <- self$`structureName` } - if (!is.null(self$`xlogP`)) { - StructureCandidateFormulaObject[["xlogP"]] <- - self$`xlogP` + if (!is.null(self$`structureSvg`)) { + StructureCandidateFormulaObject[["structureSvg"]] <- + self$`structureSvg` } if (!is.null(self$`dbLinks`)) { StructureCandidateFormulaObject[["dbLinks"]] <- @@ -198,6 +207,10 @@ StructureCandidateFormula <- R6::R6Class( StructureCandidateFormulaObject[["spectralLibraryMatches"]] <- lapply(self$`spectralLibraryMatches`, function(x) x$toSimpleType()) } + if (!is.null(self$`xlogP`)) { + StructureCandidateFormulaObject[["xlogP"]] <- + self$`xlogP` + } if (!is.null(self$`rank`)) { StructureCandidateFormulaObject[["rank"]] <- self$`rank` @@ -249,8 +262,8 @@ StructureCandidateFormula <- R6::R6Class( if (!is.null(this_object$`structureName`)) { self$`structureName` <- this_object$`structureName` } - if (!is.null(this_object$`xlogP`)) { - self$`xlogP` <- this_object$`xlogP` + if (!is.null(this_object$`structureSvg`)) { + self$`structureSvg` <- this_object$`structureSvg` } if (!is.null(this_object$`dbLinks`)) { self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) @@ -258,6 +271,9 @@ StructureCandidateFormula <- R6::R6Class( if (!is.null(this_object$`spectralLibraryMatches`)) { self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) } + if (!is.null(this_object$`xlogP`)) { + self$`xlogP` <- this_object$`xlogP` + } if (!is.null(this_object$`rank`)) { self$`rank` <- this_object$`rank` } @@ -308,9 +324,10 @@ StructureCandidateFormula <- R6::R6Class( self$`inchiKey` <- this_object$`inchiKey` self$`smiles` <- this_object$`smiles` self$`structureName` <- this_object$`structureName` - self$`xlogP` <- this_object$`xlogP` + self$`structureSvg` <- this_object$`structureSvg` self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`xlogP` <- this_object$`xlogP` self$`rank` <- this_object$`rank` self$`csiScore` <- this_object$`csiScore` self$`tanimotoSimilarity` <- this_object$`tanimotoSimilarity` diff --git a/client-api_r/generated/R/structure_candidate_scored.R b/client-api_r/generated/R/structure_candidate_scored.R index 52ffcbea..3adfd6a3 100644 --- a/client-api_r/generated/R/structure_candidate_scored.R +++ b/client-api_r/generated/R/structure_candidate_scored.R @@ -10,14 +10,15 @@ #' @field inchiKey character [optional] #' @field smiles character [optional] #' @field structureName character [optional] -#' @field xlogP numeric [optional] +#' @field structureSvg SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter character [optional] #' @field dbLinks List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{DBLink}) [optional] #' @field spectralLibraryMatches List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{SpectralLibraryMatch}) [optional] +#' @field xlogP numeric [optional] #' @field rank the overall rank of this candidate among all candidates of this feature integer [optional] #' @field csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates numeric [optional] #' @field tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID numeric [optional] #' @field mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional] -#' @field fingerprint \link{BinaryFingerprint} [optional] +#' @field fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -27,9 +28,10 @@ StructureCandidateScored <- R6::R6Class( `inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, - `xlogP` = NULL, + `structureSvg` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, + `xlogP` = NULL, `rank` = NULL, `csiScore` = NULL, `tanimotoSimilarity` = NULL, @@ -42,16 +44,17 @@ StructureCandidateScored <- R6::R6Class( #' @param inchiKey inchiKey #' @param smiles smiles #' @param structureName structureName - #' @param xlogP xlogP + #' @param structureSvg SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter #' @param dbLinks List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter #' @param spectralLibraryMatches List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter + #' @param xlogP xlogP #' @param rank the overall rank of this candidate among all candidates of this feature #' @param csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates #' @param tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID #' @param mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. - #' @param fingerprint fingerprint + #' @param fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter #' @param ... Other optional arguments. - initialize = function(`inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, `xlogP` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, `rank` = NULL, `csiScore` = NULL, `tanimotoSimilarity` = NULL, `mcesDistToTopHit` = NULL, `fingerprint` = NULL, ...) { + initialize = function(`inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, `structureSvg` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, `xlogP` = NULL, `rank` = NULL, `csiScore` = NULL, `tanimotoSimilarity` = NULL, `mcesDistToTopHit` = NULL, `fingerprint` = NULL, ...) { if (!is.null(`inchiKey`)) { if (!(is.character(`inchiKey`) && length(`inchiKey`) == 1)) { stop(paste("Error! Invalid data for `inchiKey`. Must be a string:", `inchiKey`)) @@ -70,11 +73,11 @@ StructureCandidateScored <- R6::R6Class( } self$`structureName` <- `structureName` } - if (!is.null(`xlogP`)) { - if (!(is.numeric(`xlogP`) && length(`xlogP`) == 1)) { - stop(paste("Error! Invalid data for `xlogP`. Must be a number:", `xlogP`)) + if (!is.null(`structureSvg`)) { + if (!(is.character(`structureSvg`) && length(`structureSvg`) == 1)) { + stop(paste("Error! Invalid data for `structureSvg`. Must be a string:", `structureSvg`)) } - self$`xlogP` <- `xlogP` + self$`structureSvg` <- `structureSvg` } if (!is.null(`dbLinks`)) { stopifnot(is.vector(`dbLinks`), length(`dbLinks`) != 0) @@ -86,6 +89,12 @@ StructureCandidateScored <- R6::R6Class( sapply(`spectralLibraryMatches`, function(x) stopifnot(R6::is.R6(x))) self$`spectralLibraryMatches` <- `spectralLibraryMatches` } + if (!is.null(`xlogP`)) { + if (!(is.numeric(`xlogP`) && length(`xlogP`) == 1)) { + stop(paste("Error! Invalid data for `xlogP`. Must be a number:", `xlogP`)) + } + self$`xlogP` <- `xlogP` + } if (!is.null(`rank`)) { if (!(is.numeric(`rank`) && length(`rank`) == 1)) { stop(paste("Error! Invalid data for `rank`. Must be an integer:", `rank`)) @@ -159,9 +168,9 @@ StructureCandidateScored <- R6::R6Class( StructureCandidateScoredObject[["structureName"]] <- self$`structureName` } - if (!is.null(self$`xlogP`)) { - StructureCandidateScoredObject[["xlogP"]] <- - self$`xlogP` + if (!is.null(self$`structureSvg`)) { + StructureCandidateScoredObject[["structureSvg"]] <- + self$`structureSvg` } if (!is.null(self$`dbLinks`)) { StructureCandidateScoredObject[["dbLinks"]] <- @@ -171,6 +180,10 @@ StructureCandidateScored <- R6::R6Class( StructureCandidateScoredObject[["spectralLibraryMatches"]] <- lapply(self$`spectralLibraryMatches`, function(x) x$toSimpleType()) } + if (!is.null(self$`xlogP`)) { + StructureCandidateScoredObject[["xlogP"]] <- + self$`xlogP` + } if (!is.null(self$`rank`)) { StructureCandidateScoredObject[["rank"]] <- self$`rank` @@ -210,8 +223,8 @@ StructureCandidateScored <- R6::R6Class( if (!is.null(this_object$`structureName`)) { self$`structureName` <- this_object$`structureName` } - if (!is.null(this_object$`xlogP`)) { - self$`xlogP` <- this_object$`xlogP` + if (!is.null(this_object$`structureSvg`)) { + self$`structureSvg` <- this_object$`structureSvg` } if (!is.null(this_object$`dbLinks`)) { self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) @@ -219,6 +232,9 @@ StructureCandidateScored <- R6::R6Class( if (!is.null(this_object$`spectralLibraryMatches`)) { self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) } + if (!is.null(this_object$`xlogP`)) { + self$`xlogP` <- this_object$`xlogP` + } if (!is.null(this_object$`rank`)) { self$`rank` <- this_object$`rank` } @@ -260,9 +276,10 @@ StructureCandidateScored <- R6::R6Class( self$`inchiKey` <- this_object$`inchiKey` self$`smiles` <- this_object$`smiles` self$`structureName` <- this_object$`structureName` - self$`xlogP` <- this_object$`xlogP` + self$`structureSvg` <- this_object$`structureSvg` self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`xlogP` <- this_object$`xlogP` self$`rank` <- this_object$`rank` self$`csiScore` <- this_object$`csiScore` self$`tanimotoSimilarity` <- this_object$`tanimotoSimilarity` diff --git a/client-api_r/generated/R/subscription.R b/client-api_r/generated/R/subscription.R index e6d75ab9..674cc473 100644 --- a/client-api_r/generated/R/subscription.R +++ b/client-api_r/generated/R/subscription.R @@ -22,6 +22,7 @@ #' @field name character [optional] #' @field tos character [optional] #' @field pp character [optional] +#' @field allowedFeatures \link{AllowedFeatures} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -43,6 +44,7 @@ Subscription <- R6::R6Class( `name` = NULL, `tos` = NULL, `pp` = NULL, + `allowedFeatures` = NULL, #' @description #' Initialize a new Subscription class. @@ -62,8 +64,9 @@ Subscription <- R6::R6Class( #' @param name name #' @param tos tos #' @param pp pp + #' @param allowedFeatures allowedFeatures #' @param ... Other optional arguments. - initialize = function(`sid` = NULL, `subscriberId` = NULL, `subscriberName` = NULL, `expirationDate` = NULL, `startDate` = NULL, `countQueries` = NULL, `instanceLimit` = NULL, `instanceHashRecordingTime` = NULL, `maxQueriesPerInstance` = NULL, `maxUserAccounts` = NULL, `serviceUrl` = NULL, `description` = NULL, `name` = NULL, `tos` = NULL, `pp` = NULL, ...) { + initialize = function(`sid` = NULL, `subscriberId` = NULL, `subscriberName` = NULL, `expirationDate` = NULL, `startDate` = NULL, `countQueries` = NULL, `instanceLimit` = NULL, `instanceHashRecordingTime` = NULL, `maxQueriesPerInstance` = NULL, `maxUserAccounts` = NULL, `serviceUrl` = NULL, `description` = NULL, `name` = NULL, `tos` = NULL, `pp` = NULL, `allowedFeatures` = NULL, ...) { if (!is.null(`sid`)) { if (!(is.character(`sid`) && length(`sid`) == 1)) { stop(paste("Error! Invalid data for `sid`. Must be a string:", `sid`)) @@ -154,6 +157,10 @@ Subscription <- R6::R6Class( } self$`pp` <- `pp` } + if (!is.null(`allowedFeatures`)) { + stopifnot(R6::is.R6(`allowedFeatures`)) + self$`allowedFeatures` <- `allowedFeatures` + } }, #' @description @@ -247,6 +254,10 @@ Subscription <- R6::R6Class( SubscriptionObject[["pp"]] <- self$`pp` } + if (!is.null(self$`allowedFeatures`)) { + SubscriptionObject[["allowedFeatures"]] <- + self$`allowedFeatures`$toSimpleType() + } return(SubscriptionObject) }, @@ -302,6 +313,11 @@ Subscription <- R6::R6Class( if (!is.null(this_object$`pp`)) { self$`pp` <- this_object$`pp` } + if (!is.null(this_object$`allowedFeatures`)) { + `allowedfeatures_object` <- AllowedFeatures$new() + `allowedfeatures_object`$fromJSON(jsonlite::toJSON(this_object$`allowedFeatures`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`allowedFeatures` <- `allowedfeatures_object` + } self }, @@ -338,6 +354,7 @@ Subscription <- R6::R6Class( self$`name` <- this_object$`name` self$`tos` <- this_object$`tos` self$`pp` <- this_object$`pp` + self$`allowedFeatures` <- AllowedFeatures$new()$fromJSON(jsonlite::toJSON(this_object$`allowedFeatures`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/tag.R b/client-api_r/generated/R/tag.R new file mode 100644 index 00000000..ad33a8f4 --- /dev/null +++ b/client-api_r/generated/R/tag.R @@ -0,0 +1,194 @@ +#' Create a new Tag +#' +#' @description +#' Tag Class +#' +#' @docType class +#' @title Tag +#' @description Tag Class +#' @format An \code{R6Class} generator object +#' @field tagName Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. character +#' @field value \link{AnyType} [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +Tag <- R6::R6Class( + "Tag", + public = list( + `tagName` = NULL, + `value` = NULL, + + #' @description + #' Initialize a new Tag class. + #' + #' @param tagName Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. + #' @param value value + #' @param ... Other optional arguments. + initialize = function(`tagName`, `value` = NULL, ...) { + if (!missing(`tagName`)) { + if (!(is.character(`tagName`) && length(`tagName`) == 1)) { + stop(paste("Error! Invalid data for `tagName`. Must be a string:", `tagName`)) + } + self$`tagName` <- `tagName` + } + if (!is.null(`value`)) { + stopifnot(R6::is.R6(`value`)) + self$`value` <- `value` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return Tag as a base R list. + #' @examples + #' # convert array of Tag (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert Tag to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + TagObject <- list() + if (!is.null(self$`tagName`)) { + TagObject[["tagName"]] <- + self$`tagName` + } + if (!is.null(self$`value`)) { + TagObject[["value"]] <- + self$`value`$toSimpleType() + } + return(TagObject) + }, + + #' @description + #' Deserialize JSON string into an instance of Tag + #' + #' @param input_json the JSON input + #' @return the instance of Tag + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`tagName`)) { + self$`tagName` <- this_object$`tagName` + } + if (!is.null(this_object$`value`)) { + `value_object` <- AnyType$new() + `value_object`$fromJSON(jsonlite::toJSON(this_object$`value`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`value` <- `value_object` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return Tag in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of Tag + #' + #' @param input_json the JSON input + #' @return the instance of Tag + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`tagName` <- this_object$`tagName` + self$`value` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`value`, auto_unbox = TRUE, digits = NA, null = 'null')) + self + }, + + #' @description + #' Validate JSON input with respect to Tag and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `tagName` + if (!is.null(input_json$`tagName`)) { + if (!(is.character(input_json$`tagName`) && length(input_json$`tagName`) == 1)) { + stop(paste("Error! Invalid data for `tagName`. Must be a string:", input_json$`tagName`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for Tag: the required field `tagName` is missing.")) + } + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of Tag + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + # check if the required `tagName` is null + if (is.null(self$`tagName`)) { + return(FALSE) + } + + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + # check if the required `tagName` is null + if (is.null(self$`tagName`)) { + invalid_fields["tagName"] <- "Non-nullable required field `tagName` cannot be null." + } + + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# Tag$unlock() +# +## Below is an example to define the print function +# Tag$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# Tag$lock() + diff --git a/client-api_r/generated/R/tag_definition.R b/client-api_r/generated/R/tag_definition.R new file mode 100644 index 00000000..9ebd0803 --- /dev/null +++ b/client-api_r/generated/R/tag_definition.R @@ -0,0 +1,322 @@ +#' Create a new TagDefinition +#' +#' @description +#' TagDefinition Class +#' +#' @docType class +#' @title TagDefinition +#' @description TagDefinition Class +#' @format An \code{R6Class} generator object +#' @field tagName Name of this tag defined by this definition (key) character +#' @field description A human-readable description about the purpose of this tag. character [optional] +#' @field tagType A simple string based identifier to specify the type/scope/purpose of this tag. character [optional] +#' @field valueType character +#' @field possibleValues list(\link{AnyType}) [optional] +#' @field minValue \link{AnyType} [optional] +#' @field maxValue \link{AnyType} [optional] +#' @field editable character [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +TagDefinition <- R6::R6Class( + "TagDefinition", + public = list( + `tagName` = NULL, + `description` = NULL, + `tagType` = NULL, + `valueType` = NULL, + `possibleValues` = NULL, + `minValue` = NULL, + `maxValue` = NULL, + `editable` = NULL, + + #' @description + #' Initialize a new TagDefinition class. + #' + #' @param tagName Name of this tag defined by this definition (key) + #' @param valueType valueType + #' @param description A human-readable description about the purpose of this tag. + #' @param tagType A simple string based identifier to specify the type/scope/purpose of this tag. + #' @param possibleValues possibleValues + #' @param minValue minValue + #' @param maxValue maxValue + #' @param editable editable + #' @param ... Other optional arguments. + initialize = function(`tagName`, `valueType`, `description` = NULL, `tagType` = NULL, `possibleValues` = NULL, `minValue` = NULL, `maxValue` = NULL, `editable` = NULL, ...) { + if (!missing(`tagName`)) { + if (!(is.character(`tagName`) && length(`tagName`) == 1)) { + stop(paste("Error! Invalid data for `tagName`. Must be a string:", `tagName`)) + } + self$`tagName` <- `tagName` + } + if (!missing(`valueType`)) { + if (!(`valueType` %in% c("NONE", "BOOLEAN", "INTEGER", "REAL", "TEXT", "DATE", "TIME"))) { + stop(paste("Error! \"", `valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) + } + if (!(is.character(`valueType`) && length(`valueType`) == 1)) { + stop(paste("Error! Invalid data for `valueType`. Must be a string:", `valueType`)) + } + self$`valueType` <- `valueType` + } + if (!is.null(`description`)) { + if (!(is.character(`description`) && length(`description`) == 1)) { + stop(paste("Error! Invalid data for `description`. Must be a string:", `description`)) + } + self$`description` <- `description` + } + if (!is.null(`tagType`)) { + if (!(is.character(`tagType`) && length(`tagType`) == 1)) { + stop(paste("Error! Invalid data for `tagType`. Must be a string:", `tagType`)) + } + self$`tagType` <- `tagType` + } + if (!is.null(`possibleValues`)) { + stopifnot(is.vector(`possibleValues`), length(`possibleValues`) != 0) + sapply(`possibleValues`, function(x) stopifnot(R6::is.R6(x))) + self$`possibleValues` <- `possibleValues` + } + if (!is.null(`minValue`)) { + stopifnot(R6::is.R6(`minValue`)) + self$`minValue` <- `minValue` + } + if (!is.null(`maxValue`)) { + stopifnot(R6::is.R6(`maxValue`)) + self$`maxValue` <- `maxValue` + } + if (!is.null(`editable`)) { + if (!(is.logical(`editable`) && length(`editable`) == 1)) { + stop(paste("Error! Invalid data for `editable`. Must be a boolean:", `editable`)) + } + self$`editable` <- `editable` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return TagDefinition as a base R list. + #' @examples + #' # convert array of TagDefinition (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert TagDefinition to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + TagDefinitionObject <- list() + if (!is.null(self$`tagName`)) { + TagDefinitionObject[["tagName"]] <- + self$`tagName` + } + if (!is.null(self$`description`)) { + TagDefinitionObject[["description"]] <- + self$`description` + } + if (!is.null(self$`tagType`)) { + TagDefinitionObject[["tagType"]] <- + self$`tagType` + } + if (!is.null(self$`valueType`)) { + TagDefinitionObject[["valueType"]] <- + self$`valueType` + } + if (!is.null(self$`possibleValues`)) { + TagDefinitionObject[["possibleValues"]] <- + lapply(self$`possibleValues`, function(x) x$toSimpleType()) + } + if (!is.null(self$`minValue`)) { + TagDefinitionObject[["minValue"]] <- + self$`minValue`$toSimpleType() + } + if (!is.null(self$`maxValue`)) { + TagDefinitionObject[["maxValue"]] <- + self$`maxValue`$toSimpleType() + } + if (!is.null(self$`editable`)) { + TagDefinitionObject[["editable"]] <- + self$`editable` + } + return(TagDefinitionObject) + }, + + #' @description + #' Deserialize JSON string into an instance of TagDefinition + #' + #' @param input_json the JSON input + #' @return the instance of TagDefinition + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`tagName`)) { + self$`tagName` <- this_object$`tagName` + } + if (!is.null(this_object$`description`)) { + self$`description` <- this_object$`description` + } + if (!is.null(this_object$`tagType`)) { + self$`tagType` <- this_object$`tagType` + } + if (!is.null(this_object$`valueType`)) { + if (!is.null(this_object$`valueType`) && !(this_object$`valueType` %in% c("NONE", "BOOLEAN", "INTEGER", "REAL", "TEXT", "DATE", "TIME"))) { + stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) + } + self$`valueType` <- this_object$`valueType` + } + if (!is.null(this_object$`possibleValues`)) { + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`minValue`)) { + `minvalue_object` <- AnyType$new() + `minvalue_object`$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`minValue` <- `minvalue_object` + } + if (!is.null(this_object$`maxValue`)) { + `maxvalue_object` <- AnyType$new() + `maxvalue_object`$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`maxValue` <- `maxvalue_object` + } + if (!is.null(this_object$`editable`)) { + self$`editable` <- this_object$`editable` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return TagDefinition in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of TagDefinition + #' + #' @param input_json the JSON input + #' @return the instance of TagDefinition + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`tagName` <- this_object$`tagName` + self$`description` <- this_object$`description` + self$`tagType` <- this_object$`tagType` + if (!is.null(this_object$`valueType`) && !(this_object$`valueType` %in% c("NONE", "BOOLEAN", "INTEGER", "REAL", "TEXT", "DATE", "TIME"))) { + stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) + } + self$`valueType` <- this_object$`valueType` + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) + self$`minValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`maxValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`editable` <- this_object$`editable` + self + }, + + #' @description + #' Validate JSON input with respect to TagDefinition and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `tagName` + if (!is.null(input_json$`tagName`)) { + if (!(is.character(input_json$`tagName`) && length(input_json$`tagName`) == 1)) { + stop(paste("Error! Invalid data for `tagName`. Must be a string:", input_json$`tagName`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for TagDefinition: the required field `tagName` is missing.")) + } + # check the required field `valueType` + if (!is.null(input_json$`valueType`)) { + if (!(is.character(input_json$`valueType`) && length(input_json$`valueType`) == 1)) { + stop(paste("Error! Invalid data for `valueType`. Must be a string:", input_json$`valueType`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for TagDefinition: the required field `valueType` is missing.")) + } + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of TagDefinition + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + # check if the required `tagName` is null + if (is.null(self$`tagName`)) { + return(FALSE) + } + + # check if the required `valueType` is null + if (is.null(self$`valueType`)) { + return(FALSE) + } + + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + # check if the required `tagName` is null + if (is.null(self$`tagName`)) { + invalid_fields["tagName"] <- "Non-nullable required field `tagName` cannot be null." + } + + # check if the required `valueType` is null + if (is.null(self$`valueType`)) { + invalid_fields["valueType"] <- "Non-nullable required field `valueType` cannot be null." + } + + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# TagDefinition$unlock() +# +## Below is an example to define the print function +# TagDefinition$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# TagDefinition$lock() + diff --git a/client-api_r/generated/R/tag_definition_import.R b/client-api_r/generated/R/tag_definition_import.R new file mode 100644 index 00000000..74880765 --- /dev/null +++ b/client-api_r/generated/R/tag_definition_import.R @@ -0,0 +1,305 @@ +#' Create a new TagDefinitionImport +#' +#' @description +#' TagDefinitionImport Class +#' +#' @docType class +#' @title TagDefinitionImport +#' @description TagDefinitionImport Class +#' @format An \code{R6Class} generator object +#' @field tagName Name of this tag defined by this definition (key) character +#' @field description A human-readable description about the purpose of this tag. character [optional] +#' @field tagType A simple string based identifier to specify the type/scope/purpose of this tag. character [optional] +#' @field valueType character +#' @field possibleValues list(\link{AnyType}) [optional] +#' @field minValue \link{AnyType} [optional] +#' @field maxValue \link{AnyType} [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +TagDefinitionImport <- R6::R6Class( + "TagDefinitionImport", + public = list( + `tagName` = NULL, + `description` = NULL, + `tagType` = NULL, + `valueType` = NULL, + `possibleValues` = NULL, + `minValue` = NULL, + `maxValue` = NULL, + + #' @description + #' Initialize a new TagDefinitionImport class. + #' + #' @param tagName Name of this tag defined by this definition (key) + #' @param valueType valueType + #' @param description A human-readable description about the purpose of this tag. + #' @param tagType A simple string based identifier to specify the type/scope/purpose of this tag. + #' @param possibleValues possibleValues + #' @param minValue minValue + #' @param maxValue maxValue + #' @param ... Other optional arguments. + initialize = function(`tagName`, `valueType`, `description` = NULL, `tagType` = NULL, `possibleValues` = NULL, `minValue` = NULL, `maxValue` = NULL, ...) { + if (!missing(`tagName`)) { + if (!(is.character(`tagName`) && length(`tagName`) == 1)) { + stop(paste("Error! Invalid data for `tagName`. Must be a string:", `tagName`)) + } + self$`tagName` <- `tagName` + } + if (!missing(`valueType`)) { + if (!(`valueType` %in% c("NONE", "BOOLEAN", "INTEGER", "REAL", "TEXT", "DATE", "TIME"))) { + stop(paste("Error! \"", `valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) + } + if (!(is.character(`valueType`) && length(`valueType`) == 1)) { + stop(paste("Error! Invalid data for `valueType`. Must be a string:", `valueType`)) + } + self$`valueType` <- `valueType` + } + if (!is.null(`description`)) { + if (!(is.character(`description`) && length(`description`) == 1)) { + stop(paste("Error! Invalid data for `description`. Must be a string:", `description`)) + } + self$`description` <- `description` + } + if (!is.null(`tagType`)) { + if (!(is.character(`tagType`) && length(`tagType`) == 1)) { + stop(paste("Error! Invalid data for `tagType`. Must be a string:", `tagType`)) + } + self$`tagType` <- `tagType` + } + if (!is.null(`possibleValues`)) { + stopifnot(is.vector(`possibleValues`), length(`possibleValues`) != 0) + sapply(`possibleValues`, function(x) stopifnot(R6::is.R6(x))) + self$`possibleValues` <- `possibleValues` + } + if (!is.null(`minValue`)) { + stopifnot(R6::is.R6(`minValue`)) + self$`minValue` <- `minValue` + } + if (!is.null(`maxValue`)) { + stopifnot(R6::is.R6(`maxValue`)) + self$`maxValue` <- `maxValue` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return TagDefinitionImport as a base R list. + #' @examples + #' # convert array of TagDefinitionImport (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert TagDefinitionImport to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + TagDefinitionImportObject <- list() + if (!is.null(self$`tagName`)) { + TagDefinitionImportObject[["tagName"]] <- + self$`tagName` + } + if (!is.null(self$`description`)) { + TagDefinitionImportObject[["description"]] <- + self$`description` + } + if (!is.null(self$`tagType`)) { + TagDefinitionImportObject[["tagType"]] <- + self$`tagType` + } + if (!is.null(self$`valueType`)) { + TagDefinitionImportObject[["valueType"]] <- + self$`valueType` + } + if (!is.null(self$`possibleValues`)) { + TagDefinitionImportObject[["possibleValues"]] <- + lapply(self$`possibleValues`, function(x) x$toSimpleType()) + } + if (!is.null(self$`minValue`)) { + TagDefinitionImportObject[["minValue"]] <- + self$`minValue`$toSimpleType() + } + if (!is.null(self$`maxValue`)) { + TagDefinitionImportObject[["maxValue"]] <- + self$`maxValue`$toSimpleType() + } + return(TagDefinitionImportObject) + }, + + #' @description + #' Deserialize JSON string into an instance of TagDefinitionImport + #' + #' @param input_json the JSON input + #' @return the instance of TagDefinitionImport + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`tagName`)) { + self$`tagName` <- this_object$`tagName` + } + if (!is.null(this_object$`description`)) { + self$`description` <- this_object$`description` + } + if (!is.null(this_object$`tagType`)) { + self$`tagType` <- this_object$`tagType` + } + if (!is.null(this_object$`valueType`)) { + if (!is.null(this_object$`valueType`) && !(this_object$`valueType` %in% c("NONE", "BOOLEAN", "INTEGER", "REAL", "TEXT", "DATE", "TIME"))) { + stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) + } + self$`valueType` <- this_object$`valueType` + } + if (!is.null(this_object$`possibleValues`)) { + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) + } + if (!is.null(this_object$`minValue`)) { + `minvalue_object` <- AnyType$new() + `minvalue_object`$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`minValue` <- `minvalue_object` + } + if (!is.null(this_object$`maxValue`)) { + `maxvalue_object` <- AnyType$new() + `maxvalue_object`$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`maxValue` <- `maxvalue_object` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return TagDefinitionImport in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of TagDefinitionImport + #' + #' @param input_json the JSON input + #' @return the instance of TagDefinitionImport + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`tagName` <- this_object$`tagName` + self$`description` <- this_object$`description` + self$`tagType` <- this_object$`tagType` + if (!is.null(this_object$`valueType`) && !(this_object$`valueType` %in% c("NONE", "BOOLEAN", "INTEGER", "REAL", "TEXT", "DATE", "TIME"))) { + stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) + } + self$`valueType` <- this_object$`valueType` + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) + self$`minValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`maxValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self + }, + + #' @description + #' Validate JSON input with respect to TagDefinitionImport and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + # check the required field `tagName` + if (!is.null(input_json$`tagName`)) { + if (!(is.character(input_json$`tagName`) && length(input_json$`tagName`) == 1)) { + stop(paste("Error! Invalid data for `tagName`. Must be a string:", input_json$`tagName`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for TagDefinitionImport: the required field `tagName` is missing.")) + } + # check the required field `valueType` + if (!is.null(input_json$`valueType`)) { + if (!(is.character(input_json$`valueType`) && length(input_json$`valueType`) == 1)) { + stop(paste("Error! Invalid data for `valueType`. Must be a string:", input_json$`valueType`)) + } + } else { + stop(paste("The JSON input `", input, "` is invalid for TagDefinitionImport: the required field `valueType` is missing.")) + } + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of TagDefinitionImport + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + # check if the required `tagName` is null + if (is.null(self$`tagName`)) { + return(FALSE) + } + + # check if the required `valueType` is null + if (is.null(self$`valueType`)) { + return(FALSE) + } + + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + # check if the required `tagName` is null + if (is.null(self$`tagName`)) { + invalid_fields["tagName"] <- "Non-nullable required field `tagName` cannot be null." + } + + # check if the required `valueType` is null + if (is.null(self$`valueType`)) { + invalid_fields["valueType"] <- "Non-nullable required field `valueType` cannot be null." + } + + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# TagDefinitionImport$unlock() +# +## Below is an example to define the print function +# TagDefinitionImport$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# TagDefinitionImport$lock() + diff --git a/client-api_r/generated/R/tag_group.R b/client-api_r/generated/R/tag_group.R new file mode 100644 index 00000000..a2120318 --- /dev/null +++ b/client-api_r/generated/R/tag_group.R @@ -0,0 +1,193 @@ +#' Create a new TagGroup +#' +#' @description +#' TagGroup Class +#' +#' @docType class +#' @title TagGroup +#' @description TagGroup Class +#' @format An \code{R6Class} generator object +#' @field groupName Name of this Grouping query. character [optional] +#' @field luceneQuery Query used to group the entities in lucene format. character [optional] +#' @field groupType character [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +TagGroup <- R6::R6Class( + "TagGroup", + public = list( + `groupName` = NULL, + `luceneQuery` = NULL, + `groupType` = NULL, + + #' @description + #' Initialize a new TagGroup class. + #' + #' @param groupName Name of this Grouping query. + #' @param luceneQuery Query used to group the entities in lucene format. + #' @param groupType groupType + #' @param ... Other optional arguments. + initialize = function(`groupName` = NULL, `luceneQuery` = NULL, `groupType` = NULL, ...) { + if (!is.null(`groupName`)) { + if (!(is.character(`groupName`) && length(`groupName`) == 1)) { + stop(paste("Error! Invalid data for `groupName`. Must be a string:", `groupName`)) + } + self$`groupName` <- `groupName` + } + if (!is.null(`luceneQuery`)) { + if (!(is.character(`luceneQuery`) && length(`luceneQuery`) == 1)) { + stop(paste("Error! Invalid data for `luceneQuery`. Must be a string:", `luceneQuery`)) + } + self$`luceneQuery` <- `luceneQuery` + } + if (!is.null(`groupType`)) { + if (!(is.character(`groupType`) && length(`groupType`) == 1)) { + stop(paste("Error! Invalid data for `groupType`. Must be a string:", `groupType`)) + } + self$`groupType` <- `groupType` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return TagGroup as a base R list. + #' @examples + #' # convert array of TagGroup (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert TagGroup to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + TagGroupObject <- list() + if (!is.null(self$`groupName`)) { + TagGroupObject[["groupName"]] <- + self$`groupName` + } + if (!is.null(self$`luceneQuery`)) { + TagGroupObject[["luceneQuery"]] <- + self$`luceneQuery` + } + if (!is.null(self$`groupType`)) { + TagGroupObject[["groupType"]] <- + self$`groupType` + } + return(TagGroupObject) + }, + + #' @description + #' Deserialize JSON string into an instance of TagGroup + #' + #' @param input_json the JSON input + #' @return the instance of TagGroup + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`groupName`)) { + self$`groupName` <- this_object$`groupName` + } + if (!is.null(this_object$`luceneQuery`)) { + self$`luceneQuery` <- this_object$`luceneQuery` + } + if (!is.null(this_object$`groupType`)) { + self$`groupType` <- this_object$`groupType` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return TagGroup in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of TagGroup + #' + #' @param input_json the JSON input + #' @return the instance of TagGroup + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`groupName` <- this_object$`groupName` + self$`luceneQuery` <- this_object$`luceneQuery` + self$`groupType` <- this_object$`groupType` + self + }, + + #' @description + #' Validate JSON input with respect to TagGroup and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of TagGroup + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# TagGroup$unlock() +# +## Below is an example to define the print function +# TagGroup$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# TagGroup$lock() + diff --git a/client-api_r/generated/R/tags_api.R b/client-api_r/generated/R/tags_api.R new file mode 100644 index 00000000..5f81f9c1 --- /dev/null +++ b/client-api_r/generated/R/tags_api.R @@ -0,0 +1,1124 @@ +#' SIRIUS Nightsky API +#' +#' REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 +#' +#' The version of the OpenAPI document: 3.1 +#' Generated by: https://openapi-generator.tech +#' +#' @docType class +#' @title Tags operations +#' @description TagsApi +#' @format An \code{R6Class} generator object +#' @field api_client Handles the client-server communication. +#' +#' @examples +#' \dontrun{ +#' #################### AddGroup #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to add to. +#' var_group_name <- "group_name_example" # character | name of the new group +#' var_filter <- "filter_example" # character | filter query to create the group +#' var_type <- "type_example" # character | type of the group +#' +#' #[EXPERIMENTAL] Group tags in the project +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$AddGroup(var_project_id, var_group_name, var_filter, var_typedata_file = "result.txt") +#' result <- api_instance$tags_api$AddGroup(var_project_id, var_group_name, var_filter, var_type) +#' dput(result) +#' +#' +#' #################### AddPossibleValuesToTagDefinition #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to add to. +#' var_tag_name <- "tag_name_example" # character | the tag definition to add the values to +#' var_request_body <- c(TODO) # array[AnyType] | +#' +#' #[EXPERIMENTAL] Add a possible value to the tag definition in the project +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$AddPossibleValuesToTagDefinition(var_project_id, var_tag_name, var_request_bodydata_file = "result.txt") +#' result <- api_instance$tags_api$AddPossibleValuesToTagDefinition(var_project_id, var_tag_name, var_request_body) +#' dput(result) +#' +#' +#' #################### CreateTags #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to add to. +#' var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(TODO), TODO, TODO)) # array[TagDefinitionImport] | the tag definitions to be created +#' +#' #[EXPERIMENTAL] Add tags to the project +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$CreateTags(var_project_id, var_tag_definition_importdata_file = "result.txt") +#' result <- api_instance$tags_api$CreateTags(var_project_id, var_tag_definition_import) +#' dput(result) +#' +#' +#' #################### DeleteGroup #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_group_name <- "group_name_example" # character | name of group to delete. +#' +#' #[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +#' api_instance <- rsirius_api$new() +#' +#' api_instance$tags_api$DeleteGroup(var_project_id, var_group_name) +#' +#' +#' #################### DeleteTag #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to delete from. +#' var_tag_name <- "tag_name_example" # character | name of the tag definition to delete. +#' +#' #[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +#' api_instance <- rsirius_api$new() +#' +#' api_instance$tags_api$DeleteTag(var_project_id, var_tag_name) +#' +#' +#' #################### GetGroupByName #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_group_name <- "group_name_example" # character | name of the group +#' +#' #[EXPERIMENTAL] Get tag group by name in the given project-space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetGroupByName(var_project_id, var_group_namedata_file = "result.txt") +#' result <- api_instance$tags_api$GetGroupByName(var_project_id, var_group_name) +#' dput(result) +#' +#' +#' #################### GetGroups #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_group_type <- "group_type_example" # character | type of the group (Optional) +#' +#' #[EXPERIMENTAL] Get all tag based groups in the given project-space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetGroups(var_project_id, group_type = var_group_typedata_file = "result.txt") +#' result <- api_instance$tags_api$GetGroups(var_project_id, group_type = var_group_type) +#' dput(result) +#' +#' +#' #################### GetTag #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_tag_name <- "tag_name_example" # character | name of the tag +#' +#' #[EXPERIMENTAL] Get tag definition by its name in the given project-space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetTag(var_project_id, var_tag_namedata_file = "result.txt") +#' result <- api_instance$tags_api$GetTag(var_project_id, var_tag_name) +#' dput(result) +#' +#' +#' #################### GetTags #################### +#' +#' library(Rsirius) +#' var_project_id <- "project_id_example" # character | project-space to read from. +#' var_tag_type <- "tag_type_example" # character | scope of the tag (optional) (Optional) +#' +#' #[EXPERIMENTAL] Get all tag definitions in the given project-space +#' api_instance <- rsirius_api$new() +#' +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance$GetTags(var_project_id, tag_type = var_tag_typedata_file = "result.txt") +#' result <- api_instance$tags_api$GetTags(var_project_id, tag_type = var_tag_type) +#' dput(result) +#' +#' +#' } +#' @importFrom R6 R6Class +#' @importFrom base64enc base64encode +#' @export +TagsApi <- R6::R6Class( + "TagsApi", + public = list( + api_client = NULL, + + #' @description + #' Initialize a new TagsApi. + #' + #' @param api_client An instance of API client. + initialize = function(api_client) { + if (!missing(api_client)) { + self$api_client <- api_client + } else { + self$api_client <- ApiClient$new() + } + }, + + #' @description + #' [EXPERIMENTAL] Group tags in the project + #' + #' @param project_id project-space to add to. + #' @param group_name name of the new group + #' @param filter filter query to create the group + #' @param type type of the group + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return TagGroup + AddGroup = function(project_id, group_name, filter, type, data_file = NULL, ...) { + local_var_response <- self$AddGroupWithHttpInfo(project_id, group_name, filter, type, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Group tags in the project + #' + #' @param project_id project-space to add to. + #' @param group_name name of the new group + #' @param filter filter query to create the group + #' @param type type of the group + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (TagGroup) with additional information such as HTTP status code, headers + AddGroupWithHttpInfo = function(project_id, group_name, filter, type, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`group_name`)) { + stop("Missing required parameter `group_name`.") + } + + if (missing(`filter`)) { + stop("Missing required parameter `filter`.") + } + + if (missing(`type`)) { + stop("Missing required parameter `type`.") + } + + + + + + query_params[["filter"]] <- `filter` + + query_params[["type"]] <- `type` + + local_var_url_path <- "/api/projects/{projectId}/groups/{groupName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`group_name`)) { + local_var_url_path <- gsub("\\{groupName\\}", URLencode(as.character(`group_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "POST", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Add a possible value to the tag definition in the project + #' + #' @param project_id project-space to add to. + #' @param tag_name the tag definition to add the values to + #' @param request_body + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return TagDefinition + AddPossibleValuesToTagDefinition = function(project_id, tag_name, request_body, data_file = NULL, ...) { + local_var_response <- self$AddPossibleValuesToTagDefinitionWithHttpInfo(project_id, tag_name, request_body, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Add a possible value to the tag definition in the project + #' + #' @param project_id project-space to add to. + #' @param tag_name the tag definition to add the values to + #' @param request_body + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (TagDefinition) with additional information such as HTTP status code, headers + AddPossibleValuesToTagDefinitionWithHttpInfo = function(project_id, tag_name, request_body, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`tag_name`)) { + stop("Missing required parameter `tag_name`.") + } + + if (missing(`request_body`)) { + stop("Missing required parameter `request_body`.") + } + + + + + if (!is.null(`request_body`)) { + body.items <- paste(unlist(lapply(`request_body`, function(param) { + param$toJSONString() + })), collapse = ",") + local_var_body <- paste0("[", body.items, "]") + } else { + body <- NULL + } + + local_var_url_path <- "/api/projects/{projectId}/tags/{tagName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`tag_name`)) { + local_var_url_path <- gsub("\\{tagName\\}", URLencode(as.character(`tag_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list("application/json") + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PATCH", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Add tags to the project + #' + #' @param project_id project-space to add to. + #' @param tag_definition_import the tag definitions to be created + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[TagDefinition] + CreateTags = function(project_id, tag_definition_import, data_file = NULL, ...) { + local_var_response <- self$CreateTagsWithHttpInfo(project_id, tag_definition_import, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Add tags to the project + #' + #' @param project_id project-space to add to. + #' @param tag_definition_import the tag definitions to be created + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[TagDefinition]) with additional information such as HTTP status code, headers + CreateTagsWithHttpInfo = function(project_id, tag_definition_import, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`tag_definition_import`)) { + stop("Missing required parameter `tag_definition_import`.") + } + + + + if (!is.null(`tag_definition_import`)) { + body.items <- paste(unlist(lapply(`tag_definition_import`, function(param) { + param$toJSONString() + })), collapse = ",") + local_var_body <- paste0("[", body.items, "]") + } else { + body <- NULL + } + + local_var_url_path <- "/api/projects/{projectId}/tags" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list("application/json") + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "PUT", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param group_name name of group to delete. + #' @param ... Other optional arguments + #' + #' @return void + DeleteGroup = function(project_id, group_name, ...) { + local_var_response <- self$DeleteGroupWithHttpInfo(project_id, group_name, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param group_name name of group to delete. + #' @param ... Other optional arguments + #' + #' @return API response (void) with additional information such as HTTP status code, headers + DeleteGroupWithHttpInfo = function(project_id, group_name, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`group_name`)) { + stop("Missing required parameter `group_name`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/groups/{groupName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`group_name`)) { + local_var_url_path <- gsub("\\{groupName\\}", URLencode(as.character(`group_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "DELETE", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param tag_name name of the tag definition to delete. + #' @param ... Other optional arguments + #' + #' @return void + DeleteTag = function(project_id, tag_name, ...) { + local_var_response <- self$DeleteTagWithHttpInfo(project_id, tag_name, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + #' + #' @param project_id project-space to delete from. + #' @param tag_name name of the tag definition to delete. + #' @param ... Other optional arguments + #' + #' @return API response (void) with additional information such as HTTP status code, headers + DeleteTagWithHttpInfo = function(project_id, tag_name, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`tag_name`)) { + stop("Missing required parameter `tag_name`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/tags/{tagName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`tag_name`)) { + local_var_url_path <- gsub("\\{tagName\\}", URLencode(as.character(`tag_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list() + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "DELETE", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + local_var_resp$content <- NULL + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get tag group by name in the given project-space + #' + #' @param project_id project-space to read from. + #' @param group_name name of the group + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return TagGroup + GetGroupByName = function(project_id, group_name, data_file = NULL, ...) { + local_var_response <- self$GetGroupByNameWithHttpInfo(project_id, group_name, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get tag group by name in the given project-space + #' + #' @param project_id project-space to read from. + #' @param group_name name of the group + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (TagGroup) with additional information such as HTTP status code, headers + GetGroupByNameWithHttpInfo = function(project_id, group_name, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`group_name`)) { + stop("Missing required parameter `group_name`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/groups/{groupName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`group_name`)) { + local_var_url_path <- gsub("\\{groupName\\}", URLencode(as.character(`group_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tag based groups in the given project-space + #' + #' @param project_id project-space to read from. + #' @param group_type (optional) type of the group + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[TagGroup] + GetGroups = function(project_id, group_type = NULL, data_file = NULL, ...) { + local_var_response <- self$GetGroupsWithHttpInfo(project_id, group_type, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tag based groups in the given project-space + #' + #' @param project_id project-space to read from. + #' @param group_type (optional) type of the group + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[TagGroup]) with additional information such as HTTP status code, headers + GetGroupsWithHttpInfo = function(project_id, group_type = NULL, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + query_params[["groupType"]] <- `group_type` + + local_var_url_path <- "/api/projects/{projectId}/groups" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagGroup]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get tag definition by its name in the given project-space + #' + #' @param project_id project-space to read from. + #' @param tag_name name of the tag + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return TagDefinition + GetTag = function(project_id, tag_name, data_file = NULL, ...) { + local_var_response <- self$GetTagWithHttpInfo(project_id, tag_name, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get tag definition by its name in the given project-space + #' + #' @param project_id project-space to read from. + #' @param tag_name name of the tag + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (TagDefinition) with additional information such as HTTP status code, headers + GetTagWithHttpInfo = function(project_id, tag_name, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + if (missing(`tag_name`)) { + stop("Missing required parameter `tag_name`.") + } + + + + local_var_url_path <- "/api/projects/{projectId}/tags/{tagName}" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + if (!missing(`tag_name`)) { + local_var_url_path <- gsub("\\{tagName\\}", URLencode(as.character(`tag_name`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tag definitions in the given project-space + #' + #' @param project_id project-space to read from. + #' @param tag_type (optional) scope of the tag (optional) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return array[TagDefinition] + GetTags = function(project_id, tag_type = NULL, data_file = NULL, ...) { + local_var_response <- self$GetTagsWithHttpInfo(project_id, tag_type, data_file = data_file, ...) + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' [EXPERIMENTAL] Get all tag definitions in the given project-space + #' + #' @param project_id project-space to read from. + #' @param tag_type (optional) scope of the tag (optional) + #' @param data_file (optional) name of the data file to save the result + #' @param ... Other optional arguments + #' + #' @return API response (array[TagDefinition]) with additional information such as HTTP status code, headers + GetTagsWithHttpInfo = function(project_id, tag_type = NULL, data_file = NULL, ...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + if (missing(`project_id`)) { + stop("Missing required parameter `project_id`.") + } + + + + query_params[["tagType"]] <- `tag_type` + + local_var_url_path <- "/api/projects/{projectId}/tags" + if (!missing(`project_id`)) { + local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) + } + + + # The Accept request HTTP header + local_var_accepts <- list("application/json") + + # The Content-Type representation header + local_var_content_types <- list() + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "GET", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + ...) + + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + ApiResponse$new("API client error", local_var_resp) + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + } + } + ) +) diff --git a/client-api_r/generated/R/trace_experimental.R b/client-api_r/generated/R/trace_experimental.R index 2b365fff..b42c0be4 100644 --- a/client-api_r/generated/R/trace_experimental.R +++ b/client-api_r/generated/R/trace_experimental.R @@ -11,6 +11,7 @@ #' @field sampleId character [optional] #' @field sampleName character [optional] #' @field label character [optional] +#' @field color character [optional] #' @field intensities list(numeric) [optional] #' @field annotations list(\link{TraceAnnotationExperimental}) [optional] #' @field mz numeric [optional] @@ -27,6 +28,7 @@ TraceExperimental <- R6::R6Class( `sampleId` = NULL, `sampleName` = NULL, `label` = NULL, + `color` = NULL, `intensities` = NULL, `annotations` = NULL, `mz` = NULL, @@ -41,6 +43,7 @@ TraceExperimental <- R6::R6Class( #' @param sampleId sampleId #' @param sampleName sampleName #' @param label label + #' @param color color #' @param intensities intensities #' @param annotations annotations #' @param mz mz @@ -48,7 +51,7 @@ TraceExperimental <- R6::R6Class( #' @param normalizationFactor Traces are stored with raw intensity values. The normalization factor maps them to relative intensities, such that traces from different samples can be compared. #' @param noiseLevel The noise level is estimated from the median noise in the surrounding scans. It can be used to calculate signal-to-noise ratios. #' @param ... Other optional arguments. - initialize = function(`id` = NULL, `sampleId` = NULL, `sampleName` = NULL, `label` = NULL, `intensities` = NULL, `annotations` = NULL, `mz` = NULL, `merged` = NULL, `normalizationFactor` = NULL, `noiseLevel` = NULL, ...) { + initialize = function(`id` = NULL, `sampleId` = NULL, `sampleName` = NULL, `label` = NULL, `color` = NULL, `intensities` = NULL, `annotations` = NULL, `mz` = NULL, `merged` = NULL, `normalizationFactor` = NULL, `noiseLevel` = NULL, ...) { if (!is.null(`id`)) { if (!(is.character(`id`) && length(`id`) == 1)) { stop(paste("Error! Invalid data for `id`. Must be a string:", `id`)) @@ -73,6 +76,12 @@ TraceExperimental <- R6::R6Class( } self$`label` <- `label` } + if (!is.null(`color`)) { + if (!(is.character(`color`) && length(`color`) == 1)) { + stop(paste("Error! Invalid data for `color`. Must be a string:", `color`)) + } + self$`color` <- `color` + } if (!is.null(`intensities`)) { stopifnot(is.vector(`intensities`), length(`intensities`) != 0) sapply(`intensities`, function(x) stopifnot(is.character(x))) @@ -156,6 +165,10 @@ TraceExperimental <- R6::R6Class( TraceExperimentalObject[["label"]] <- self$`label` } + if (!is.null(self$`color`)) { + TraceExperimentalObject[["color"]] <- + self$`color` + } if (!is.null(self$`intensities`)) { TraceExperimentalObject[["intensities"]] <- self$`intensities` @@ -202,6 +215,9 @@ TraceExperimental <- R6::R6Class( if (!is.null(this_object$`label`)) { self$`label` <- this_object$`label` } + if (!is.null(this_object$`color`)) { + self$`color` <- this_object$`color` + } if (!is.null(this_object$`intensities`)) { self$`intensities` <- ApiClient$new()$deserializeObj(this_object$`intensities`, "array[numeric]", loadNamespace("Rsirius")) } @@ -245,6 +261,7 @@ TraceExperimental <- R6::R6Class( self$`sampleId` <- this_object$`sampleId` self$`sampleName` <- this_object$`sampleName` self$`label` <- this_object$`label` + self$`color` <- this_object$`color` self$`intensities` <- ApiClient$new()$deserializeObj(this_object$`intensities`, "array[numeric]", loadNamespace("Rsirius")) self$`annotations` <- ApiClient$new()$deserializeObj(this_object$`annotations`, "array[TraceAnnotationExperimental]", loadNamespace("Rsirius")) self$`mz` <- this_object$`mz` diff --git a/client-api_r/generated/R/gui_info.R b/client-api_r/generated/R/web_server_namespace.R similarity index 65% rename from client-api_r/generated/R/gui_info.R rename to client-api_r/generated/R/web_server_namespace.R index 1b4259fe..993d97ed 100644 --- a/client-api_r/generated/R/gui_info.R +++ b/client-api_r/generated/R/web_server_namespace.R @@ -1,32 +1,32 @@ -#' Create a new GuiInfo +#' Create a new WebServerNamespace #' #' @description -#' GuiInfo Class +#' WebServerNamespace Class #' #' @docType class -#' @title GuiInfo -#' @description GuiInfo Class +#' @title WebServerNamespace +#' @description WebServerNamespace Class #' @format An \code{R6Class} generator object -#' @field projectId The project this instance is running on character [optional] +#' @field value character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export -GuiInfo <- R6::R6Class( - "GuiInfo", +WebServerNamespace <- R6::R6Class( + "WebServerNamespace", public = list( - `projectId` = NULL, + `value` = NULL, #' @description - #' Initialize a new GuiInfo class. + #' Initialize a new WebServerNamespace class. #' - #' @param projectId The project this instance is running on + #' @param value value #' @param ... Other optional arguments. - initialize = function(`projectId` = NULL, ...) { - if (!is.null(`projectId`)) { - if (!(is.character(`projectId`) && length(`projectId`) == 1)) { - stop(paste("Error! Invalid data for `projectId`. Must be a string:", `projectId`)) + initialize = function(`value` = NULL, ...) { + if (!is.null(`value`)) { + if (!(is.character(`value`) && length(`value`) == 1)) { + stop(paste("Error! Invalid data for `value`. Must be a string:", `value`)) } - self$`projectId` <- `projectId` + self$`value` <- `value` } }, @@ -42,9 +42,9 @@ GuiInfo <- R6::R6Class( #' #' Convert the R6 object to a list to work more easily with other tooling. #' - #' @return GuiInfo as a base R list. + #' @return WebServerNamespace as a base R list. #' @examples - #' # convert array of GuiInfo (x) to a data frame + #' # convert array of WebServerNamespace (x) to a data frame #' \dontrun{ #' library(purrr) #' library(tibble) @@ -56,27 +56,27 @@ GuiInfo <- R6::R6Class( }, #' @description - #' Convert GuiInfo to a base R type + #' Convert WebServerNamespace to a base R type #' #' @return A base R type, e.g. a list or numeric/character array. toSimpleType = function() { - GuiInfoObject <- list() - if (!is.null(self$`projectId`)) { - GuiInfoObject[["projectId"]] <- - self$`projectId` + WebServerNamespaceObject <- list() + if (!is.null(self$`value`)) { + WebServerNamespaceObject[["value"]] <- + self$`value` } - return(GuiInfoObject) + return(WebServerNamespaceObject) }, #' @description - #' Deserialize JSON string into an instance of GuiInfo + #' Deserialize JSON string into an instance of WebServerNamespace #' #' @param input_json the JSON input - #' @return the instance of GuiInfo + #' @return the instance of WebServerNamespace fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - if (!is.null(this_object$`projectId`)) { - self$`projectId` <- this_object$`projectId` + if (!is.null(this_object$`value`)) { + self$`value` <- this_object$`value` } self }, @@ -85,7 +85,7 @@ GuiInfo <- R6::R6Class( #' To JSON String #' #' @param ... Parameters passed to `jsonlite::toJSON` - #' @return GuiInfo in JSON format + #' @return WebServerNamespace in JSON format toJSONString = function(...) { simple <- self$toSimpleType() json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) @@ -93,18 +93,18 @@ GuiInfo <- R6::R6Class( }, #' @description - #' Deserialize JSON string into an instance of GuiInfo + #' Deserialize JSON string into an instance of WebServerNamespace #' #' @param input_json the JSON input - #' @return the instance of GuiInfo + #' @return the instance of WebServerNamespace fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`projectId` <- this_object$`projectId` + self$`value` <- this_object$`value` self }, #' @description - #' Validate JSON input with respect to GuiInfo and throw an exception if invalid + #' Validate JSON input with respect to WebServerNamespace and throw an exception if invalid #' #' @param input the JSON input validateJSON = function(input) { @@ -114,7 +114,7 @@ GuiInfo <- R6::R6Class( #' @description #' To string (JSON format) #' - #' @return String representation of GuiInfo + #' @return String representation of WebServerNamespace toString = function() { self$toJSONString() }, @@ -147,13 +147,13 @@ GuiInfo <- R6::R6Class( lock_class = TRUE ) ## Uncomment below to unlock the class to allow modifications of the method or field -# GuiInfo$unlock() +# WebServerNamespace$unlock() # ## Below is an example to define the print function -# GuiInfo$set("public", "print", function(...) { +# WebServerNamespace$set("public", "print", function(...) { # print(jsonlite::prettify(self$toJSONString())) # invisible(self) # }) ## Uncomment below to lock the class to prevent modifications to the method or field -# GuiInfo$lock() +# WebServerNamespace$lock() diff --git a/client-api_r/generated/R/zodiac.R b/client-api_r/generated/R/zodiac.R index 91ac0596..8bc2c4f4 100644 --- a/client-api_r/generated/R/zodiac.R +++ b/client-api_r/generated/R/zodiac.R @@ -11,8 +11,10 @@ #' @field consideredCandidatesAt300Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. integer [optional] #' @field consideredCandidatesAt800Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. integer [optional] #' @field runInTwoSteps As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. character [optional] -#' @field edgeFilterThresholds \link{ZodiacEdgeFilterThresholds} [optional] -#' @field gibbsSamplerParameters \link{ZodiacEpochs} [optional] +#' @field edgeFilterThresholds thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. \link{ZodiacEdgeFilterThresholds} [optional] +#' @field gibbsSamplerParameters iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. \link{ZodiacEpochs} [optional] +#' @field librarySearchAnchors Configure the use of identity spectral library search results as anchors in ZODIAC network \link{ZodiacLibraryScoring} [optional] +#' @field analogueSearchAnchors Configure the use of analogue spectral library search results as anchors in ZODIAC network \link{ZodiacAnalogueNodes} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,6 +27,8 @@ Zodiac <- R6::R6Class( `runInTwoSteps` = NULL, `edgeFilterThresholds` = NULL, `gibbsSamplerParameters` = NULL, + `librarySearchAnchors` = NULL, + `analogueSearchAnchors` = NULL, #' @description #' Initialize a new Zodiac class. @@ -33,10 +37,12 @@ Zodiac <- R6::R6Class( #' @param consideredCandidatesAt300Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. #' @param consideredCandidatesAt800Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. #' @param runInTwoSteps As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. - #' @param edgeFilterThresholds edgeFilterThresholds - #' @param gibbsSamplerParameters gibbsSamplerParameters + #' @param edgeFilterThresholds thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. + #' @param gibbsSamplerParameters iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. + #' @param librarySearchAnchors Configure the use of identity spectral library search results as anchors in ZODIAC network + #' @param analogueSearchAnchors Configure the use of analogue spectral library search results as anchors in ZODIAC network #' @param ... Other optional arguments. - initialize = function(`enabled` = NULL, `consideredCandidatesAt300Mz` = NULL, `consideredCandidatesAt800Mz` = NULL, `runInTwoSteps` = NULL, `edgeFilterThresholds` = NULL, `gibbsSamplerParameters` = NULL, ...) { + initialize = function(`enabled` = NULL, `consideredCandidatesAt300Mz` = NULL, `consideredCandidatesAt800Mz` = NULL, `runInTwoSteps` = NULL, `edgeFilterThresholds` = NULL, `gibbsSamplerParameters` = NULL, `librarySearchAnchors` = NULL, `analogueSearchAnchors` = NULL, ...) { if (!is.null(`enabled`)) { if (!(is.logical(`enabled`) && length(`enabled`) == 1)) { stop(paste("Error! Invalid data for `enabled`. Must be a boolean:", `enabled`)) @@ -69,6 +75,14 @@ Zodiac <- R6::R6Class( stopifnot(R6::is.R6(`gibbsSamplerParameters`)) self$`gibbsSamplerParameters` <- `gibbsSamplerParameters` } + if (!is.null(`librarySearchAnchors`)) { + stopifnot(R6::is.R6(`librarySearchAnchors`)) + self$`librarySearchAnchors` <- `librarySearchAnchors` + } + if (!is.null(`analogueSearchAnchors`)) { + stopifnot(R6::is.R6(`analogueSearchAnchors`)) + self$`analogueSearchAnchors` <- `analogueSearchAnchors` + } }, #' @description @@ -126,6 +140,14 @@ Zodiac <- R6::R6Class( ZodiacObject[["gibbsSamplerParameters"]] <- self$`gibbsSamplerParameters`$toSimpleType() } + if (!is.null(self$`librarySearchAnchors`)) { + ZodiacObject[["librarySearchAnchors"]] <- + self$`librarySearchAnchors`$toSimpleType() + } + if (!is.null(self$`analogueSearchAnchors`)) { + ZodiacObject[["analogueSearchAnchors"]] <- + self$`analogueSearchAnchors`$toSimpleType() + } return(ZodiacObject) }, @@ -158,6 +180,16 @@ Zodiac <- R6::R6Class( `gibbssamplerparameters_object`$fromJSON(jsonlite::toJSON(this_object$`gibbsSamplerParameters`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`gibbsSamplerParameters` <- `gibbssamplerparameters_object` } + if (!is.null(this_object$`librarySearchAnchors`)) { + `librarysearchanchors_object` <- ZodiacLibraryScoring$new() + `librarysearchanchors_object`$fromJSON(jsonlite::toJSON(this_object$`librarySearchAnchors`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`librarySearchAnchors` <- `librarysearchanchors_object` + } + if (!is.null(this_object$`analogueSearchAnchors`)) { + `analoguesearchanchors_object` <- ZodiacAnalogueNodes$new() + `analoguesearchanchors_object`$fromJSON(jsonlite::toJSON(this_object$`analogueSearchAnchors`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`analogueSearchAnchors` <- `analoguesearchanchors_object` + } self }, @@ -185,6 +217,8 @@ Zodiac <- R6::R6Class( self$`runInTwoSteps` <- this_object$`runInTwoSteps` self$`edgeFilterThresholds` <- ZodiacEdgeFilterThresholds$new()$fromJSON(jsonlite::toJSON(this_object$`edgeFilterThresholds`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`gibbsSamplerParameters` <- ZodiacEpochs$new()$fromJSON(jsonlite::toJSON(this_object$`gibbsSamplerParameters`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`librarySearchAnchors` <- ZodiacLibraryScoring$new()$fromJSON(jsonlite::toJSON(this_object$`librarySearchAnchors`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`analogueSearchAnchors` <- ZodiacAnalogueNodes$new()$fromJSON(jsonlite::toJSON(this_object$`analogueSearchAnchors`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/zodiac_analogue_nodes.R b/client-api_r/generated/R/zodiac_analogue_nodes.R new file mode 100644 index 00000000..4a4b97c9 --- /dev/null +++ b/client-api_r/generated/R/zodiac_analogue_nodes.R @@ -0,0 +1,193 @@ +#' Create a new ZodiacAnalogueNodes +#' +#' @description +#' ZodiacAnalogueNodes Class +#' +#' @docType class +#' @title ZodiacAnalogueNodes +#' @description ZodiacAnalogueNodes Class +#' @format An \code{R6Class} generator object +#' @field enabled character [optional] +#' @field minSimilarity numeric [optional] +#' @field minSharedPeaks integer [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +ZodiacAnalogueNodes <- R6::R6Class( + "ZodiacAnalogueNodes", + public = list( + `enabled` = NULL, + `minSimilarity` = NULL, + `minSharedPeaks` = NULL, + + #' @description + #' Initialize a new ZodiacAnalogueNodes class. + #' + #' @param enabled enabled + #' @param minSimilarity minSimilarity + #' @param minSharedPeaks minSharedPeaks + #' @param ... Other optional arguments. + initialize = function(`enabled` = NULL, `minSimilarity` = NULL, `minSharedPeaks` = NULL, ...) { + if (!is.null(`enabled`)) { + if (!(is.logical(`enabled`) && length(`enabled`) == 1)) { + stop(paste("Error! Invalid data for `enabled`. Must be a boolean:", `enabled`)) + } + self$`enabled` <- `enabled` + } + if (!is.null(`minSimilarity`)) { + if (!(is.numeric(`minSimilarity`) && length(`minSimilarity`) == 1)) { + stop(paste("Error! Invalid data for `minSimilarity`. Must be a number:", `minSimilarity`)) + } + self$`minSimilarity` <- `minSimilarity` + } + if (!is.null(`minSharedPeaks`)) { + if (!(is.numeric(`minSharedPeaks`) && length(`minSharedPeaks`) == 1)) { + stop(paste("Error! Invalid data for `minSharedPeaks`. Must be an integer:", `minSharedPeaks`)) + } + self$`minSharedPeaks` <- `minSharedPeaks` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return ZodiacAnalogueNodes as a base R list. + #' @examples + #' # convert array of ZodiacAnalogueNodes (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert ZodiacAnalogueNodes to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + ZodiacAnalogueNodesObject <- list() + if (!is.null(self$`enabled`)) { + ZodiacAnalogueNodesObject[["enabled"]] <- + self$`enabled` + } + if (!is.null(self$`minSimilarity`)) { + ZodiacAnalogueNodesObject[["minSimilarity"]] <- + self$`minSimilarity` + } + if (!is.null(self$`minSharedPeaks`)) { + ZodiacAnalogueNodesObject[["minSharedPeaks"]] <- + self$`minSharedPeaks` + } + return(ZodiacAnalogueNodesObject) + }, + + #' @description + #' Deserialize JSON string into an instance of ZodiacAnalogueNodes + #' + #' @param input_json the JSON input + #' @return the instance of ZodiacAnalogueNodes + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`enabled`)) { + self$`enabled` <- this_object$`enabled` + } + if (!is.null(this_object$`minSimilarity`)) { + self$`minSimilarity` <- this_object$`minSimilarity` + } + if (!is.null(this_object$`minSharedPeaks`)) { + self$`minSharedPeaks` <- this_object$`minSharedPeaks` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return ZodiacAnalogueNodes in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of ZodiacAnalogueNodes + #' + #' @param input_json the JSON input + #' @return the instance of ZodiacAnalogueNodes + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`enabled` <- this_object$`enabled` + self$`minSimilarity` <- this_object$`minSimilarity` + self$`minSharedPeaks` <- this_object$`minSharedPeaks` + self + }, + + #' @description + #' Validate JSON input with respect to ZodiacAnalogueNodes and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of ZodiacAnalogueNodes + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# ZodiacAnalogueNodes$unlock() +# +## Below is an example to define the print function +# ZodiacAnalogueNodes$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# ZodiacAnalogueNodes$lock() + diff --git a/client-api_r/generated/R/zodiac_library_scoring.R b/client-api_r/generated/R/zodiac_library_scoring.R new file mode 100644 index 00000000..ae7c84cb --- /dev/null +++ b/client-api_r/generated/R/zodiac_library_scoring.R @@ -0,0 +1,176 @@ +#' Create a new ZodiacLibraryScoring +#' +#' @description +#' ZodiacLibraryScoring Class +#' +#' @docType class +#' @title ZodiacLibraryScoring +#' @description ZodiacLibraryScoring Class +#' @format An \code{R6Class} generator object +#' @field enabled character [optional] +#' @field minSimilarity numeric [optional] +#' @importFrom R6 R6Class +#' @importFrom jsonlite fromJSON toJSON +#' @export +ZodiacLibraryScoring <- R6::R6Class( + "ZodiacLibraryScoring", + public = list( + `enabled` = NULL, + `minSimilarity` = NULL, + + #' @description + #' Initialize a new ZodiacLibraryScoring class. + #' + #' @param enabled enabled + #' @param minSimilarity minSimilarity + #' @param ... Other optional arguments. + initialize = function(`enabled` = NULL, `minSimilarity` = NULL, ...) { + if (!is.null(`enabled`)) { + if (!(is.logical(`enabled`) && length(`enabled`) == 1)) { + stop(paste("Error! Invalid data for `enabled`. Must be a boolean:", `enabled`)) + } + self$`enabled` <- `enabled` + } + if (!is.null(`minSimilarity`)) { + if (!(is.numeric(`minSimilarity`) && length(`minSimilarity`) == 1)) { + stop(paste("Error! Invalid data for `minSimilarity`. Must be a number:", `minSimilarity`)) + } + self$`minSimilarity` <- `minSimilarity` + } + }, + + #' @description + #' Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. + toJSON = function() { + .Deprecated(new = "toSimpleType", msg = "Use the '$toSimpleType()' method instead since that is more clearly named. Use '$toJSONString()' to get a JSON string") + return(self$toSimpleType()) + }, + + #' @description + #' Convert to a List + #' + #' Convert the R6 object to a list to work more easily with other tooling. + #' + #' @return ZodiacLibraryScoring as a base R list. + #' @examples + #' # convert array of ZodiacLibraryScoring (x) to a data frame + #' \dontrun{ + #' library(purrr) + #' library(tibble) + #' df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() + #' df + #' } + toList = function() { + return(self$toSimpleType()) + }, + + #' @description + #' Convert ZodiacLibraryScoring to a base R type + #' + #' @return A base R type, e.g. a list or numeric/character array. + toSimpleType = function() { + ZodiacLibraryScoringObject <- list() + if (!is.null(self$`enabled`)) { + ZodiacLibraryScoringObject[["enabled"]] <- + self$`enabled` + } + if (!is.null(self$`minSimilarity`)) { + ZodiacLibraryScoringObject[["minSimilarity"]] <- + self$`minSimilarity` + } + return(ZodiacLibraryScoringObject) + }, + + #' @description + #' Deserialize JSON string into an instance of ZodiacLibraryScoring + #' + #' @param input_json the JSON input + #' @return the instance of ZodiacLibraryScoring + fromJSON = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + if (!is.null(this_object$`enabled`)) { + self$`enabled` <- this_object$`enabled` + } + if (!is.null(this_object$`minSimilarity`)) { + self$`minSimilarity` <- this_object$`minSimilarity` + } + self + }, + + #' @description + #' To JSON String + #' + #' @param ... Parameters passed to `jsonlite::toJSON` + #' @return ZodiacLibraryScoring in JSON format + toJSONString = function(...) { + simple <- self$toSimpleType() + json <- jsonlite::toJSON(simple, auto_unbox = TRUE, digits = NA, null = 'null', ...) + return(as.character(jsonlite::minify(json))) + }, + + #' @description + #' Deserialize JSON string into an instance of ZodiacLibraryScoring + #' + #' @param input_json the JSON input + #' @return the instance of ZodiacLibraryScoring + fromJSONString = function(input_json) { + this_object <- jsonlite::fromJSON(input_json) + self$`enabled` <- this_object$`enabled` + self$`minSimilarity` <- this_object$`minSimilarity` + self + }, + + #' @description + #' Validate JSON input with respect to ZodiacLibraryScoring and throw an exception if invalid + #' + #' @param input the JSON input + validateJSON = function(input) { + input_json <- jsonlite::fromJSON(input) + }, + + #' @description + #' To string (JSON format) + #' + #' @return String representation of ZodiacLibraryScoring + toString = function() { + self$toJSONString() + }, + + #' @description + #' Return true if the values in all fields are valid. + #' + #' @return true if the values in all fields are valid. + isValid = function() { + TRUE + }, + + #' @description + #' Return a list of invalid fields (if any). + #' + #' @return A list of invalid fields (if any). + getInvalidFields = function() { + invalid_fields <- list() + invalid_fields + }, + + #' @description + #' Print the object + print = function() { + print(jsonlite::prettify(self$toJSONString())) + invisible(self) + } + ), + # Lock the class to prevent modifications to the method or field + lock_class = TRUE +) +## Uncomment below to unlock the class to allow modifications of the method or field +# ZodiacLibraryScoring$unlock() +# +## Below is an example to define the print function +# ZodiacLibraryScoring$set("public", "print", function(...) { +# print(jsonlite::prettify(self$toJSONString())) +# invisible(self) +# }) +## Uncomment below to lock the class to prevent modifications to the method or field +# ZodiacLibraryScoring$lock() + diff --git a/client-api_r/generated/README.md b/client-api_r/generated/README.md index d0f3c815..90ee3556 100644 --- a/client-api_r/generated/README.md +++ b/client-api_r/generated/README.md @@ -75,60 +75,81 @@ Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- *ActuatorApi* | [**Health**](docs/ActuatorApi.md#Health) | **GET** /actuator/health | Actuator web endpoint 'health' *ActuatorApi* | [**Shutdown**](docs/ActuatorApi.md#Shutdown) | **POST** /actuator/shutdown | Actuator web endpoint 'shutdown' +*CompoundStatisticsApi* | [**ComputeCompoundFoldChangesExperimental**](docs/CompoundStatisticsApi.md#ComputeCompoundFoldChangesExperimental) | **PUT** /api/projects/{projectId}/compounds/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +*CompoundStatisticsApi* | [**DeleteCompoundFoldChangesExperimental**](docs/CompoundStatisticsApi.md#DeleteCompoundFoldChangesExperimental) | **DELETE** /api/projects/{projectId}/compounds/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +*CompoundStatisticsApi* | [**GetCompoundFoldChangeTableExperimental**](docs/CompoundStatisticsApi.md#GetCompoundFoldChangeTableExperimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +*CompoundStatisticsApi* | [**GetFoldChangesByCompoundExperimental**](docs/CompoundStatisticsApi.md#GetFoldChangesByCompoundExperimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object *CompoundsApi* | [**AddCompounds**](docs/CompoundsApi.md#AddCompounds) | **POST** /api/projects/{projectId}/compounds | Import Compounds and its contained features. +*CompoundsApi* | [**AddTagsToCompoundExperimental**](docs/CompoundsApi.md#AddTagsToCompoundExperimental) | **PUT** /api/projects/{projectId}/compounds/tags/{compoundId} | [EXPERIMENTAL] Tags with the same name will be overwritten *CompoundsApi* | [**DeleteCompound**](docs/CompoundsApi.md#DeleteCompound) | **DELETE** /api/projects/{projectId}/compounds/{compoundId} | Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. *CompoundsApi* | [**GetCompound**](docs/CompoundsApi.md#GetCompound) | **GET** /api/projects/{projectId}/compounds/{compoundId} | Get compound (group of ion identities) with the given identifier from the specified project-space. -*CompoundsApi* | [**GetCompoundTracesExperimental**](docs/CompoundsApi.md#GetCompoundTracesExperimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +*CompoundsApi* | [**GetCompoundQuantTableExperimental**](docs/CompoundsApi.md#GetCompoundQuantTableExperimental) | **GET** /api/projects/{projectId}/compounds/quant-table | [EXPERIMENTAL] Returns the full quantification table of compounds +*CompoundsApi* | [**GetCompoundQuantTableRowExperimental**](docs/CompoundsApi.md#GetCompoundQuantTableRowExperimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given compound +*CompoundsApi* | [**GetCompoundTracesExperimental**](docs/CompoundsApi.md#GetCompoundTracesExperimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | [EXPERIMENTAL] Returns the traces of the given compound *CompoundsApi* | [**GetCompounds**](docs/CompoundsApi.md#GetCompounds) | **GET** /api/projects/{projectId}/compounds | List of all available compounds (group of ion identities) in the given project-space. +*CompoundsApi* | [**GetCompoundsByGroupExperimental**](docs/CompoundsApi.md#GetCompoundsByGroupExperimental) | **GET** /api/projects/{projectId}/compounds/grouped | [EXPERIMENTAL] Get compounds (group of ion identities) by tag group +*CompoundsApi* | [**GetCompoundsByTagExperimental**](docs/CompoundsApi.md#GetCompoundsByTagExperimental) | **GET** /api/projects/{projectId}/compounds/tagged | [EXPERIMENTAL] Get compounds (group of ion identities) by tag *CompoundsApi* | [**GetCompoundsPaged**](docs/CompoundsApi.md#GetCompoundsPaged) | **GET** /api/projects/{projectId}/compounds/page | Page of available compounds (group of ion identities) in the given project-space. +*CompoundsApi* | [**GetTagsForCompoundExperimental**](docs/CompoundsApi.md#GetTagsForCompoundExperimental) | **GET** /api/projects/{projectId}/compounds/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Compound +*CompoundsApi* | [**RemoveTagFromCompoundExperimental**](docs/CompoundsApi.md#RemoveTagFromCompoundExperimental) | **DELETE** /api/projects/{projectId}/compounds/tags/{compoundId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space +*FeatureStatisticsApi* | [**ComputeAlignedFeatureFoldChangesExperimental**](docs/FeatureStatisticsApi.md#ComputeAlignedFeatureFoldChangesExperimental) | **PUT** /api/projects/{projectId}/aligned-features/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +*FeatureStatisticsApi* | [**DeleteAlignedFeatureFoldChangesExperimental**](docs/FeatureStatisticsApi.md#DeleteAlignedFeatureFoldChangesExperimental) | **DELETE** /api/projects/{projectId}/aligned-features/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +*FeatureStatisticsApi* | [**GetAlignedFeatureFoldChangeTableExperimental**](docs/FeatureStatisticsApi.md#GetAlignedFeatureFoldChangeTableExperimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +*FeatureStatisticsApi* | [**GetFoldChangesByAlignedFeatureExperimental**](docs/FeatureStatisticsApi.md#GetFoldChangesByAlignedFeatureExperimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object *FeaturesApi* | [**AddAlignedFeatures**](docs/FeaturesApi.md#AddAlignedFeatures) | **POST** /api/projects/{projectId}/aligned-features | Import (aligned) features into the project. +*FeaturesApi* | [**AddDeNovoStructureCandidate**](docs/FeaturesApi.md#AddDeNovoStructureCandidate) | **PUT** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +*FeaturesApi* | [**AddTagsToAlignedFeatureExperimental**](docs/FeaturesApi.md#AddTagsToAlignedFeatureExperimental) | **PUT** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId} | [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project *FeaturesApi* | [**DeleteAlignedFeature**](docs/FeaturesApi.md#DeleteAlignedFeature) | **DELETE** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Delete feature (aligned over runs) with the given identifier from the specified project-space. *FeaturesApi* | [**DeleteAlignedFeatures**](docs/FeaturesApi.md#DeleteAlignedFeatures) | **PUT** /api/projects/{projectId}/aligned-features/delete | Delete feature (aligned over runs) with the given identifier from the specified project-space. -*FeaturesApi* | [**GetAdductNetworkWithMergedTracesExperimental**](docs/FeaturesApi.md#GetAdductNetworkWithMergedTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +*FeaturesApi* | [**GetAdductNetworkWithMergedTracesExperimental**](docs/FeaturesApi.md#GetAdductNetworkWithMergedTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network *FeaturesApi* | [**GetAlignedFeature**](docs/FeaturesApi.md#GetAlignedFeature) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Get feature (aligned over runs) with the given identifier from the specified project-space. +*FeaturesApi* | [**GetAlignedFeatureQualityExperimental**](docs/FeaturesApi.md#GetAlignedFeatureQualityExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) *FeaturesApi* | [**GetAlignedFeatures**](docs/FeaturesApi.md#GetAlignedFeatures) | **GET** /api/projects/{projectId}/aligned-features | Get all available features (aligned over runs) in the given project-space. +*FeaturesApi* | [**GetAlignedFeaturesByGroupExperimental**](docs/FeaturesApi.md#GetAlignedFeaturesByGroupExperimental) | **GET** /api/projects/{projectId}/aligned-features/grouped | [EXPERIMENTAL] Get features (aligned over runs) by tag group +*FeaturesApi* | [**GetAlignedFeaturesByTagExperimental**](docs/FeaturesApi.md#GetAlignedFeaturesByTagExperimental) | **GET** /api/projects/{projectId}/aligned-features/tagged | [EXPERIMENTAL] Get features (aligned over runs) by tag *FeaturesApi* | [**GetAlignedFeaturesPaged**](docs/FeaturesApi.md#GetAlignedFeaturesPaged) | **GET** /api/projects/{projectId}/aligned-features/page | Get all available features (aligned over runs) in the given project-space. -*FeaturesApi* | [**GetAlignedFeaturesQualityExperimental**](docs/FeaturesApi.md#GetAlignedFeaturesQualityExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -*FeaturesApi* | [**GetBestMatchingCompoundClasses**](docs/FeaturesApi.md#GetBestMatchingCompoundClasses) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +*FeaturesApi* | [**GetBestMatchingCompoundClasses**](docs/FeaturesApi.md#GetBestMatchingCompoundClasses) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Return Best matching compound classes for given formulaId *FeaturesApi* | [**GetCanopusPrediction**](docs/FeaturesApi.md#GetCanopusPrediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction | All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, *FeaturesApi* | [**GetDeNovoStructureCandidates**](docs/FeaturesApi.md#GetDeNovoStructureCandidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. *FeaturesApi* | [**GetDeNovoStructureCandidatesByFormula**](docs/FeaturesApi.md#GetDeNovoStructureCandidatesByFormula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. *FeaturesApi* | [**GetDeNovoStructureCandidatesByFormulaPaged**](docs/FeaturesApi.md#GetDeNovoStructureCandidatesByFormulaPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. *FeaturesApi* | [**GetDeNovoStructureCandidatesPaged**](docs/FeaturesApi.md#GetDeNovoStructureCandidatesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -*FeaturesApi* | [**GetFingerprintPrediction**](docs/FeaturesApi.md#GetFingerprintPrediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. -*FeaturesApi* | [**GetFormulaAnnotatedMsMsData**](docs/FeaturesApi.md#GetFormulaAnnotatedMsMsData) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. -*FeaturesApi* | [**GetFormulaAnnotatedSpectrum**](docs/FeaturesApi.md#GetFormulaAnnotatedSpectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +*FeaturesApi* | [**GetFeatureQuantTableExperimental**](docs/FeaturesApi.md#GetFeatureQuantTableExperimental) | **GET** /api/projects/{projectId}/aligned-features/quant-table | [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +*FeaturesApi* | [**GetFingerprintPrediction**](docs/FeaturesApi.md#GetFingerprintPrediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) +*FeaturesApi* | [**GetFormulaAnnotatedMsMsData**](docs/FeaturesApi.md#GetFormulaAnnotatedMsMsData) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId +*FeaturesApi* | [**GetFormulaAnnotatedSpectrum**](docs/FeaturesApi.md#GetFormulaAnnotatedSpectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e *FeaturesApi* | [**GetFormulaCandidate**](docs/FeaturesApi.md#GetFormulaCandidate) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId} | FormulaResultContainers for the given 'formulaId' with minimal information. *FeaturesApi* | [**GetFormulaCandidates**](docs/FeaturesApi.md#GetFormulaCandidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas | List of FormulaResultContainers available for this feature with minimal information. *FeaturesApi* | [**GetFormulaCandidatesPaged**](docs/FeaturesApi.md#GetFormulaCandidatesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page | Page of FormulaResultContainers available for this feature with minimal information. -*FeaturesApi* | [**GetFragTree**](docs/FeaturesApi.md#GetFragTree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). -*FeaturesApi* | [**GetIsotopePatternAnnotation**](docs/FeaturesApi.md#GetIsotopePatternAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. -*FeaturesApi* | [**GetLipidAnnotation**](docs/FeaturesApi.md#GetLipidAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formula result identifier. +*FeaturesApi* | [**GetFragTree**](docs/FeaturesApi.md#GetFragTree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier +*FeaturesApi* | [**GetIsotopePatternAnnotation**](docs/FeaturesApi.md#GetIsotopePatternAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information for given formulaId +*FeaturesApi* | [**GetLipidAnnotation**](docs/FeaturesApi.md#GetLipidAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formulaId *FeaturesApi* | [**GetMsData**](docs/FeaturesApi.md#GetMsData) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data | Mass Spec data (input data) for the given 'alignedFeatureId' . -*FeaturesApi* | [**GetQuantificationExperimental**](docs/FeaturesApi.md#GetQuantificationExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -*FeaturesApi* | [**GetSpectralLibraryMatch**](docs/FeaturesApi.md#GetSpectralLibraryMatch) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | List of spectral library matches for the given 'alignedFeatureId'. +*FeaturesApi* | [**GetQuantTableRowExperimental**](docs/FeaturesApi.md#GetQuantTableRowExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) +*FeaturesApi* | [**GetSpectralLibraryMatch**](docs/FeaturesApi.md#GetSpectralLibraryMatch) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | Spectral library match for the given 'alignedFeatureId'. *FeaturesApi* | [**GetSpectralLibraryMatches**](docs/FeaturesApi.md#GetSpectralLibraryMatches) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches | List of spectral library matches for the given 'alignedFeatureId'. *FeaturesApi* | [**GetSpectralLibraryMatchesPaged**](docs/FeaturesApi.md#GetSpectralLibraryMatchesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page | Page of spectral library matches for the given 'alignedFeatureId'. *FeaturesApi* | [**GetSpectralLibraryMatchesSummary**](docs/FeaturesApi.md#GetSpectralLibraryMatchesSummary) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary | Summarize matched reference spectra for the given 'alignedFeatureId'. -*FeaturesApi* | [**GetStructureAnnotatedMsDataExperimental**](docs/FeaturesApi.md#GetStructureAnnotatedMsDataExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. -*FeaturesApi* | [**GetStructureAnnotatedSpectrumExperimental**](docs/FeaturesApi.md#GetStructureAnnotatedSpectrumExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +*FeaturesApi* | [**GetStructureAnnotatedMsDataExperimental**](docs/FeaturesApi.md#GetStructureAnnotatedMsDataExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey +*FeaturesApi* | [**GetStructureAnnotatedSpectralLibraryMatchExperimental**](docs/FeaturesApi.md#GetStructureAnnotatedSpectralLibraryMatchExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated | [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +*FeaturesApi* | [**GetStructureAnnotatedSpectrumExperimental**](docs/FeaturesApi.md#GetStructureAnnotatedSpectrumExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey *FeaturesApi* | [**GetStructureCandidates**](docs/FeaturesApi.md#GetStructureCandidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures | List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. *FeaturesApi* | [**GetStructureCandidatesByFormula**](docs/FeaturesApi.md#GetStructureCandidatesByFormula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures | List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. *FeaturesApi* | [**GetStructureCandidatesByFormulaPaged**](docs/FeaturesApi.md#GetStructureCandidatesByFormulaPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page | Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. *FeaturesApi* | [**GetStructureCandidatesPaged**](docs/FeaturesApi.md#GetStructureCandidatesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page | Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. -*FeaturesApi* | [**GetTracesExperimental**](docs/FeaturesApi.md#GetTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -*GuiApi* | [**CloseGui**](docs/GuiApi.md#CloseGui) | **DELETE** /api/projects/{projectId}/gui | Close GUI instance of given project-space if available. -*GuiApi* | [**GetGuis**](docs/GuiApi.md#GetGuis) | **GET** /api/guis | Get list of currently running gui windows, managed by this SIRIUS instance. -*GuiApi* | [**OpenGui**](docs/GuiApi.md#OpenGui) | **POST** /api/projects/{projectId}/gui | Open GUI instance on specified project-space and bring the GUI window to foreground. +*FeaturesApi* | [**GetTagsForAlignedFeaturesExperimental**](docs/FeaturesApi.md#GetTagsForAlignedFeaturesExperimental) | **GET** /api/projects/{projectId}/aligned-features/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Object +*FeaturesApi* | [**GetTracesExperimental**](docs/FeaturesApi.md#GetTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) +*FeaturesApi* | [**RemoveTagFromAlignedFeatureExperimental**](docs/FeaturesApi.md#RemoveTagFromAlignedFeatureExperimental) | **DELETE** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space *InfoApi* | [**GetConnectionCheck**](docs/InfoApi.md#GetConnectionCheck) | **GET** /api/connection-status | *InfoApi* | [**GetInfo**](docs/InfoApi.md#GetInfo) | **GET** /api/info | *JobsApi* | [**DeleteJob**](docs/JobsApi.md#DeleteJob) | **DELETE** /api/projects/{projectId}/jobs/{jobId} | Delete job. *JobsApi* | [**DeleteJobConfig**](docs/JobsApi.md#DeleteJobConfig) | **DELETE** /api/job-configs/{name} | Delete job configuration with given name. *JobsApi* | [**DeleteJobs**](docs/JobsApi.md#DeleteJobs) | **DELETE** /api/projects/{projectId}/jobs | * Delete ALL jobs. +*JobsApi* | [**GetCommand**](docs/JobsApi.md#GetCommand) | **POST** /api/job-configs/get-command | Get a CLI command for the given job configuration. *JobsApi* | [**GetDefaultJobConfig**](docs/JobsApi.md#GetDefaultJobConfig) | **GET** /api/default-job-config | Request default job configuration *JobsApi* | [**GetJob**](docs/JobsApi.md#GetJob) | **GET** /api/projects/{projectId}/jobs/{jobId} | Get job information and its current state and progress (if available). *JobsApi* | [**GetJobConfig**](docs/JobsApi.md#GetJobConfig) | **GET** /api/job-configs/{name} | Request job configuration with given name. -*JobsApi* | [**GetJobConfigNames**](docs/JobsApi.md#GetJobConfigNames) | **GET** /api/job-config-names | DEPRECATED: use /job-configs to get all configs with names. +*JobsApi* | [**GetJobConfigNames**](docs/JobsApi.md#GetJobConfigNames) | **GET** /api/job-config-names | [DEPRECATED] Get all (non-default) job configuration names *JobsApi* | [**GetJobConfigs**](docs/JobsApi.md#GetJobConfigs) | **GET** /api/job-configs | Request all available job configurations *JobsApi* | [**GetJobs**](docs/JobsApi.md#GetJobs) | **GET** /api/projects/{projectId}/jobs | Get List of all available jobs with information such as current state and progress (if available). *JobsApi* | [**GetJobsPaged**](docs/JobsApi.md#GetJobsPaged) | **GET** /api/projects/{projectId}/jobs/page | Get Page of jobs with information such as current state and progress (if available). @@ -145,7 +166,7 @@ Class | Method | HTTP request | Description *LoginAndAccountApi* | [**OpenPortal**](docs/LoginAndAccountApi.md#OpenPortal) | **GET** /api/account/openPortal | Open User portal in browser. *LoginAndAccountApi* | [**SelectSubscription**](docs/LoginAndAccountApi.md#SelectSubscription) | **PUT** /api/account/subscriptions/select-active | Select a subscription as active subscription to be used for computations. *LoginAndAccountApi* | [**SignUp**](docs/LoginAndAccountApi.md#SignUp) | **GET** /api/account/signUp | Open SignUp window in system browser and return signUp link. -*ProjectsApi* | [**CloseProject**](docs/ProjectsApi.md#CloseProject) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from application +*ProjectsApi* | [**CloseProject**](docs/ProjectsApi.md#CloseProject) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from the application *ProjectsApi* | [**CreateProject**](docs/ProjectsApi.md#CreateProject) | **POST** /api/projects/{projectId} | Create and open a new project-space at given location and make it accessible via the given projectId. *ProjectsApi* | [**GetCanopusClassyFireData**](docs/ProjectsApi.md#GetCanopusClassyFireData) | **GET** /api/projects/{projectId}/cf-data | Get CANOPUS prediction vector definition for ClassyFire classes *ProjectsApi* | [**GetCanopusNpcData**](docs/ProjectsApi.md#GetCanopusNpcData) | **GET** /api/projects/{projectId}/npc-data | Get CANOPUS prediction vector definition for NPC classes @@ -157,6 +178,14 @@ Class | Method | HTTP request | Description *ProjectsApi* | [**ImportPreprocessedData**](docs/ProjectsApi.md#ImportPreprocessedData) | **POST** /api/projects/{projectId}/import/preprocessed-data-files | Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) *ProjectsApi* | [**ImportPreprocessedDataAsJob**](docs/ProjectsApi.md#ImportPreprocessedDataAsJob) | **POST** /api/projects/{projectId}/import/preprocessed-data-files-job | Import ms/ms data from the given format into the specified project-space as background job. *ProjectsApi* | [**OpenProject**](docs/ProjectsApi.md#OpenProject) | **PUT** /api/projects/{projectId} | Open an existing project-space and make it accessible via the given projectId. +*RunsApi* | [**AddTagsToRunExperimental**](docs/RunsApi.md#AddTagsToRunExperimental) | **PUT** /api/projects/{projectId}/runs/tags/{runId} | [EXPERIMENTAL] Add tags to a run in the project +*RunsApi* | [**ComputeFoldChangeForBlankSubtraction**](docs/RunsApi.md#ComputeFoldChangeForBlankSubtraction) | **PUT** /api/projects/{projectId}/runs/blanksubtract/compute | **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +*RunsApi* | [**GetRunExperimental**](docs/RunsApi.md#GetRunExperimental) | **GET** /api/projects/{projectId}/runs/{runId} | [EXPERIMENTAL] Get run with the given identifier from the specified project-space +*RunsApi* | [**GetRunPageExperimental**](docs/RunsApi.md#GetRunPageExperimental) | **GET** /api/projects/{projectId}/runs/page | [EXPERIMENTAL] Get all available runs in the given project-space +*RunsApi* | [**GetRunsByGroupExperimental**](docs/RunsApi.md#GetRunsByGroupExperimental) | **GET** /api/projects/{projectId}/runs/grouped | [EXPERIMENTAL] Get runs by tag group +*RunsApi* | [**GetRunsByTagExperimental**](docs/RunsApi.md#GetRunsByTagExperimental) | **GET** /api/projects/{projectId}/runs/tagged | [EXPERIMENTAL] Get runs by tag +*RunsApi* | [**GetTagsForRunExperimental**](docs/RunsApi.md#GetTagsForRunExperimental) | **GET** /api/projects/{projectId}/runs/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Run +*RunsApi* | [**RemoveTagFromRunExperimental**](docs/RunsApi.md#RemoveTagFromRunExperimental) | **DELETE** /api/projects/{projectId}/runs/tags/{runId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space *SearchableDatabasesApi* | [**AddDatabases**](docs/SearchableDatabasesApi.md#AddDatabases) | **POST** /api/databases | DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. *SearchableDatabasesApi* | [**CreateDatabase**](docs/SearchableDatabasesApi.md#CreateDatabase) | **POST** /api/databases/{databaseId} | *SearchableDatabasesApi* | [**GetCustomDatabases**](docs/SearchableDatabasesApi.md#GetCustomDatabases) | **GET** /api/databases/custom | @@ -166,6 +195,15 @@ Class | Method | HTTP request | Description *SearchableDatabasesApi* | [**ImportIntoDatabase**](docs/SearchableDatabasesApi.md#ImportIntoDatabase) | **POST** /api/databases/{databaseId}/import/from-files | Start import of structure and spectra files into the specified database. *SearchableDatabasesApi* | [**RemoveDatabase**](docs/SearchableDatabasesApi.md#RemoveDatabase) | **DELETE** /api/databases/{databaseId} | *SearchableDatabasesApi* | [**UpdateDatabase**](docs/SearchableDatabasesApi.md#UpdateDatabase) | **PUT** /api/databases/{databaseId} | +*TagsApi* | [**AddGroup**](docs/TagsApi.md#AddGroup) | **POST** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Group tags in the project +*TagsApi* | [**AddPossibleValuesToTagDefinition**](docs/TagsApi.md#AddPossibleValuesToTagDefinition) | **PATCH** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Add a possible value to the tag definition in the project +*TagsApi* | [**CreateTags**](docs/TagsApi.md#CreateTags) | **PUT** /api/projects/{projectId}/tags | [EXPERIMENTAL] Add tags to the project +*TagsApi* | [**DeleteGroup**](docs/TagsApi.md#DeleteGroup) | **DELETE** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +*TagsApi* | [**DeleteTag**](docs/TagsApi.md#DeleteTag) | **DELETE** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +*TagsApi* | [**GetGroupByName**](docs/TagsApi.md#GetGroupByName) | **GET** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Get tag group by name in the given project-space +*TagsApi* | [**GetGroups**](docs/TagsApi.md#GetGroups) | **GET** /api/projects/{projectId}/groups | [EXPERIMENTAL] Get all tag based groups in the given project-space +*TagsApi* | [**GetTag**](docs/TagsApi.md#GetTag) | **GET** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Get tag definition by its name in the given project-space +*TagsApi* | [**GetTags**](docs/TagsApi.md#GetTags) | **GET** /api/projects/{projectId}/tags | [EXPERIMENTAL] Get all tag definitions in the given project-space ## Documentation for Models @@ -177,6 +215,7 @@ Class | Method | HTTP request | Description - [AdductNodeExperimental](docs/AdductNodeExperimental.md) - [AlignedFeature](docs/AlignedFeature.md) - [AlignedFeatureQualityExperimental](docs/AlignedFeatureQualityExperimental.md) + - [AllowedFeatures](docs/AllowedFeatures.md) - [AnnotatedMsMsData](docs/AnnotatedMsMsData.md) - [AnnotatedPeak](docs/AnnotatedPeak.md) - [AnnotatedSpectrum](docs/AnnotatedSpectrum.md) @@ -184,6 +223,8 @@ Class | Method | HTTP request | Description - [BackgroundComputationsStateEvent](docs/BackgroundComputationsStateEvent.md) - [BasicSpectrum](docs/BasicSpectrum.md) - [BinaryFingerprint](docs/BinaryFingerprint.md) + - [BioTransformerParameters](docs/BioTransformerParameters.md) + - [BioTransformerSequenceStep](docs/BioTransformerSequenceStep.md) - [Canopus](docs/Canopus.md) - [CanopusPrediction](docs/CanopusPrediction.md) - [Category](docs/Category.md) @@ -202,10 +243,10 @@ Class | Method | HTTP request | Description - [FeatureAnnotations](docs/FeatureAnnotations.md) - [FeatureImport](docs/FeatureImport.md) - [FingerprintPrediction](docs/FingerprintPrediction.md) + - [FoldChange](docs/FoldChange.md) - [FormulaCandidate](docs/FormulaCandidate.md) - [FragmentNode](docs/FragmentNode.md) - [FragmentationTree](docs/FragmentationTree.md) - - [GuiInfo](docs/GuiInfo.md) - [ImportResult](docs/ImportResult.md) - [Info](docs/Info.md) - [IsotopePatternAnnotation](docs/IsotopePatternAnnotation.md) @@ -223,23 +264,31 @@ Class | Method | HTTP request | Description - [PagedModelCompound](docs/PagedModelCompound.md) - [PagedModelFormulaCandidate](docs/PagedModelFormulaCandidate.md) - [PagedModelJob](docs/PagedModelJob.md) + - [PagedModelRun](docs/PagedModelRun.md) - [PagedModelSpectralLibraryMatch](docs/PagedModelSpectralLibraryMatch.md) - [PagedModelStructureCandidateFormula](docs/PagedModelStructureCandidateFormula.md) - [PagedModelStructureCandidateScored](docs/PagedModelStructureCandidateScored.md) - [ParentPeak](docs/ParentPeak.md) - [PeakAnnotation](docs/PeakAnnotation.md) + - [PeakPair](docs/PeakPair.md) - [ProjectChangeEvent](docs/ProjectChangeEvent.md) - [ProjectInfo](docs/ProjectInfo.md) - [QualityItem](docs/QualityItem.md) - - [QuantificationTableExperimental](docs/QuantificationTableExperimental.md) + - [QuantTableExperimental](docs/QuantTableExperimental.md) + - [Run](docs/Run.md) + - [RunOptField](docs/RunOptField.md) + - [SampleTypeFoldChangeRequest](docs/SampleTypeFoldChangeRequest.md) - [SearchableDatabase](docs/SearchableDatabase.md) - [SearchableDatabaseParameters](docs/SearchableDatabaseParameters.md) + - [SecurityContext](docs/SecurityContext.md) + - [SecurityContextPrincipal](docs/SecurityContextPrincipal.md) - [SimplePeak](docs/SimplePeak.md) - [Sirius](docs/Sirius.md) - [SpectralLibraryMatch](docs/SpectralLibraryMatch.md) - [SpectralLibraryMatchSummary](docs/SpectralLibraryMatchSummary.md) - [SpectralLibrarySearch](docs/SpectralLibrarySearch.md) - [SpectrumAnnotation](docs/SpectrumAnnotation.md) + - [StatisticsTable](docs/StatisticsTable.md) - [StoredJobSubmission](docs/StoredJobSubmission.md) - [StructureCandidate](docs/StructureCandidate.md) - [StructureCandidateFormula](docs/StructureCandidateFormula.md) @@ -247,15 +296,22 @@ Class | Method | HTTP request | Description - [StructureDbSearch](docs/StructureDbSearch.md) - [Subscription](docs/Subscription.md) - [SubscriptionConsumables](docs/SubscriptionConsumables.md) + - [Tag](docs/Tag.md) + - [TagDefinition](docs/TagDefinition.md) + - [TagDefinitionImport](docs/TagDefinitionImport.md) + - [TagGroup](docs/TagGroup.md) - [Term](docs/Term.md) - [Timeout](docs/Timeout.md) - [TraceAnnotationExperimental](docs/TraceAnnotationExperimental.md) - [TraceExperimental](docs/TraceExperimental.md) - [TraceSetExperimental](docs/TraceSetExperimental.md) - [UseHeuristic](docs/UseHeuristic.md) + - [WebServerNamespace](docs/WebServerNamespace.md) - [Zodiac](docs/Zodiac.md) + - [ZodiacAnalogueNodes](docs/ZodiacAnalogueNodes.md) - [ZodiacEdgeFilterThresholds](docs/ZodiacEdgeFilterThresholds.md) - [ZodiacEpochs](docs/ZodiacEpochs.md) + - [ZodiacLibraryScoring](docs/ZodiacLibraryScoring.md) ## Documentation for Authorization diff --git a/client-api_r/generated/docs/ActuatorApi.md b/client-api_r/generated/docs/ActuatorApi.md index b68b4493..db4b6963 100644 --- a/client-api_r/generated/docs/ActuatorApi.md +++ b/client-api_r/generated/docs/ActuatorApi.md @@ -41,7 +41,7 @@ No authorization required ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/vnd.spring-boot.actuator.v3+json, application/json, application/vnd.spring-boot.actuator.v2+json + - **Accept**: application/vnd.spring-boot.actuator.v3+json, application/vnd.spring-boot.actuator.v2+json, application/json ### HTTP response details | Status code | Description | Response headers | @@ -49,7 +49,7 @@ No authorization required | **200** | OK | - | # **Shutdown** -> object Shutdown() +> Shutdown() Actuator web endpoint 'shutdown' @@ -61,10 +61,7 @@ library(Rsirius) # api_instance <- rsirius_api$new() -# to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$Shutdown(data_file = "result.txt") -result <- api_instance$actuator_api$Shutdown() -dput(result) +api_instance$actuator_api$Shutdown() ``` ### Parameters @@ -72,7 +69,7 @@ This endpoint does not need any parameter. ### Return type -**object** +void (empty response body) ### Authorization @@ -81,10 +78,11 @@ No authorization required ### HTTP request headers - **Content-Type**: Not defined - - **Accept**: application/vnd.spring-boot.actuator.v3+json, application/json, application/vnd.spring-boot.actuator.v2+json + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | +| **204** | No Content | - | +| **400** | Bad Request | - | diff --git a/client-api_r/generated/docs/AlignedFeature.md b/client-api_r/generated/docs/AlignedFeature.md index 53552cf2..581f7821 100644 --- a/client-api_r/generated/docs/AlignedFeature.md +++ b/client-api_r/generated/docs/AlignedFeature.md @@ -18,10 +18,11 @@ Name | Type | Description | Notes **quality** | **character** | Quality of this feature. | [optional] [Enum: [NOT_APPLICABLE, LOWEST, BAD, DECENT, GOOD]] **hasMs1** | **character** | If true, the feature has at lease one MS1 spectrum | [optional] **hasMsMs** | **character** | If true, the feature has at lease one MS/MS spectrum | [optional] -**msData** | [**MsData**](MsData.md) | | [optional] -**topAnnotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] -**topAnnotationsDeNovo** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] +**msData** | [**MsData**](MsData.md) | Mass Spec data of this feature (input data) | [optional] +**topAnnotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. | [optional] +**topAnnotationsDeNovo** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. | [optional] **computing** | **character** | Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results | [optional] -**computedTools** | [**ComputedSubtools**](ComputedSubtools.md) | | [optional] +**computedTools** | [**ComputedSubtools**](ComputedSubtools.md) | Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. | [optional] +**tags** | [**map(Tag)**](Tag.md) | Key: tagName, value: tag | [optional] diff --git a/client-api_r/generated/docs/AllowedFeatures.md b/client-api_r/generated/docs/AllowedFeatures.md new file mode 100644 index 00000000..7a2db00e --- /dev/null +++ b/client-api_r/generated/docs/AllowedFeatures.md @@ -0,0 +1,14 @@ +# Rsirius::AllowedFeatures + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cli** | **character** | | [optional] +**api** | **character** | | [optional] +**deNovo** | **character** | | [optional] +**importMSRuns** | **character** | | [optional] +**importPeakLists** | **character** | | [optional] +**importCef** | **character** | | [optional] + + diff --git a/client-api_r/generated/docs/AnnotatedSpectrum.md b/client-api_r/generated/docs/AnnotatedSpectrum.md index f1e80598..694b5236 100644 --- a/client-api_r/generated/docs/AnnotatedSpectrum.md +++ b/client-api_r/generated/docs/AnnotatedSpectrum.md @@ -11,8 +11,14 @@ Name | Type | Description | Notes **instrument** | **character** | Instrument information. | [optional] **precursorMz** | **numeric** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scanNumber** | **integer** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] +**cosineQuery** | **character** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to FALSE] +**precursorPeak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] **peaks** | [**array[AnnotatedPeak]**](AnnotatedPeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | -**absIntensityFactor** | **numeric** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) | [optional] -**spectrumAnnotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | | [optional] +**absIntensityFactor** | **numeric** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] +**maxNormFactor** | **numeric** | Factor to convert absolute intensities to MAX norm. | [optional] +**sumNormFactor** | **numeric** | Factor to convert absolute intensities to SUM norm. | [optional] +**l2NormFactor** | **numeric** | Factor to convert absolute intensities to L2 (Euclidean) norm. | [optional] +**firstPeakNormFactor** | **numeric** | Factor to convert absolute intensities to normalize intensities by first peak intensity. | [optional] +**spectrumAnnotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | Optional Annotations of this spectrum. | [optional] diff --git a/client-api_r/generated/docs/BasicSpectrum.md b/client-api_r/generated/docs/BasicSpectrum.md index deff8dda..7bbcd2f0 100644 --- a/client-api_r/generated/docs/BasicSpectrum.md +++ b/client-api_r/generated/docs/BasicSpectrum.md @@ -10,7 +10,13 @@ Name | Type | Description | Notes **instrument** | **character** | Instrument information. | [optional] **precursorMz** | **numeric** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scanNumber** | **integer** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] +**cosineQuery** | **character** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to FALSE] +**precursorPeak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] **peaks** | [**array[SimplePeak]**](SimplePeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | -**absIntensityFactor** | **numeric** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) | [optional] +**absIntensityFactor** | **numeric** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] +**maxNormFactor** | **numeric** | Factor to convert absolute intensities to MAX norm. | [optional] +**sumNormFactor** | **numeric** | Factor to convert absolute intensities to SUM norm. | [optional] +**l2NormFactor** | **numeric** | Factor to convert absolute intensities to L2 (Euclidean) norm. | [optional] +**firstPeakNormFactor** | **numeric** | Factor to convert absolute intensities to normalize intensities by first peak intensity. | [optional] diff --git a/client-api_r/generated/docs/BioTransformerParameters.md b/client-api_r/generated/docs/BioTransformerParameters.md new file mode 100644 index 00000000..40e953e0 --- /dev/null +++ b/client-api_r/generated/docs/BioTransformerParameters.md @@ -0,0 +1,12 @@ +# Rsirius::BioTransformerParameters + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cyp450Mode** | **character** | Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode. | [default to "COMBINED"] [Enum: [RULE_BASED, CY_PRODUCT, COMBINED]] +**p2Mode** | **character** | Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode. | [default to "BT_RULE_BASED"] [Enum: [BT_RULE_BASED, P2_RULE_ONLY, COMBINED_RULES]] +**useDB** | **character** | \"Specify if you want to enable the retrieving from database (HMDB) feature.\" | [optional] [default to TRUE] +**bioTransformerSequenceSteps** | [**array[BioTransformerSequenceStep]**](BioTransformerSequenceStep.md) | Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one). | + + diff --git a/client-api_r/generated/docs/BioTransformerSequenceStep.md b/client-api_r/generated/docs/BioTransformerSequenceStep.md new file mode 100644 index 00000000..ac06c883 --- /dev/null +++ b/client-api_r/generated/docs/BioTransformerSequenceStep.md @@ -0,0 +1,10 @@ +# Rsirius::BioTransformerSequenceStep + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metabolicTransformation** | **character** | | [optional] [Enum: [PHASE_1_CYP450, EC_BASED, PHASE_2, HUMAN_GUT, ALL_HUMAN, ABIOTIC, HUMAN_CUSTOM_MULTI]] +**iterations** | **integer** | | [optional] + + diff --git a/client-api_r/generated/docs/Compound.md b/client-api_r/generated/docs/Compound.md index 18847339..ffb6681d 100644 --- a/client-api_r/generated/docs/Compound.md +++ b/client-api_r/generated/docs/Compound.md @@ -10,8 +10,9 @@ Name | Type | Description | Notes **rtEndSeconds** | **numeric** | The merged/consensus retention time end (latest rt) of this compound | [optional] **neutralMass** | **numeric** | Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass | [optional] **features** | [**array[AlignedFeature]**](AlignedFeature.md) | List of aligned features (adducts) that belong to the same (this) compound | [optional] -**consensusAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] -**consensusAnnotationsDeNovo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | | [optional] -**customAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] +**consensusAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] +**consensusAnnotationsDeNovo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] +**customAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | Alternative annotations selected by the User. | [optional] +**tags** | [**map(Tag)**](Tag.md) | Key: tagName, value: tag | [optional] diff --git a/client-api_r/generated/docs/CompoundClasses.md b/client-api_r/generated/docs/CompoundClasses.md index 8d1a4877..231fde3f 100644 --- a/client-api_r/generated/docs/CompoundClasses.md +++ b/client-api_r/generated/docs/CompoundClasses.md @@ -5,9 +5,9 @@ Container class that holds the most likely compound class for different levels o ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**npcPathway** | [**CompoundClass**](CompoundClass.md) | | [optional] -**npcSuperclass** | [**CompoundClass**](CompoundClass.md) | | [optional] -**npcClass** | [**CompoundClass**](CompoundClass.md) | | [optional] +**npcPathway** | [**CompoundClass**](CompoundClass.md) | Pathway level NPC class with the highest probability | [optional] +**npcSuperclass** | [**CompoundClass**](CompoundClass.md) | Superclass level NPC class with the highest probability | [optional] +**npcClass** | [**CompoundClass**](CompoundClass.md) | Class level NPC class with the highest probability | [optional] **classyFireLineage** | [**array[CompoundClass]**](CompoundClass.md) | Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation | [optional] **classyFireAlternatives** | [**array[CompoundClass]**](CompoundClass.md) | Alternative ClassyFire classes with high probability that do not fit into the linage | [optional] diff --git a/client-api_r/generated/docs/CompoundStatisticsApi.md b/client-api_r/generated/docs/CompoundStatisticsApi.md new file mode 100644 index 00000000..d082f6bc --- /dev/null +++ b/client-api_r/generated/docs/CompoundStatisticsApi.md @@ -0,0 +1,221 @@ +# CompoundStatisticsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**ComputeCompoundFoldChangesExperimental**](CompoundStatisticsApi.md#ComputeCompoundFoldChangesExperimental) | **PUT** /api/projects/{projectId}/compounds/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +[**DeleteCompoundFoldChangesExperimental**](CompoundStatisticsApi.md#DeleteCompoundFoldChangesExperimental) | **DELETE** /api/projects/{projectId}/compounds/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +[**GetCompoundFoldChangeTableExperimental**](CompoundStatisticsApi.md#GetCompoundFoldChangeTableExperimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +[**GetFoldChangesByCompoundExperimental**](CompoundStatisticsApi.md#GetFoldChangesByCompoundExperimental) | **GET** /api/projects/{projectId}/compounds/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object + + +# **ComputeCompoundFoldChangesExperimental** +> Job ComputeCompoundFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = [progress]) + +[EXPERIMENTAL] Compute the fold change between two groups of runs + +[EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Compute the fold change between two groups of runs +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +var_left_group_name <- "left_group_name_example" # character | name of the left tag group. +var_right_group_name <- "right_group_name_example" # character | name of the right tag group. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$ComputeCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$compound_statistics_api$ComputeCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to compute the fold change in. | + **left_group_name** | **character**| name of the left tag group. | + **right_group_name** | **character**| name of the right tag group. | + **aggregation** | Enum [AVG, MIN, MAX] | aggregation type. | [optional] [default to "AVG"] + **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_INTENSITY"] + **opt_fields** | Enum [none, command, progress, affectedIds] | job opt fields. | [optional] [default to [progress]] + +### Return type + +[**Job**](Job.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **DeleteCompoundFoldChangesExperimental** +> DeleteCompoundFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY") + +[EXPERIMENTAL] Delete fold changes + +[EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Delete fold changes +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_left_group_name <- "left_group_name_example" # character | name of the left group. +var_right_group_name <- "right_group_name_example" # character | name of the right group. +var_aggregation <- "AVG" # character | (Optional) +var_quantification <- "APEX_INTENSITY" # character | (Optional) + +api_instance <- rsirius_api$new() +api_instance$compound_statistics_api$DeleteCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **left_group_name** | **character**| name of the left group. | + **right_group_name** | **character**| name of the right group. | + **aggregation** | Enum [AVG, MIN, MAX] | | [optional] [default to "AVG"] + **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | | [optional] [default to "APEX_INTENSITY"] + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **GetCompoundFoldChangeTableExperimental** +> StatisticsTable GetCompoundFoldChangeTableExperimental(project_id, aggregation = "AVG", quantification = "APEX_INTENSITY") + +[EXPERIMENTAL] Get table of all fold changes in the project space + +[EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get table of all fold changes in the project space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantificationdata_file = "result.txt") +result <- api_instance$compound_statistics_api$GetCompoundFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantification) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **aggregation** | Enum [AVG, MIN, MAX] | aggregation type. | [optional] [default to "AVG"] + **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_INTENSITY"] + +### Return type + +[**StatisticsTable**](StatisticsTable.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | table of fold changes. | - | + +# **GetFoldChangesByCompoundExperimental** +> array[FoldChange] GetFoldChangesByCompoundExperimental(project_id, object_id) + +[EXPERIMENTAL] List all fold changes that are associated with an object + +[EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] List all fold changes that are associated with an object +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetFoldChangesByCompoundExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$compound_statistics_api$GetFoldChangesByCompoundExperimental(var_project_id, var_object_id) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **object_id** | **character**| id of the object the fold changes are assigned to. | + +### Return type + +[**array[FoldChange]**](FoldChange.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | fold changes | - | + diff --git a/client-api_r/generated/docs/CompoundsApi.md b/client-api_r/generated/docs/CompoundsApi.md index 451b09b5..3dbf1cd2 100644 --- a/client-api_r/generated/docs/CompoundsApi.md +++ b/client-api_r/generated/docs/CompoundsApi.md @@ -5,15 +5,22 @@ All URIs are relative to *http://localhost:8080* Method | HTTP request | Description ------------- | ------------- | ------------- [**AddCompounds**](CompoundsApi.md#AddCompounds) | **POST** /api/projects/{projectId}/compounds | Import Compounds and its contained features. +[**AddTagsToCompoundExperimental**](CompoundsApi.md#AddTagsToCompoundExperimental) | **PUT** /api/projects/{projectId}/compounds/tags/{compoundId} | [EXPERIMENTAL] Tags with the same name will be overwritten [**DeleteCompound**](CompoundsApi.md#DeleteCompound) | **DELETE** /api/projects/{projectId}/compounds/{compoundId} | Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. [**GetCompound**](CompoundsApi.md#GetCompound) | **GET** /api/projects/{projectId}/compounds/{compoundId} | Get compound (group of ion identities) with the given identifier from the specified project-space. -[**GetCompoundTracesExperimental**](CompoundsApi.md#GetCompoundTracesExperimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[**GetCompoundQuantTableExperimental**](CompoundsApi.md#GetCompoundQuantTableExperimental) | **GET** /api/projects/{projectId}/compounds/quant-table | [EXPERIMENTAL] Returns the full quantification table of compounds +[**GetCompoundQuantTableRowExperimental**](CompoundsApi.md#GetCompoundQuantTableRowExperimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given compound +[**GetCompoundTracesExperimental**](CompoundsApi.md#GetCompoundTracesExperimental) | **GET** /api/projects/{projectId}/compounds/{compoundId}/traces | [EXPERIMENTAL] Returns the traces of the given compound [**GetCompounds**](CompoundsApi.md#GetCompounds) | **GET** /api/projects/{projectId}/compounds | List of all available compounds (group of ion identities) in the given project-space. +[**GetCompoundsByGroupExperimental**](CompoundsApi.md#GetCompoundsByGroupExperimental) | **GET** /api/projects/{projectId}/compounds/grouped | [EXPERIMENTAL] Get compounds (group of ion identities) by tag group +[**GetCompoundsByTagExperimental**](CompoundsApi.md#GetCompoundsByTagExperimental) | **GET** /api/projects/{projectId}/compounds/tagged | [EXPERIMENTAL] Get compounds (group of ion identities) by tag [**GetCompoundsPaged**](CompoundsApi.md#GetCompoundsPaged) | **GET** /api/projects/{projectId}/compounds/page | Page of available compounds (group of ion identities) in the given project-space. +[**GetTagsForCompoundExperimental**](CompoundsApi.md#GetTagsForCompoundExperimental) | **GET** /api/projects/{projectId}/compounds/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Compound +[**RemoveTagFromCompoundExperimental**](CompoundsApi.md#RemoveTagFromCompoundExperimental) | **DELETE** /api/projects/{projectId}/compounds/tags/{compoundId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space # **AddCompounds** -> array[Compound] AddCompounds(project_id, compound_import, profile = var.profile, opt_fields = ["none"], opt_fields_features = ["none"]) +> array[Compound] AddCompounds(project_id, compound_import, profile = var.profile, opt_fields = [none], opt_fields_features = [none]) Import Compounds and its contained features. @@ -27,7 +34,7 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to import into. -var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123), c(BasicSpectrum$new(c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)), c(BasicSpectrum$new(c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported +var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | set of optional fields of the nested features to be included. Use 'none' to override defaults. (Optional) @@ -46,8 +53,8 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to import into. | **compound_import** | list( [**CompoundImport**](CompoundImport.md) )| the compound data to be imported | **profile** | Enum [QTOF, ORBITRAP] | profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] - **opt_fields_features** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] + **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to [none]] ### Return type @@ -67,6 +74,57 @@ No authorization required |-------------|-------------|------------------| | **200** | the Compounds that have been imported with specified optional fields | - | +# **AddTagsToCompoundExperimental** +> array[Tag] AddTagsToCompoundExperimental(project_id, compound_id, tag) + +[EXPERIMENTAL] Tags with the same name will be overwritten + +[EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Tags with the same name will be overwritten +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to add to. +var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. +var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddTagsToCompoundExperimental(var_project_id, var_compound_id, var_tagdata_file = "result.txt") +result <- api_instance$compounds_api$AddTagsToCompoundExperimental(var_project_id, var_compound_id, var_tag) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to add to. | + **compound_id** | **character**| compound (group of ion identities) to add tags to. | + **tag** | list( [**Tag**](Tag.md) )| tags to add. | + +### Return type + +[**array[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the tags that have been added | - | + # **DeleteCompound** > DeleteCompound(project_id, compound_id) @@ -114,7 +172,7 @@ No authorization required | **200** | OK | - | # **GetCompound** -> Compound GetCompound(project_id, compound_id, opt_fields = ["none"], opt_fields_features = ["none"]) +> Compound GetCompound(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = [none], opt_fields_features = [none]) Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -129,13 +187,14 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. var_compound_id <- "compound_id_example" # character | identifier of the compound (group of ion identities) to access. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetCompound(var_project_id, var_compound_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -result <- api_instance$compounds_api$GetCompound(var_project_id, var_compound_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +# result <- api_instance$GetCompound(var_project_id, var_compound_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompound(var_project_id, var_compound_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) dput(result) ``` @@ -145,8 +204,9 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **compound_id** | **character**| identifier of the compound (group of ion identities) to access. | - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] - **opt_fields_features** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | | [optional] [default to ["none"]] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | | [optional] [default to [none]] ### Return type @@ -166,18 +226,118 @@ No authorization required |-------------|-------------|------------------| | **200** | Compounds with additional optional fields (if specified). | - | +# **GetCompoundQuantTableExperimental** +> QuantTableExperimental GetCompoundQuantTableExperimental(project_id, type = "APEX_HEIGHT") + +[EXPERIMENTAL] Returns the full quantification table of compounds + +[EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Returns the full quantification table of compounds +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundQuantTableExperimental(var_project_id, type = var_typedata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundQuantTableExperimental(var_project_id, type = var_type) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **type** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_HEIGHT"] + +### Return type + +[**QuantTableExperimental**](QuantTableExperimental.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **GetCompoundQuantTableRowExperimental** +> QuantTableExperimental GetCompoundQuantTableRowExperimental(project_id, compound_id, type = "APEX_HEIGHT") + +[EXPERIMENTAL] Returns a single quantification table row for the given compound + +[EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Returns a single quantification table row for the given compound +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_compound_id <- "compound_id_example" # character | compound which should be read out +var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundQuantTableRowExperimental(var_project_id, var_compound_id, type = var_typedata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundQuantTableRowExperimental(var_project_id, var_compound_id, type = var_type) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **compound_id** | **character**| compound which should be read out | + **type** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_HEIGHT"] + +### Return type + +[**QuantTableExperimental**](QuantTableExperimental.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + # **GetCompoundTracesExperimental** > TraceSetExperimental GetCompoundTracesExperimental(project_id, compound_id, feature_id = "") -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given compound -Returns the traces of the given compound. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. +[EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* ### Example ```R library(Rsirius) -# EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +# [EXPERIMENTAL] Returns the traces of the given compound # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -218,7 +378,7 @@ No authorization required | **200** | Traces of the given compound. | - | # **GetCompounds** -> array[Compound] GetCompounds(project_id, opt_fields = ["none"], opt_fields_features = ["none"]) +> array[Compound] GetCompounds(project_id, ms_data_search_prepared = FALSE, opt_fields = ["none"], opt_fields_features = ["none"]) List of all available compounds (group of ion identities) in the given project-space. @@ -232,13 +392,14 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetCompounds(var_project_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -result <- api_instance$compounds_api$GetCompounds(var_project_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +# result <- api_instance$GetCompounds(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompounds(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) dput(result) ``` @@ -247,8 +408,9 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] - **opt_fields_features** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | | [optional] [default to ["none"]] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | | [optional] [default to ["none"]] ### Return type @@ -268,8 +430,122 @@ No authorization required |-------------|-------------|------------------| | **200** | Compounds with additional optional fields (if specified). | - | +# **GetCompoundsByGroupExperimental** +> PagedModelCompound GetCompoundsByGroupExperimental(project_id, group_name, page = 0, size = 20, sort = var.sort, opt_fields = [none]) + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag group + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get compounds (group of ion identities) by tag group +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | tag group name. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **group_name** | **character**| tag group name. | + **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **integer**| The size of the page to be returned | [optional] [default to 20] + **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + +### Return type + +[**PagedModelCompound**](PagedModelCompound.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | tagged compounds (group of ion identities) | - | + +# **GetCompoundsByTagExperimental** +> PagedModelCompound GetCompoundsByTagExperimental(project_id, filter = "", page = 0, size = 20, sort = var.sort, opt_fields = []) + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag + +[EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get compounds (group of ion identities) by tag +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project space to get compounds (group of ion identities) from. +var_filter <- "" # character | tag filter. (Optional) +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project space to get compounds (group of ion identities) from. | + **filter** | **character**| tag filter. | [optional] [default to ""] + **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **integer**| The size of the page to be returned | [optional] [default to 20] + **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelCompound**](PagedModelCompound.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | tagged compounds (group of ion identities) | - | + # **GetCompoundsPaged** -> PagedModelCompound GetCompoundsPaged(project_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"], opt_fields_features = ["none"]) +> PagedModelCompound GetCompoundsPaged(project_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = [none], opt_fields_features = [none]) Page of available compounds (group of ion identities) in the given project-space. @@ -286,13 +562,14 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -result <- api_instance$compounds_api$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +# result <- api_instance$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) dput(result) ``` @@ -304,8 +581,9 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] - **opt_fields_features** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | | [optional] [default to ["none"]] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | | [optional] [default to [none]] ### Return type @@ -325,3 +603,100 @@ No authorization required |-------------|-------------|------------------| | **200** | Compounds with additional optional fields (if specified). | - | +# **GetTagsForCompoundExperimental** +> array[Tag] GetTagsForCompoundExperimental(project_id, object_id) + +[EXPERIMENTAL] Get all tags associated with this Compound + +[EXPERIMENTAL] Get all tags associated with this Compound + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get all tags associated with this Compound +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to get from. +var_object_id <- "object_id_example" # character | CompoundId to get tags for. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTagsForCompoundExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$compounds_api$GetTagsForCompoundExperimental(var_project_id, var_object_id) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to get from. | + **object_id** | **character**| CompoundId to get tags for. | + +### Return type + +[**array[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the tags of the requested Compound | - | + +# **RemoveTagFromCompoundExperimental** +> RemoveTagFromCompoundExperimental(project_id, compound_id, tag_name) + +[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space + +[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to delete tag from. +var_tag_name <- "tag_name_example" # character | name of the tag to delete. + +api_instance <- rsirius_api$new() +api_instance$compounds_api$RemoveTagFromCompoundExperimental(var_project_id, var_compound_id, var_tag_name) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **compound_id** | **character**| compound (group of ion identities) to delete tag from. | + **tag_name** | **character**| name of the tag to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + diff --git a/client-api_r/generated/docs/ComputedSubtools.md b/client-api_r/generated/docs/ComputedSubtools.md index 2819b4a8..3b797bcc 100644 --- a/client-api_r/generated/docs/ComputedSubtools.md +++ b/client-api_r/generated/docs/ComputedSubtools.md @@ -1,6 +1,5 @@ # Rsirius::ComputedSubtools -Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. ## Properties Name | Type | Description | Notes diff --git a/client-api_r/generated/docs/ConsensusAnnotationsCSI.md b/client-api_r/generated/docs/ConsensusAnnotationsCSI.md index a2a8300b..cbc10fc2 100644 --- a/client-api_r/generated/docs/ConsensusAnnotationsCSI.md +++ b/client-api_r/generated/docs/ConsensusAnnotationsCSI.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecularFormula** | **character** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] **supportingFeatureIds** | **array[character]** | FeatureIds where the topAnnotation supports this annotation. | [optional] **selectionCriterion** | **character** | Null if this is a custom selection | [optional] [Enum: [MAJORITY_STRUCTURE, CONFIDENCE_STRUCTURE, SINGLETON_STRUCTURE, MAJORITY_FORMULA, TOP_FORMULA, SINGLETON_FORMULA]] -**csiFingerIdStructure** | [**StructureCandidate**](StructureCandidate.md) | | [optional] +**csiFingerIdStructure** | [**StructureCandidate**](StructureCandidate.md) | Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. | [optional] **confidenceExactMatch** | **numeric** | Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported | [optional] **confidenceApproxMatch** | **numeric** | Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported | [optional] diff --git a/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md b/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md index 2114f54f..2910257e 100644 --- a/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md +++ b/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecularFormula** | **character** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] **supportingFeatureIds** | **array[character]** | FeatureIds where the topAnnotation supports this annotation. | [optional] **selectionCriterion** | **character** | Criterion that was used to select the consensus annotation. | [optional] [Enum: [MAJORITY_FORMULA, TOP_FORMULA, SINGLETON_FORMULA]] diff --git a/client-api_r/generated/docs/FeatureAnnotations.md b/client-api_r/generated/docs/FeatureAnnotations.md index b6cf1354..de3bdc81 100644 --- a/client-api_r/generated/docs/FeatureAnnotations.md +++ b/client-api_r/generated/docs/FeatureAnnotations.md @@ -5,9 +5,9 @@ Summary of the results of a feature (aligned over runs). Can be added to a Align ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**formulaAnnotation** | [**FormulaCandidate**](FormulaCandidate.md) | | [optional] -**structureAnnotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | | [optional] -**compoundClassAnnotation** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**formulaAnnotation** | [**FormulaCandidate**](FormulaCandidate.md) | Best matching FormulaCandidate. | [optional] +**structureAnnotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. | [optional] +**compoundClassAnnotation** | [**CompoundClasses**](CompoundClasses.md) | Best matching compound classes that correspond to the formulaAnnotation | [optional] **confidenceExactMatch** | **numeric** | Confidence Score that represents the confidence whether the top hit is correct. | [optional] **confidenceApproxMatch** | **numeric** | Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. | [optional] **expansiveSearchState** | **character** | Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) | [optional] [Enum: [OFF, EXACT, APPROXIMATE]] diff --git a/client-api_r/generated/docs/FeatureImport.md b/client-api_r/generated/docs/FeatureImport.md index cc9339e2..67686932 100644 --- a/client-api_r/generated/docs/FeatureImport.md +++ b/client-api_r/generated/docs/FeatureImport.md @@ -14,7 +14,7 @@ Name | Type | Description | Notes **rtEndSeconds** | **numeric** | | [optional] **rtApexSeconds** | **numeric** | | [optional] **dataQuality** | **character** | A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. | [optional] [Enum: [NOT_APPLICABLE, LOWEST, BAD, DECENT, GOOD]] -**mergedMs1** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] +**mergedMs1** | [**BasicSpectrum**](BasicSpectrum.md) | Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. | [optional] **ms1Spectra** | [**array[BasicSpectrum]**](BasicSpectrum.md) | List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. | [optional] **ms2Spectra** | [**array[BasicSpectrum]**](BasicSpectrum.md) | List of MS/MS spectra that belong to this feature. | [optional] diff --git a/client-api_r/generated/docs/FeatureStatisticsApi.md b/client-api_r/generated/docs/FeatureStatisticsApi.md new file mode 100644 index 00000000..353ace3e --- /dev/null +++ b/client-api_r/generated/docs/FeatureStatisticsApi.md @@ -0,0 +1,221 @@ +# FeatureStatisticsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**ComputeAlignedFeatureFoldChangesExperimental**](FeatureStatisticsApi.md#ComputeAlignedFeatureFoldChangesExperimental) | **PUT** /api/projects/{projectId}/aligned-features/statistics/foldchange/compute | [EXPERIMENTAL] Compute the fold change between two groups of runs +[**DeleteAlignedFeatureFoldChangesExperimental**](FeatureStatisticsApi.md#DeleteAlignedFeatureFoldChangesExperimental) | **DELETE** /api/projects/{projectId}/aligned-features/statistics/foldchanges | [EXPERIMENTAL] Delete fold changes +[**GetAlignedFeatureFoldChangeTableExperimental**](FeatureStatisticsApi.md#GetAlignedFeatureFoldChangeTableExperimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table | [EXPERIMENTAL] Get table of all fold changes in the project space +[**GetFoldChangesByAlignedFeatureExperimental**](FeatureStatisticsApi.md#GetFoldChangesByAlignedFeatureExperimental) | **GET** /api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId} | [EXPERIMENTAL] List all fold changes that are associated with an object + + +# **ComputeAlignedFeatureFoldChangesExperimental** +> Job ComputeAlignedFeatureFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = [progress]) + +[EXPERIMENTAL] Compute the fold change between two groups of runs + +[EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Compute the fold change between two groups of runs +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +var_left_group_name <- "left_group_name_example" # character | name of the left tag group. +var_right_group_name <- "right_group_name_example" # character | name of the right tag group. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$ComputeAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$feature_statistics_api$ComputeAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to compute the fold change in. | + **left_group_name** | **character**| name of the left tag group. | + **right_group_name** | **character**| name of the right tag group. | + **aggregation** | Enum [AVG, MIN, MAX] | aggregation type. | [optional] [default to "AVG"] + **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_INTENSITY"] + **opt_fields** | Enum [none, command, progress, affectedIds] | job opt fields. | [optional] [default to [progress]] + +### Return type + +[**Job**](Job.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **DeleteAlignedFeatureFoldChangesExperimental** +> DeleteAlignedFeatureFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY") + +[EXPERIMENTAL] Delete fold changes + +[EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Delete fold changes +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_left_group_name <- "left_group_name_example" # character | name of the left group. +var_right_group_name <- "right_group_name_example" # character | name of the right group. +var_aggregation <- "AVG" # character | (Optional) +var_quantification <- "APEX_INTENSITY" # character | (Optional) + +api_instance <- rsirius_api$new() +api_instance$feature_statistics_api$DeleteAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **left_group_name** | **character**| name of the left group. | + **right_group_name** | **character**| name of the right group. | + **aggregation** | Enum [AVG, MIN, MAX] | | [optional] [default to "AVG"] + **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | | [optional] [default to "APEX_INTENSITY"] + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **GetAlignedFeatureFoldChangeTableExperimental** +> StatisticsTable GetAlignedFeatureFoldChangeTableExperimental(project_id, aggregation = "AVG", quantification = "APEX_INTENSITY") + +[EXPERIMENTAL] Get table of all fold changes in the project space + +[EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get table of all fold changes in the project space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetAlignedFeatureFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantificationdata_file = "result.txt") +result <- api_instance$feature_statistics_api$GetAlignedFeatureFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantification) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **aggregation** | Enum [AVG, MIN, MAX] | aggregation type. | [optional] [default to "AVG"] + **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_INTENSITY"] + +### Return type + +[**StatisticsTable**](StatisticsTable.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | table of fold changes. | - | + +# **GetFoldChangesByAlignedFeatureExperimental** +> array[FoldChange] GetFoldChangesByAlignedFeatureExperimental(project_id, object_id) + +[EXPERIMENTAL] List all fold changes that are associated with an object + +[EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] List all fold changes that are associated with an object +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetFoldChangesByAlignedFeatureExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$feature_statistics_api$GetFoldChangesByAlignedFeatureExperimental(var_project_id, var_object_id) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **object_id** | **character**| id of the object the fold changes are assigned to. | + +### Return type + +[**array[FoldChange]**](FoldChange.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | fold changes | - | + diff --git a/client-api_r/generated/docs/FeaturesApi.md b/client-api_r/generated/docs/FeaturesApi.md index afca2357..f052fd8b 100644 --- a/client-api_r/generated/docs/FeaturesApi.md +++ b/client-api_r/generated/docs/FeaturesApi.md @@ -5,45 +5,53 @@ All URIs are relative to *http://localhost:8080* Method | HTTP request | Description ------------- | ------------- | ------------- [**AddAlignedFeatures**](FeaturesApi.md#AddAlignedFeatures) | **POST** /api/projects/{projectId}/aligned-features | Import (aligned) features into the project. +[**AddDeNovoStructureCandidate**](FeaturesApi.md#AddDeNovoStructureCandidate) | **PUT** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +[**AddTagsToAlignedFeatureExperimental**](FeaturesApi.md#AddTagsToAlignedFeatureExperimental) | **PUT** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId} | [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [**DeleteAlignedFeature**](FeaturesApi.md#DeleteAlignedFeature) | **DELETE** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Delete feature (aligned over runs) with the given identifier from the specified project-space. [**DeleteAlignedFeatures**](FeaturesApi.md#DeleteAlignedFeatures) | **PUT** /api/projects/{projectId}/aligned-features/delete | Delete feature (aligned over runs) with the given identifier from the specified project-space. -[**GetAdductNetworkWithMergedTracesExperimental**](FeaturesApi.md#GetAdductNetworkWithMergedTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[**GetAdductNetworkWithMergedTracesExperimental**](FeaturesApi.md#GetAdductNetworkWithMergedTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts | [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [**GetAlignedFeature**](FeaturesApi.md#GetAlignedFeature) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId} | Get feature (aligned over runs) with the given identifier from the specified project-space. +[**GetAlignedFeatureQualityExperimental**](FeaturesApi.md#GetAlignedFeatureQualityExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [**GetAlignedFeatures**](FeaturesApi.md#GetAlignedFeatures) | **GET** /api/projects/{projectId}/aligned-features | Get all available features (aligned over runs) in the given project-space. +[**GetAlignedFeaturesByGroupExperimental**](FeaturesApi.md#GetAlignedFeaturesByGroupExperimental) | **GET** /api/projects/{projectId}/aligned-features/grouped | [EXPERIMENTAL] Get features (aligned over runs) by tag group +[**GetAlignedFeaturesByTagExperimental**](FeaturesApi.md#GetAlignedFeaturesByTagExperimental) | **GET** /api/projects/{projectId}/aligned-features/tagged | [EXPERIMENTAL] Get features (aligned over runs) by tag [**GetAlignedFeaturesPaged**](FeaturesApi.md#GetAlignedFeaturesPaged) | **GET** /api/projects/{projectId}/aligned-features/page | Get all available features (aligned over runs) in the given project-space. -[**GetAlignedFeaturesQualityExperimental**](FeaturesApi.md#GetAlignedFeaturesQualityExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -[**GetBestMatchingCompoundClasses**](FeaturesApi.md#GetBestMatchingCompoundClasses) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +[**GetBestMatchingCompoundClasses**](FeaturesApi.md#GetBestMatchingCompoundClasses) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes | Return Best matching compound classes for given formulaId [**GetCanopusPrediction**](FeaturesApi.md#GetCanopusPrediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction | All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, [**GetDeNovoStructureCandidates**](FeaturesApi.md#GetDeNovoStructureCandidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. [**GetDeNovoStructureCandidatesByFormula**](FeaturesApi.md#GetDeNovoStructureCandidatesByFormula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures | List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. [**GetDeNovoStructureCandidatesByFormulaPaged**](FeaturesApi.md#GetDeNovoStructureCandidatesByFormulaPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. [**GetDeNovoStructureCandidatesPaged**](FeaturesApi.md#GetDeNovoStructureCandidatesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page | Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -[**GetFingerprintPrediction**](FeaturesApi.md#GetFingerprintPrediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. -[**GetFormulaAnnotatedMsMsData**](FeaturesApi.md#GetFormulaAnnotatedMsMsData) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. -[**GetFormulaAnnotatedSpectrum**](FeaturesApi.md#GetFormulaAnnotatedSpectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +[**GetFeatureQuantTableExperimental**](FeaturesApi.md#GetFeatureQuantTableExperimental) | **GET** /api/projects/{projectId}/aligned-features/quant-table | [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +[**GetFingerprintPrediction**](FeaturesApi.md#GetFingerprintPrediction) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint | Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) +[**GetFormulaAnnotatedMsMsData**](FeaturesApi.md#GetFormulaAnnotatedMsMsData) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata | Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId +[**GetFormulaAnnotatedSpectrum**](FeaturesApi.md#GetFormulaAnnotatedSpectrum) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum | Returns a fragmentation spectrum (e [**GetFormulaCandidate**](FeaturesApi.md#GetFormulaCandidate) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId} | FormulaResultContainers for the given 'formulaId' with minimal information. [**GetFormulaCandidates**](FeaturesApi.md#GetFormulaCandidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas | List of FormulaResultContainers available for this feature with minimal information. [**GetFormulaCandidatesPaged**](FeaturesApi.md#GetFormulaCandidatesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page | Page of FormulaResultContainers available for this feature with minimal information. -[**GetFragTree**](FeaturesApi.md#GetFragTree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). -[**GetIsotopePatternAnnotation**](FeaturesApi.md#GetIsotopePatternAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. -[**GetLipidAnnotation**](FeaturesApi.md#GetLipidAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formula result identifier. +[**GetFragTree**](FeaturesApi.md#GetFragTree) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree | Returns fragmentation tree (SIRIUS) for the given formula result identifier +[**GetIsotopePatternAnnotation**](FeaturesApi.md#GetIsotopePatternAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern | Returns Isotope pattern information for given formulaId +[**GetLipidAnnotation**](FeaturesApi.md#GetLipidAnnotation) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation | Returns Lipid annotation (ElGordo) for the given formulaId [**GetMsData**](FeaturesApi.md#GetMsData) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data | Mass Spec data (input data) for the given 'alignedFeatureId' . -[**GetQuantificationExperimental**](FeaturesApi.md#GetQuantificationExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quantification | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. -[**GetSpectralLibraryMatch**](FeaturesApi.md#GetSpectralLibraryMatch) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | List of spectral library matches for the given 'alignedFeatureId'. +[**GetQuantTableRowExperimental**](FeaturesApi.md#GetQuantTableRowExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row | [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) +[**GetSpectralLibraryMatch**](FeaturesApi.md#GetSpectralLibraryMatch) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId} | Spectral library match for the given 'alignedFeatureId'. [**GetSpectralLibraryMatches**](FeaturesApi.md#GetSpectralLibraryMatches) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches | List of spectral library matches for the given 'alignedFeatureId'. [**GetSpectralLibraryMatchesPaged**](FeaturesApi.md#GetSpectralLibraryMatchesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page | Page of spectral library matches for the given 'alignedFeatureId'. [**GetSpectralLibraryMatchesSummary**](FeaturesApi.md#GetSpectralLibraryMatchesSummary) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary | Summarize matched reference spectra for the given 'alignedFeatureId'. -[**GetStructureAnnotatedMsDataExperimental**](FeaturesApi.md#GetStructureAnnotatedMsDataExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. -[**GetStructureAnnotatedSpectrumExperimental**](FeaturesApi.md#GetStructureAnnotatedSpectrumExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[**GetStructureAnnotatedMsDataExperimental**](FeaturesApi.md#GetStructureAnnotatedMsDataExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata | [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey +[**GetStructureAnnotatedSpectralLibraryMatchExperimental**](FeaturesApi.md#GetStructureAnnotatedSpectralLibraryMatchExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated | [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +[**GetStructureAnnotatedSpectrumExperimental**](FeaturesApi.md#GetStructureAnnotatedSpectrumExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum | [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [**GetStructureCandidates**](FeaturesApi.md#GetStructureCandidates) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures | List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. [**GetStructureCandidatesByFormula**](FeaturesApi.md#GetStructureCandidatesByFormula) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures | List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. [**GetStructureCandidatesByFormulaPaged**](FeaturesApi.md#GetStructureCandidatesByFormulaPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page | Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. [**GetStructureCandidatesPaged**](FeaturesApi.md#GetStructureCandidatesPaged) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page | Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. -[**GetTracesExperimental**](FeaturesApi.md#GetTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[**GetTagsForAlignedFeaturesExperimental**](FeaturesApi.md#GetTagsForAlignedFeaturesExperimental) | **GET** /api/projects/{projectId}/aligned-features/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Object +[**GetTracesExperimental**](FeaturesApi.md#GetTracesExperimental) | **GET** /api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces | [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) +[**RemoveTagFromAlignedFeatureExperimental**](FeaturesApi.md#RemoveTagFromAlignedFeatureExperimental) | **DELETE** /api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space # **AddAlignedFeatures** -> array[AlignedFeature] AddAlignedFeatures(project_id, feature_import, profile = var.profile, opt_fields = ["none"]) +> array[AlignedFeature] AddAlignedFeatures(project_id, feature_import, profile = var.profile, opt_fields = [none]) Import (aligned) features into the project. @@ -57,7 +65,7 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to import into. -var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123), c(BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)), c(BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported +var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' to override defaults. (Optional) @@ -75,7 +83,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to import into. | **feature_import** | list( [**FeatureImport**](FeatureImport.md) )| the feature data to be imported | **profile** | Enum [QTOF, ORBITRAP] | profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] ### Return type @@ -95,6 +103,108 @@ No authorization required |-------------|-------------|------------------| | **200** | the Features that have been imported with specified optional fields | - | +# **AddDeNovoStructureCandidate** +> array[StructureCandidateFormula] AddDeNovoStructureCandidate(project_id, aligned_feature_id, smiles = "none") + +[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. + +[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. +var_smiles <- "none" # character | smiles (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddDeNovoStructureCandidate(var_project_id, var_aligned_feature_id, smiles = var_smilesdata_file = "result.txt") +result <- api_instance$features_api$AddDeNovoStructureCandidate(var_project_id, var_aligned_feature_id, smiles = var_smiles) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **aligned_feature_id** | **character**| feature (aligned over runs) the structure candidates belong to. | + **smiles** | **character**| smiles | [optional] [default to "none"] + +### Return type + +[**array[StructureCandidateFormula]**](StructureCandidateFormula.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | StructureCandidate of this feature candidate with specified optional fields. | - | + +# **AddTagsToAlignedFeatureExperimental** +> array[Tag] AddTagsToAlignedFeatureExperimental(project_id, aligned_feature_id, tag) + +[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project + +[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to add to. +var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. +var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddTagsToAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tagdata_file = "result.txt") +result <- api_instance$features_api$AddTagsToAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tag) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to add to. | + **aligned_feature_id** | **character**| run to add tags to. | + **tag** | list( [**Tag**](Tag.md) )| tags to add. | + +### Return type + +[**array[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the tags that have been added | - | + # **DeleteAlignedFeature** > DeleteAlignedFeature(project_id, aligned_feature_id) @@ -190,15 +300,15 @@ No authorization required # **GetAdductNetworkWithMergedTracesExperimental** > TraceSetExperimental GetAdductNetworkWithMergedTracesExperimental(project_id, aligned_feature_id) -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network -Returns the adduct network for a given aligned feature id together with all merged traces contained in the network. +[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```R library(Rsirius) -# EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +# [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -237,7 +347,7 @@ No authorization required | **200** | OK | - | # **GetAlignedFeature** -> AlignedFeature GetAlignedFeature(project_id, aligned_feature_id, opt_fields = ["none"]) +> AlignedFeature GetAlignedFeature(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = [none]) Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -252,12 +362,13 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeature(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeature(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fields) +# result <- api_instance$GetAlignedFeature(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeature(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) ``` @@ -267,7 +378,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| identifier of feature (aligned over runs) to access. | - **opt_fields** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -287,8 +399,57 @@ No authorization required |-------------|-------------|------------------| | **200** | AlignedFeature with additional annotations and MS/MS data (if specified). | - | +# **GetAlignedFeatureQualityExperimental** +> AlignedFeatureQualityExperimental GetAlignedFeatureQualityExperimental(project_id, aligned_feature_id) + +[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) + +[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetAlignedFeatureQualityExperimental(var_project_id, var_aligned_feature_iddata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeatureQualityExperimental(var_project_id, var_aligned_feature_id) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **aligned_feature_id** | **character**| identifier of feature (aligned over runs) to access. | + +### Return type + +[**AlignedFeatureQualityExperimental**](AlignedFeatureQualityExperimental.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | AlignedFeatureQuality quality information of the respective feature. | - | + # **GetAlignedFeatures** -> array[AlignedFeature] GetAlignedFeatures(project_id, opt_fields = ["none"]) +> array[AlignedFeature] GetAlignedFeatures(project_id, ms_data_search_prepared = FALSE, opt_fields = [none]) Get all available features (aligned over runs) in the given project-space. @@ -302,12 +463,13 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeatures(var_project_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeatures(var_project_id, opt_fields = var_opt_fields) +# result <- api_instance$GetAlignedFeatures(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeatures(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) ``` @@ -316,7 +478,8 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | - **opt_fields** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -336,21 +499,22 @@ No authorization required |-------------|-------------|------------------| | **200** | AlignedFeatures with additional annotations and MS/MS data (if specified). | - | -# **GetAlignedFeaturesPaged** -> PagedModelAlignedFeature GetAlignedFeaturesPaged(project_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) +# **GetAlignedFeaturesByGroupExperimental** +> PagedModelAlignedFeature GetAlignedFeaturesByGroupExperimental(project_id, group_name, page = 0, size = 20, sort = var.sort, opt_fields = [none]) -Get all available features (aligned over runs) in the given project-space. +[EXPERIMENTAL] Get features (aligned over runs) by tag group -Get all available features (aligned over runs) in the given project-space. +[EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```R library(Rsirius) -# Get all available features (aligned over runs) in the given project-space. +# [EXPERIMENTAL] Get features (aligned over runs) by tag group # # prepare function argument(s) -var_project_id <- "project_id_example" # character | project-space to read from. +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | tag group name. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) @@ -358,8 +522,8 @@ var_opt_fields <- c("none") # array[character] | set of optional fields to be in api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +# result <- api_instance$GetAlignedFeaturesByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeaturesByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) dput(result) ``` @@ -367,11 +531,12 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **project_id** | **character**| project-space to read from. | + **project_id** | **character**| project-space to delete from. | + **group_name** | **character**| tag group name. | **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, msData, topAnnotations, topAnnotationsDeNovo, computedTools] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -389,29 +554,90 @@ No authorization required ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | AlignedFeatures with additional annotations and MS/MS data (if specified). | - | +| **200** | tagged features (aligned over runs) | - | + +# **GetAlignedFeaturesByTagExperimental** +> PagedModelAlignedFeature GetAlignedFeaturesByTagExperimental(project_id, filter = "", page = 0, size = 20, sort = var.sort, opt_fields = []) + +[EXPERIMENTAL] Get features (aligned over runs) by tag + +[EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get features (aligned over runs) by tag +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project space to get features (aligned over runs) from. +var_filter <- "" # character | tag filter. (Optional) +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetAlignedFeaturesByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeaturesByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project space to get features (aligned over runs) from. | + **filter** | **character**| tag filter. | [optional] [default to ""] + **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **integer**| The size of the page to be returned | [optional] [default to 20] + **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelAlignedFeature**](PagedModelAlignedFeature.md) + +### Authorization + +No authorization required + +### HTTP request headers -# **GetAlignedFeaturesQualityExperimental** -> AlignedFeatureQualityExperimental GetAlignedFeaturesQualityExperimental(project_id, aligned_feature_id) + - **Content-Type**: Not defined + - **Accept**: application/json -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | tagged features (aligned over runs) | - | -Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space. +# **GetAlignedFeaturesPaged** +> PagedModelAlignedFeature GetAlignedFeaturesPaged(project_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = [none]) + +Get all available features (aligned over runs) in the given project-space. + +Get all available features (aligned over runs) in the given project-space. ### Example ```R library(Rsirius) -# EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +# Get all available features (aligned over runs) in the given project-space. # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. -var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeaturesQualityExperimental(var_project_id, var_aligned_feature_iddata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeaturesQualityExperimental(var_project_id, var_aligned_feature_id) +# result <- api_instance$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) ``` @@ -420,11 +646,15 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | - **aligned_feature_id** | **character**| identifier of feature (aligned over runs) to access. | + **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **integer**| The size of the page to be returned | [optional] [default to 20] + **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type -[**AlignedFeatureQualityExperimental**](AlignedFeatureQualityExperimental.md) +[**PagedModelAlignedFeature**](PagedModelAlignedFeature.md) ### Authorization @@ -438,20 +668,20 @@ No authorization required ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | AlignedFeatureQuality quality information of the respective feature. | - | +| **200** | AlignedFeatures with additional annotations and MS/MS data (if specified). | - | # **GetBestMatchingCompoundClasses** > CompoundClasses GetBestMatchingCompoundClasses(project_id, aligned_feature_id, formula_id) -Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +Return Best matching compound classes for given formulaId -Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, ### Example ```R library(Rsirius) -# Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +# Return Best matching compound classes for given formulaId # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -573,7 +803,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the structure candidates belong to. | - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -594,7 +824,7 @@ No authorization required | **200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | # **GetDeNovoStructureCandidatesByFormula** -> array[StructureCandidateScored] GetDeNovoStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = ["none"]) +> array[StructureCandidateScored] GetDeNovoStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = [none]) List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -626,7 +856,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -647,7 +877,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetDeNovoStructureCandidatesByFormulaPaged** -> PagedModelStructureCandidateScored GetDeNovoStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) +> PagedModelStructureCandidateScored GetDeNovoStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -685,7 +915,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -706,7 +936,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetDeNovoStructureCandidatesPaged** -> PagedModelStructureCandidateFormula GetDeNovoStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) +> PagedModelStructureCandidateFormula GetDeNovoStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -742,7 +972,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -762,18 +992,67 @@ No authorization required |-------------|-------------|------------------| | **200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | +# **GetFeatureQuantTableExperimental** +> QuantTableExperimental GetFeatureQuantTableExperimental(project_id, type = "APEX_HEIGHT") + +[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) + +[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetFeatureQuantTableExperimental(var_project_id, type = var_typedata_file = "result.txt") +result <- api_instance$features_api$GetFeatureQuantTableExperimental(var_project_id, type = var_type) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **type** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_HEIGHT"] + +### Return type + +[**QuantTableExperimental**](QuantTableExperimental.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Quant table if akk feature in this project | - | + # **GetFingerprintPrediction** > array[numeric] GetFingerprintPrediction(project_id, aligned_feature_id, formula_id) -Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) -Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. ### Example ```R library(Rsirius) -# Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +# Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -814,27 +1093,28 @@ No authorization required | **200** | probabilistic fingerprint predicted by CSI:FingerID | - | # **GetFormulaAnnotatedMsMsData** -> AnnotatedMsMsData GetFormulaAnnotatedMsMsData(project_id, aligned_feature_id, formula_id) +> AnnotatedMsMsData GetFormulaAnnotatedMsMsData(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE) -Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId -Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. ### Example ```R library(Rsirius) -# Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +# Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_iddata_file = "result.txt") -result <- api_instance$features_api$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id) +# result <- api_instance$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared) dput(result) ``` @@ -845,6 +1125,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] ### Return type @@ -865,28 +1146,29 @@ No authorization required | **200** | Fragmentation spectra annotated with fragment formulas and losses. | - | # **GetFormulaAnnotatedSpectrum** -> AnnotatedSpectrum GetFormulaAnnotatedSpectrum(project_id, aligned_feature_id, formula_id, spectrum_index = -1) +> AnnotatedSpectrum GetFormulaAnnotatedSpectrum(project_id, aligned_feature_id, formula_id, spectrum_index = -1, search_prepared = FALSE) -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +Returns a fragmentation spectrum (e -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. ### Example ```R library(Rsirius) -# Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +# Returns a fragmentation spectrum (e # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result var_spectrum_index <- -1 # integer | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (Optional) +var_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_indexdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index) +# result <- api_instance$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index, search_prepared = var_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index, search_prepared = var_search_prepared) dput(result) ``` @@ -898,6 +1180,7 @@ Name | Type | Description | Notes **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | **spectrum_index** | **integer**| index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) | [optional] [default to -1] + **search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] ### Return type @@ -918,7 +1201,7 @@ No authorization required | **200** | Fragmentation spectrum annotated with fragment formulas and losses. | - | # **GetFormulaCandidate** -> FormulaCandidate GetFormulaCandidate(project_id, aligned_feature_id, formula_id, opt_fields = ["none"]) +> FormulaCandidate GetFormulaCandidate(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = [none]) FormulaResultContainers for the given 'formulaId' with minimal information. @@ -934,12 +1217,13 @@ library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, opt_fields = var_opt_fields) +# result <- api_instance$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) ``` @@ -950,7 +1234,8 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | - **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -971,7 +1256,7 @@ No authorization required | **200** | FormulaCandidate of this feature (aligned over runs) with. | - | # **GetFormulaCandidates** -> array[FormulaCandidate] GetFormulaCandidates(project_id, aligned_feature_id, opt_fields = ["none"]) +> array[FormulaCandidate] GetFormulaCandidates(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = ["none"]) List of FormulaResultContainers available for this feature with minimal information. @@ -986,12 +1271,13 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaCandidates(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaCandidates(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fields) +# result <- api_instance$GetFormulaCandidates(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetFormulaCandidates(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) ``` @@ -1001,6 +1287,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1022,7 +1309,7 @@ No authorization required | **200** | All FormulaCandidate of this feature with. | - | # **GetFormulaCandidatesPaged** -> PagedModelFormulaCandidate GetFormulaCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) +> PagedModelFormulaCandidate GetFormulaCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = [none]) Page of FormulaResultContainers available for this feature with minimal information. @@ -1040,12 +1327,13 @@ var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (al var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +# result <- api_instance$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) ``` @@ -1058,7 +1346,8 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] + **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -1081,15 +1370,15 @@ No authorization required # **GetFragTree** > FragmentationTree GetFragTree(project_id, aligned_feature_id, formula_id) -Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +Returns fragmentation tree (SIRIUS) for the given formula result identifier -Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). ### Example ```R library(Rsirius) -# Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +# Returns fragmentation tree (SIRIUS) for the given formula result identifier # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -1132,15 +1421,15 @@ No authorization required # **GetIsotopePatternAnnotation** > IsotopePatternAnnotation GetIsotopePatternAnnotation(project_id, aligned_feature_id, formula_id) -Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. +Returns Isotope pattern information for given formulaId -Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). +Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). ### Example ```R library(Rsirius) -# Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. +# Returns Isotope pattern information for given formulaId # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -1183,15 +1472,15 @@ No authorization required # **GetLipidAnnotation** > LipidAnnotation GetLipidAnnotation(project_id, aligned_feature_id, formula_id) -Returns Lipid annotation (ElGordo) for the given formula result identifier. +Returns Lipid annotation (ElGordo) for the given formulaId -Returns Lipid annotation (ElGordo) for the given formula result identifier. ElGordo lipid annotation runs as part of the SIRIUS formula identification step. +Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. ### Example ```R library(Rsirius) -# Returns Lipid annotation (ElGordo) for the given formula result identifier. +# Returns Lipid annotation (ElGordo) for the given formulaId # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -1232,7 +1521,7 @@ No authorization required | **200** | LipidAnnotation | - | # **GetMsData** -> MsData GetMsData(project_id, aligned_feature_id) +> MsData GetMsData(project_id, aligned_feature_id, ms_data_search_prepared = FALSE) Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -1246,12 +1535,13 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. -var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belong sto. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belongs to. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetMsData(var_project_id, var_aligned_feature_iddata_file = "result.txt") -result <- api_instance$features_api$GetMsData(var_project_id, var_aligned_feature_id) +# result <- api_instance$GetMsData(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetMsData(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared) dput(result) ``` @@ -1260,7 +1550,8 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | - **aligned_feature_id** | **character**| feature (aligned over runs) the Mass Spec data belong sto. | + **aligned_feature_id** | **character**| feature (aligned over runs) the Mass Spec data belongs to. | + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] ### Return type @@ -1280,28 +1571,28 @@ No authorization required |-------------|-------------|------------------| | **200** | Mass Spec data of this feature (aligned over runs). | - | -# **GetQuantificationExperimental** -> QuantificationTableExperimental GetQuantificationExperimental(project_id, aligned_feature_id, type = "APEX_HEIGHT") +# **GetQuantTableRowExperimental** +> QuantTableExperimental GetQuantTableRowExperimental(project_id, aligned_feature_id, type = "APEX_HEIGHT") -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) -Returns a single quantification table row for the given feature. The quantification table contains the intensity of the feature within all samples it is contained in. +[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```R library(Rsirius) -# EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +# [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. -var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which intensities should be read out +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which quantity should be read out var_type <- "APEX_HEIGHT" # character | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetQuantificationExperimental(var_project_id, var_aligned_feature_id, type = var_typedata_file = "result.txt") -result <- api_instance$features_api$GetQuantificationExperimental(var_project_id, var_aligned_feature_id, type = var_type) +# result <- api_instance$GetQuantTableRowExperimental(var_project_id, var_aligned_feature_id, type = var_typedata_file = "result.txt") +result <- api_instance$features_api$GetQuantTableRowExperimental(var_project_id, var_aligned_feature_id, type = var_type) dput(result) ``` @@ -1310,12 +1601,12 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | - **aligned_feature_id** | **character**| feature which intensities should be read out | - **type** | Enum [APEX_HEIGHT] | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. | [optional] [default to "APEX_HEIGHT"] + **aligned_feature_id** | **character**| feature which quantity should be read out | + **type** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. | [optional] [default to "APEX_HEIGHT"] ### Return type -[**QuantificationTableExperimental**](QuantificationTableExperimental.md) +[**QuantTableExperimental**](QuantTableExperimental.md) ### Authorization @@ -1332,22 +1623,22 @@ No authorization required | **200** | Quant table row for this feature | - | # **GetSpectralLibraryMatch** -> SpectralLibraryMatch GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id, opt_fields = ["none"]) +> SpectralLibraryMatch GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id, opt_fields = [none]) -List of spectral library matches for the given 'alignedFeatureId'. +Spectral library match for the given 'alignedFeatureId'. -List of spectral library matches for the given 'alignedFeatureId'. +Spectral library match for the given 'alignedFeatureId'. ### Example ```R library(Rsirius) -# List of spectral library matches for the given 'alignedFeatureId'. +# Spectral library match for the given 'alignedFeatureId'. # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. -var_match_id <- "match_id_example" # character | +var_match_id <- "match_id_example" # character | id of the library match to be returned. var_opt_fields <- c("none") # array[character] | (Optional) api_instance <- rsirius_api$new() @@ -1363,8 +1654,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the structure candidates belong to. | - **match_id** | **character**| | - **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to ["none"]] + **match_id** | **character**| id of the library match to be returned. | + **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to [none]] ### Return type @@ -1382,7 +1673,7 @@ No authorization required ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Spectral library matches of this feature (aligned over runs). | - | +| **200** | Spectral library match with requested mathcId. | - | # **GetSpectralLibraryMatches** > array[SpectralLibraryMatch] GetSpectralLibraryMatches(project_id, aligned_feature_id, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = ["none"]) @@ -1442,7 +1733,7 @@ No authorization required | **200** | Spectral library matches of this feature (aligned over runs). | - | # **GetSpectralLibraryMatchesPaged** -> PagedModelSpectralLibraryMatch GetSpectralLibraryMatchesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = ["none"]) +> PagedModelSpectralLibraryMatch GetSpectralLibraryMatchesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = [none]) Page of spectral library matches for the given 'alignedFeatureId'. @@ -1484,7 +1775,7 @@ Name | Type | Description | Notes **min_shared_peaks** | **integer**| | [optional] [default to 1] **min_similarity** | **numeric**| | [optional] [default to 0.2] **inchi_key** | **character**| | [optional] [default to ""] - **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to ["none"]] + **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to [none]] ### Return type @@ -1560,28 +1851,29 @@ No authorization required | **200** | Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs). | - | # **GetStructureAnnotatedMsDataExperimental** -> AnnotatedMsMsData GetStructureAnnotatedMsDataExperimental(project_id, aligned_feature_id, formula_id, inchi_key) +> AnnotatedMsMsData GetStructureAnnotatedMsDataExperimental(project_id, aligned_feature_id, formula_id, inchi_key, ms_data_search_prepared = FALSE) -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey -Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available. +[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```R library(Rsirius) -# EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +# [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result var_inchi_key <- "inchi_key_example" # character | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_keydata_file = "result.txt") -result <- api_instance$features_api$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key) +# result <- api_instance$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, ms_data_search_prepared = var_ms_data_search_prepared) dput(result) ``` @@ -1593,6 +1885,7 @@ Name | Type | Description | Notes **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | **inchi_key** | **character**| 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation | + **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] ### Return type @@ -1612,18 +1905,69 @@ No authorization required |-------------|-------------|------------------| | **200** | Fragmentation spectrum annotated with fragments and sub-structures. | - | +# **GetStructureAnnotatedSpectralLibraryMatchExperimental** +> AnnotatedSpectrum GetStructureAnnotatedSpectralLibraryMatchExperimental(project_id, aligned_feature_id, match_id) + +[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations + +[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. +var_match_id <- "match_id_example" # character | id of the library match to be returned. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetStructureAnnotatedSpectralLibraryMatchExperimental(var_project_id, var_aligned_feature_id, var_match_iddata_file = "result.txt") +result <- api_instance$features_api$GetStructureAnnotatedSpectralLibraryMatchExperimental(var_project_id, var_aligned_feature_id, var_match_id) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **aligned_feature_id** | **character**| feature (aligned over runs) the structure candidates belong to. | + **match_id** | **character**| id of the library match to be returned. | + +### Return type + +[**AnnotatedSpectrum**](AnnotatedSpectrum.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Spectral library match with requested mathcId. | - | + # **GetStructureAnnotatedSpectrumExperimental** -> AnnotatedSpectrum GetStructureAnnotatedSpectrumExperimental(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index = -1) +> AnnotatedSpectrum GetStructureAnnotatedSpectrumExperimental(project_id, aligned_feature_id, formula_id, inchi_key, spectrum_index = -1, search_prepared = FALSE) -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```R library(Rsirius) -# EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +# [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -1631,11 +1975,12 @@ var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (al var_formula_id <- "formula_id_example" # character | identifier of the requested formula result var_inchi_key <- "inchi_key_example" # character | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation var_spectrum_index <- -1 # integer | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (Optional) +var_search_prepared <- FALSE # character | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_indexdata_file = "result.txt") -result <- api_instance$features_api$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index) +# result <- api_instance$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index, search_prepared = var_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index, search_prepared = var_search_prepared) dput(result) ``` @@ -1648,6 +1993,7 @@ Name | Type | Description | Notes **formula_id** | **character**| identifier of the requested formula result | **inchi_key** | **character**| 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation | **spectrum_index** | **integer**| index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) | [optional] [default to -1] + **search_prepared** | **character**| | [optional] [default to FALSE] ### Return type @@ -1668,7 +2014,7 @@ No authorization required | **200** | Fragmentation spectrum annotated with fragments and sub-structures. | - | # **GetStructureCandidates** -> array[StructureCandidateFormula] GetStructureCandidates(project_id, aligned_feature_id, opt_fields = ["none"]) +> array[StructureCandidateFormula] GetStructureCandidates(project_id, aligned_feature_id, opt_fields = [none]) List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -1698,7 +2044,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the structure candidates belong to. | - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -1719,7 +2065,7 @@ No authorization required | **200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | # **GetStructureCandidatesByFormula** -> array[StructureCandidateScored] GetStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = ["none"]) +> array[StructureCandidateScored] GetStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = [none]) List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -1751,7 +2097,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -1772,7 +2118,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetStructureCandidatesByFormulaPaged** -> PagedModelStructureCandidateScored GetStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) +> PagedModelStructureCandidateScored GetStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -1810,7 +2156,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -1831,7 +2177,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetStructureCandidatesPaged** -> PagedModelStructureCandidateFormula GetStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) +> PagedModelStructureCandidateFormula GetStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -1867,7 +2213,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -1887,18 +2233,67 @@ No authorization required |-------------|-------------|------------------| | **200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | +# **GetTagsForAlignedFeaturesExperimental** +> array[Tag] GetTagsForAlignedFeaturesExperimental(project_id, object_id) + +[EXPERIMENTAL] Get all tags associated with this Object + +[EXPERIMENTAL] Get all tags associated with this Object + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get all tags associated with this Object +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to get from. +var_object_id <- "object_id_example" # character | object to get tags for. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTagsForAlignedFeaturesExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$features_api$GetTagsForAlignedFeaturesExperimental(var_project_id, var_object_id) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to get from. | + **object_id** | **character**| object to get tags for. | + +### Return type + +[**array[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the tags of the requested object | - | + # **GetTracesExperimental** > TraceSetExperimental GetTracesExperimental(project_id, aligned_feature_id, include_all = FALSE) -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) -Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in. +[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example ```R library(Rsirius) -# EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +# [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to read from. @@ -1938,3 +2333,51 @@ No authorization required |-------------|-------------|------------------| | **200** | Traces of the given feature. | - | +# **RemoveTagFromAlignedFeatureExperimental** +> RemoveTagFromAlignedFeatureExperimental(project_id, aligned_feature_id, tag_name) + +[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space + +[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) to delete tag from. +var_tag_name <- "tag_name_example" # character | name of the tag to delete. + +api_instance <- rsirius_api$new() +api_instance$features_api$RemoveTagFromAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tag_name) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **aligned_feature_id** | **character**| feature (aligned over runs) to delete tag from. | + **tag_name** | **character**| name of the tag to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + diff --git a/client-api_r/generated/docs/FoldChange.md b/client-api_r/generated/docs/FoldChange.md new file mode 100644 index 00000000..4711f1d9 --- /dev/null +++ b/client-api_r/generated/docs/FoldChange.md @@ -0,0 +1,15 @@ +# Rsirius::FoldChange + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**leftGroup** | **character** | | [optional] +**rightGroup** | **character** | | [optional] +**aggregation** | **character** | | [optional] [Enum: [AVG, MIN, MAX]] +**quantification** | **character** | | [optional] [Enum: [APEX_INTENSITY, AREA_UNDER_CURVE]] +**quantType** | **character** | | [Enum: [FEATURES, COMPOUNDS]] +**objectId** | **character** | | +**foldChange** | **numeric** | | + + diff --git a/client-api_r/generated/docs/FormulaCandidate.md b/client-api_r/generated/docs/FormulaCandidate.md index 144b0bc5..becd8d59 100644 --- a/client-api_r/generated/docs/FormulaCandidate.md +++ b/client-api_r/generated/docs/FormulaCandidate.md @@ -18,12 +18,12 @@ Name | Type | Description | Notes **numOfExplainablePeaks** | **integer** | | [optional] **totalExplainedIntensity** | **numeric** | | [optional] **medianMassDeviation** | [**Deviation**](Deviation.md) | | [optional] -**fragmentationTree** | [**FragmentationTree**](FragmentationTree.md) | | [optional] -**annotatedSpectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | | [optional] -**isotopePatternAnnotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | | [optional] -**lipidAnnotation** | [**LipidAnnotation**](LipidAnnotation.md) | | [optional] +**fragmentationTree** | [**FragmentationTree**](FragmentationTree.md) | The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). | [optional] +**annotatedSpectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses | [optional] +**isotopePatternAnnotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. | [optional] +**lipidAnnotation** | [**LipidAnnotation**](LipidAnnotation.md) | ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid | [optional] **predictedFingerprint** | **array[numeric]** | Probabilistic molecular fingerprint predicted by CSI:FingerID | [optional] -**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | | [optional] -**canopusPrediction** | [**CanopusPrediction**](CanopusPrediction.md) | | [optional] +**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) | [optional] +**canopusPrediction** | [**CanopusPrediction**](CanopusPrediction.md) | All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) | [optional] diff --git a/client-api_r/generated/docs/GuiApi.md b/client-api_r/generated/docs/GuiApi.md deleted file mode 100644 index 7b2e5bc7..00000000 --- a/client-api_r/generated/docs/GuiApi.md +++ /dev/null @@ -1,146 +0,0 @@ -# GuiApi - -All URIs are relative to *http://localhost:8080* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**CloseGui**](GuiApi.md#CloseGui) | **DELETE** /api/projects/{projectId}/gui | Close GUI instance of given project-space if available. -[**GetGuis**](GuiApi.md#GetGuis) | **GET** /api/guis | Get list of currently running gui windows, managed by this SIRIUS instance. -[**OpenGui**](GuiApi.md#OpenGui) | **POST** /api/projects/{projectId}/gui | Open GUI instance on specified project-space and bring the GUI window to foreground. - - -# **CloseGui** -> character CloseGui(project_id, close_project = var.close_project) - -Close GUI instance of given project-space if available. - -Close GUI instance of given project-space if available. - -### Example -```R -library(Rsirius) - -# Close GUI instance of given project-space if available. -# -# prepare function argument(s) -var_project_id <- "project_id_example" # character | if project-space the GUI instance is connected to. -var_close_project <- "close_project_example" # character | (Optional) - -api_instance <- rsirius_api$new() -# to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$CloseGui(var_project_id, close_project = var_close_projectdata_file = "result.txt") -result <- api_instance$gui_api$CloseGui(var_project_id, close_project = var_close_project) -dput(result) -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **project_id** | **character**| if project-space the GUI instance is connected to. | - **close_project** | **character**| | [optional] - -### Return type - -**character** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | OK | - | - -# **GetGuis** -> array[GuiInfo] GetGuis() - -Get list of currently running gui windows, managed by this SIRIUS instance. - -Get list of currently running gui windows, managed by this SIRIUS instance. Note this will not show any Clients that are connected from a separate process! - -### Example -```R -library(Rsirius) - -# Get list of currently running gui windows, managed by this SIRIUS instance. -# - -api_instance <- rsirius_api$new() -# to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetGuis(data_file = "result.txt") -result <- api_instance$gui_api$GetGuis() -dput(result) -``` - -### Parameters -This endpoint does not need any parameter. - -### Return type - -[**array[GuiInfo]**](GuiInfo.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | List of GUI windows that are currently managed by this SIRIUS instance. | - | - -# **OpenGui** -> OpenGui(project_id) - -Open GUI instance on specified project-space and bring the GUI window to foreground. - -Open GUI instance on specified project-space and bring the GUI window to foreground. - -### Example -```R -library(Rsirius) - -# Open GUI instance on specified project-space and bring the GUI window to foreground. -# -# prepare function argument(s) -var_project_id <- "project_id_example" # character | of project-space the GUI instance will connect to. - -api_instance <- rsirius_api$new() -api_instance$gui_api$OpenGui(var_project_id) -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **project_id** | **character**| of project-space the GUI instance will connect to. | - -### Return type - -void (empty response body) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: Not defined - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **201** | Created | - | - diff --git a/client-api_r/generated/docs/Job.md b/client-api_r/generated/docs/Job.md index bbd830d4..5adaf6ca 100644 --- a/client-api_r/generated/docs/Job.md +++ b/client-api_r/generated/docs/Job.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **character** | Unique identifier to access the job via the API | [optional] **command** | **character** | Command string of the executed Task | [optional] -**progress** | [**JobProgress**](JobProgress.md) | | [optional] +**progress** | [**JobProgress**](JobProgress.md) | Optional progress information of this job | [optional] **affectedCompoundIds** | **array[character]** | List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] **affectedAlignedFeatureIds** | **array[character]** | List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] **jobEffect** | **character** | Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested | [optional] [Enum: [IMPORT, COMPUTATION, DELETION]] diff --git a/client-api_r/generated/docs/JobSubmission.md b/client-api_r/generated/docs/JobSubmission.md index 08c0a027..a2b02317 100644 --- a/client-api_r/generated/docs/JobSubmission.md +++ b/client-api_r/generated/docs/JobSubmission.md @@ -11,13 +11,13 @@ Name | Type | Description | Notes **enforcedAdducts** | **array[character]** | Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] **detectableAdducts** | **array[character]** | Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] **recompute** | **character** | Indicate if already existing result for a tool to be executed should be overwritten or not. | [optional] -**spectraSearchParams** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | | [optional] -**formulaIdParams** | [**Sirius**](Sirius.md) | | [optional] -**zodiacParams** | [**Zodiac**](Zodiac.md) | | [optional] -**fingerprintPredictionParams** | [**FingerprintPrediction**](FingerprintPrediction.md) | | [optional] -**canopusParams** | [**Canopus**](Canopus.md) | | [optional] -**structureDbSearchParams** | [**StructureDbSearch**](StructureDbSearch.md) | | [optional] -**msNovelistParams** | [**MsNovelist**](MsNovelist.md) | | [optional] +**spectraSearchParams** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. | [optional] +**formulaIdParams** | [**Sirius**](Sirius.md) | Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. | [optional] +**zodiacParams** | [**Zodiac**](Zodiac.md) | Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. | [optional] +**fingerprintPredictionParams** | [**FingerprintPrediction**](FingerprintPrediction.md) | Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. | [optional] +**canopusParams** | [**Canopus**](Canopus.md) | Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. | [optional] +**structureDbSearchParams** | [**StructureDbSearch**](StructureDbSearch.md) | Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. | [optional] +**msNovelistParams** | [**MsNovelist**](MsNovelist.md) | Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. | [optional] **configMap** | **map(character)** | As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. | [optional] diff --git a/client-api_r/generated/docs/JobsApi.md b/client-api_r/generated/docs/JobsApi.md index fa45bf3b..f3693842 100644 --- a/client-api_r/generated/docs/JobsApi.md +++ b/client-api_r/generated/docs/JobsApi.md @@ -7,10 +7,11 @@ Method | HTTP request | Description [**DeleteJob**](JobsApi.md#DeleteJob) | **DELETE** /api/projects/{projectId}/jobs/{jobId} | Delete job. [**DeleteJobConfig**](JobsApi.md#DeleteJobConfig) | **DELETE** /api/job-configs/{name} | Delete job configuration with given name. [**DeleteJobs**](JobsApi.md#DeleteJobs) | **DELETE** /api/projects/{projectId}/jobs | * Delete ALL jobs. +[**GetCommand**](JobsApi.md#GetCommand) | **POST** /api/job-configs/get-command | Get a CLI command for the given job configuration. [**GetDefaultJobConfig**](JobsApi.md#GetDefaultJobConfig) | **GET** /api/default-job-config | Request default job configuration [**GetJob**](JobsApi.md#GetJob) | **GET** /api/projects/{projectId}/jobs/{jobId} | Get job information and its current state and progress (if available). [**GetJobConfig**](JobsApi.md#GetJobConfig) | **GET** /api/job-configs/{name} | Request job configuration with given name. -[**GetJobConfigNames**](JobsApi.md#GetJobConfigNames) | **GET** /api/job-config-names | DEPRECATED: use /job-configs to get all configs with names. +[**GetJobConfigNames**](JobsApi.md#GetJobConfigNames) | **GET** /api/job-config-names | [DEPRECATED] Get all (non-default) job configuration names [**GetJobConfigs**](JobsApi.md#GetJobConfigs) | **GET** /api/job-configs | Request all available job configurations [**GetJobs**](JobsApi.md#GetJobs) | **GET** /api/projects/{projectId}/jobs | Get List of all available jobs with information such as current state and progress (if available). [**GetJobsPaged**](JobsApi.md#GetJobsPaged) | **GET** /api/projects/{projectId}/jobs/page | Get Page of jobs with information such as current state and progress (if available). @@ -162,6 +163,53 @@ No authorization required |-------------|-------------|------------------| | **202** | Accepted | - | +# **GetCommand** +> array[character] GetCommand(job_submission) + +Get a CLI command for the given job configuration. + +Get a CLI command for the given job configuration. + +### Example +```R +library(Rsirius) + +# Get a CLI command for the given job configuration. +# +# prepare function argument(s) +var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCommand(var_job_submissiondata_file = "result.txt") +result <- api_instance$jobs_api$GetCommand(var_job_submission) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **job_submission** | [**JobSubmission**](JobSubmission.md)| | + +### Return type + +**array[character]** + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + # **GetDefaultJobConfig** > JobSubmission GetDefaultJobConfig(include_config_map = FALSE, move_parameters_to_config_map = FALSE, include_custom_dbs_for_structure_search = FALSE) @@ -178,7 +226,7 @@ library(Rsirius) # prepare function argument(s) var_include_config_map <- FALSE # character | if true, generic configmap with-defaults will be included (Optional) var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters (Optional) -var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search contains also all available custom DB. (Optional) +var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -193,7 +241,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **include_config_map** | **character**| if true, generic configmap with-defaults will be included | [optional] [default to FALSE] **move_parameters_to_config_map** | **character**| if true, object-based parameters will be converted to and added to the generic configMap parameters | [optional] [default to FALSE] - **include_custom_dbs_for_structure_search** | **character**| if true, default database selection of structure db search contains also all available custom DB. | [optional] [default to FALSE] + **include_custom_dbs_for_structure_search** | **character**| if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. | [optional] [default to FALSE] ### Return type @@ -214,7 +262,7 @@ No authorization required | **200** | {@link JobSubmission JobSubmission} with all parameters set to default values. | - | # **GetJob** -> Job GetJob(project_id, job_id, opt_fields = ["progress"]) +> Job GetJob(project_id, job_id, opt_fields = [progress]) Get job information and its current state and progress (if available). @@ -244,7 +292,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to run jobs on | **job_id** | **character**| of the job to be returned | - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] ### Return type @@ -316,15 +364,15 @@ No authorization required # **GetJobConfigNames** > array[character] GetJobConfigNames() -DEPRECATED: use /job-configs to get all configs with names. +[DEPRECATED] Get all (non-default) job configuration names -Get all (non-default) job configuration names +[DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. ### Example ```R library(Rsirius) -# DEPRECATED: use /job-configs to get all configs with names. +# [DEPRECATED] Get all (non-default) job configuration names # api_instance <- rsirius_api$new() @@ -447,7 +495,7 @@ No authorization required | **200** | OK | - | # **GetJobsPaged** -> PagedModelJob GetJobsPaged(project_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) +> PagedModelJob GetJobsPaged(project_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) Get Page of jobs with information such as current state and progress (if available). @@ -481,7 +529,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] ### Return type @@ -561,7 +609,7 @@ library(Rsirius) # # prepare function argument(s) var_name <- "name_example" # character | name of the job-config to add -var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, "INTENSITY"), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add +var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add var_override_existing <- FALSE # character | (Optional) var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object (Optional) @@ -614,7 +662,7 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to run jobs on -var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, "INTENSITY"), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned +var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() @@ -651,7 +699,7 @@ No authorization required | **202** | Accepted | - | # **StartJobFromConfig** -> Job StartJobFromConfig(project_id, job_config_name, request_body, recompute = var.recompute, opt_fields = ["command","progress"]) +> Job StartJobFromConfig(project_id, job_config_name, request_body, recompute = var.recompute, opt_fields = [command, progress]) Start computation for given compounds and with parameters from a stored job-config. @@ -685,7 +733,7 @@ Name | Type | Description | Notes **job_config_name** | **character**| name if the config to be used | **request_body** | list( **character** )| List of alignedFeatureIds to be computed | **recompute** | **character**| enable or disable recompute. If null the stored value will be used. | [optional] - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["command","progress"]] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [command, progress]] ### Return type diff --git a/client-api_r/generated/docs/LcmsSubmissionParameters.md b/client-api_r/generated/docs/LcmsSubmissionParameters.md index f7cfcb19..6e3424a5 100644 --- a/client-api_r/generated/docs/LcmsSubmissionParameters.md +++ b/client-api_r/generated/docs/LcmsSubmissionParameters.md @@ -5,5 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **alignLCMSRuns** | **character** | Specifies whether LC/MS runs should be aligned | [optional] [default to TRUE] +**noiseIntensity** | **numeric** | Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. | [optional] [default to -1] +**traceMaxMassDeviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. | [optional] +**alignMaxMassDeviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. | [optional] +**alignMaxRetentionTimeDeviation** | **numeric** | Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. | [optional] [default to -1] +**minSNR** | **numeric** | Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory | [optional] [default to 3] diff --git a/client-api_r/generated/docs/LicenseInfo.md b/client-api_r/generated/docs/LicenseInfo.md index d77dfb4f..1696ec21 100644 --- a/client-api_r/generated/docs/LicenseInfo.md +++ b/client-api_r/generated/docs/LicenseInfo.md @@ -6,8 +6,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **userEmail** | **character** | Email address of the user account this license information belongs to. | [optional] **userId** | **character** | User ID (uid) of the user account this license information belongs to. | [optional] -**subscription** | [**Subscription**](Subscription.md) | | [optional] -**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | | [optional] +**subscription** | [**Subscription**](Subscription.md) | The active subscription that was used the requested the information | [optional] +**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | Status of the consumable resources of the {@link Subscription Subscription}. | [optional] **terms** | [**array[Term]**](Term.md) | | [optional] diff --git a/client-api_r/generated/docs/MsData.md b/client-api_r/generated/docs/MsData.md index a125cbe7..545ca3fe 100644 --- a/client-api_r/generated/docs/MsData.md +++ b/client-api_r/generated/docs/MsData.md @@ -1,10 +1,11 @@ # Rsirius::MsData -The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar +The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One extracted isotope pattern (optional) - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**isotopePattern** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **mergedMs1** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **mergedMs2** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **ms1Spectra** | [**array[BasicSpectrum]**](BasicSpectrum.md) | | [optional] diff --git a/client-api_r/generated/docs/PagedModelRun.md b/client-api_r/generated/docs/PagedModelRun.md new file mode 100644 index 00000000..3b9b8a09 --- /dev/null +++ b/client-api_r/generated/docs/PagedModelRun.md @@ -0,0 +1,10 @@ +# Rsirius::PagedModelRun + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**content** | [**array[Run]**](Run.md) | | [optional] +**page** | [**PageMetadata**](PageMetadata.md) | | [optional] + + diff --git a/client-api_r/generated/docs/PeakAnnotation.md b/client-api_r/generated/docs/PeakAnnotation.md index d9fff0b6..397838d0 100644 --- a/client-api_r/generated/docs/PeakAnnotation.md +++ b/client-api_r/generated/docs/PeakAnnotation.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes **massDeviationPpm** | **numeric** | Relative mass deviation of the exact mass to the measured peak mass in ppm | [optional] **recalibratedMassDeviationMz** | **numeric** | Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa | [optional] **recalibratedMassDeviationPpm** | **numeric** | Relative mass deviation of the exact mass to the recalibrated peak mass in ppm | [optional] -**parentPeak** | [**ParentPeak**](ParentPeak.md) | | [optional] +**parentPeak** | [**ParentPeak**](ParentPeak.md) | Link to the parent peak connected via the neutral loss from the fragmentation tree. | [optional] **substructureAtoms** | **array[integer]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) | [optional] **substructureBonds** | **array[integer]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. | [optional] **substructureBondsCut** | **array[integer]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. | [optional] diff --git a/client-api_r/generated/docs/GuiInfo.md b/client-api_r/generated/docs/PeakPair.md similarity index 51% rename from client-api_r/generated/docs/GuiInfo.md rename to client-api_r/generated/docs/PeakPair.md index 60f38bc5..d3d6a5ce 100644 --- a/client-api_r/generated/docs/GuiInfo.md +++ b/client-api_r/generated/docs/PeakPair.md @@ -1,9 +1,10 @@ -# Rsirius::GuiInfo +# Rsirius::PeakPair ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**projectId** | **character** | The project this instance is running on | [optional] +**queryPeak** | **integer** | | +**referencePeak** | **integer** | | diff --git a/client-api_r/generated/docs/ProjectInfo.md b/client-api_r/generated/docs/ProjectInfo.md index d213c182..b2c0a208 100644 --- a/client-api_r/generated/docs/ProjectInfo.md +++ b/client-api_r/generated/docs/ProjectInfo.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes **projectId** | **character** | a user selected unique name of the project for easy access. | [optional] **location** | **character** | storage location of the project. | [optional] **description** | **character** | Description of this project. | [optional] -**type** | **character** | Type of this project. NULL if project type has not yet been specified by importing data. | [optional] [Enum: [DIRECT_IMPORT, PEAKLISTS, ALIGNED_RUNS, UNALIGNED_RUNS]] +**type** | **character** | Type of this project. NULL if project type has not yet been specified by importing data. | [optional] [Enum: [UNIMPORTED, DIRECT_IMPORT, PEAKLISTS, ALIGNED_RUNS, UNALIGNED_RUNS]] **compatible** | **character** | Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend. If true project is up-to-date and there are no restrictions regarding usage. If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information If NULL the information has not been requested. | [optional] **numOfFeatures** | **integer** | Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation'). | [optional] **numOfCompounds** | **integer** | Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type. | [optional] diff --git a/client-api_r/generated/docs/ProjectsApi.md b/client-api_r/generated/docs/ProjectsApi.md index 4f8aab4a..629cda5d 100644 --- a/client-api_r/generated/docs/ProjectsApi.md +++ b/client-api_r/generated/docs/ProjectsApi.md @@ -4,7 +4,7 @@ All URIs are relative to *http://localhost:8080* Method | HTTP request | Description ------------- | ------------- | ------------- -[**CloseProject**](ProjectsApi.md#CloseProject) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from application +[**CloseProject**](ProjectsApi.md#CloseProject) | **DELETE** /api/projects/{projectId} | Close project-space and remove it from the application [**CreateProject**](ProjectsApi.md#CreateProject) | **POST** /api/projects/{projectId} | Create and open a new project-space at given location and make it accessible via the given projectId. [**GetCanopusClassyFireData**](ProjectsApi.md#GetCanopusClassyFireData) | **GET** /api/projects/{projectId}/cf-data | Get CANOPUS prediction vector definition for ClassyFire classes [**GetCanopusNpcData**](ProjectsApi.md#GetCanopusNpcData) | **GET** /api/projects/{projectId}/npc-data | Get CANOPUS prediction vector definition for NPC classes @@ -19,23 +19,24 @@ Method | HTTP request | Description # **CloseProject** -> CloseProject(project_id) +> CloseProject(project_id, compact = FALSE) -Close project-space and remove it from application +Close project-space and remove it from the application -Close project-space and remove it from application. Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. +Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. ### Example ```R library(Rsirius) -# Close project-space and remove it from application +# Close project-space and remove it from the application # # prepare function argument(s) var_project_id <- "project_id_example" # character | unique name/identifier of the project-space to be closed. +var_compact <- FALSE # character | if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (Optional) api_instance <- rsirius_api$new() -api_instance$projects_api$CloseProject(var_project_id) +api_instance$projects_api$CloseProject(var_project_id, compact = var_compact) ``` ### Parameters @@ -43,6 +44,7 @@ api_instance$projects_api$CloseProject(var_project_id) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| unique name/identifier of the project-space to be closed. | + **compact** | **character**| if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. | [optional] [default to FALSE] ### Return type @@ -63,7 +65,7 @@ No authorization required | **200** | OK | - | # **CreateProject** -> ProjectInfo CreateProject(project_id, path_to_project = var.path_to_project, opt_fields = ["none"]) +> ProjectInfo CreateProject(project_id, path_to_project = var.path_to_project, opt_fields = [none]) Create and open a new project-space at given location and make it accessible via the given projectId. @@ -93,7 +95,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **character**| local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to ["none"]] + **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to [none]] ### Return type @@ -346,7 +348,7 @@ No authorization required | **200** | OK | - | # **ImportMsRunData** -> ImportResult ImportMsRunData(project_id, input_files = var.input_files, parameters = var.parameters) +> ImportResult ImportMsRunData(project_id, input_files, parameters) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -360,13 +362,13 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | Project-space to import into. -var_input_files <- c(123) # array[data.frame] | (Optional) -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example") # LcmsSubmissionParameters | (Optional) +var_input_files <- c(123) # array[data.frame] | Files to import into project. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportMsRunData(var_project_id, input_files = var_input_files, parameters = var_parametersdata_file = "result.txt") -result <- api_instance$projects_api$ImportMsRunData(var_project_id, input_files = var_input_files, parameters = var_parameters) +# result <- api_instance$ImportMsRunData(var_project_id, var_input_files, var_parametersdata_file = "result.txt") +result <- api_instance$projects_api$ImportMsRunData(var_project_id, var_input_files, var_parameters) dput(result) ``` @@ -375,8 +377,8 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| Project-space to import into. | - **input_files** | list( **data.frame** )| | [optional] - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | [optional] + **input_files** | list( **data.frame** )| Files to import into project. | + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | ### Return type @@ -397,7 +399,7 @@ No authorization required | **200** | OK | - | # **ImportMsRunDataAsJob** -> Job ImportMsRunDataAsJob(project_id, opt_fields = ["progress"], input_files = var.input_files, parameters = var.parameters) +> Job ImportMsRunDataAsJob(project_id, input_files, parameters, opt_fields = [progress]) Import and Align full MS-Runs from various formats into the specified project as background job. @@ -411,14 +413,14 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | Project-space to import into. +var_input_files <- c(123) # array[data.frame] | Files to import into project. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. var_opt_fields <- c("none") # array[character] | Set of optional fields to be included. Use 'none' only to override defaults. (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example") # LcmsSubmissionParameters | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportMsRunDataAsJob(var_project_id, opt_fields = var_opt_fields, input_files = var_input_files, parameters = var_parametersdata_file = "result.txt") -result <- api_instance$projects_api$ImportMsRunDataAsJob(var_project_id, opt_fields = var_opt_fields, input_files = var_input_files, parameters = var_parameters) +# result <- api_instance$ImportMsRunDataAsJob(var_project_id, var_input_files, var_parameters, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$projects_api$ImportMsRunDataAsJob(var_project_id, var_input_files, var_parameters, opt_fields = var_opt_fields) dput(result) ``` @@ -427,9 +429,9 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| Project-space to import into. | - **opt_fields** | Enum [none, command, progress, affectedIds] | Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] - **input_files** | list( **data.frame** )| | [optional] - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | [optional] + **input_files** | list( **data.frame** )| Files to import into project. | + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | + **opt_fields** | Enum [none, command, progress, affectedIds] | Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] ### Return type @@ -450,7 +452,7 @@ No authorization required | **200** | the import job. | - | # **ImportPreprocessedData** -> ImportResult ImportPreprocessedData(project_id, ignore_formulas = FALSE, allow_ms1_only = TRUE, input_files = var.input_files) +> ImportResult ImportPreprocessedData(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -464,14 +466,14 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to import into. +var_input_files <- c(123) # array[data.frame] | files to import into project var_ignore_formulas <- FALSE # character | (Optional) var_allow_ms1_only <- TRUE # character | (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportPreprocessedData(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, input_files = var_input_filesdata_file = "result.txt") -result <- api_instance$projects_api$ImportPreprocessedData(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, input_files = var_input_files) +# result <- api_instance$ImportPreprocessedData(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_onlydata_file = "result.txt") +result <- api_instance$projects_api$ImportPreprocessedData(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only) dput(result) ``` @@ -480,9 +482,9 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to import into. | + **input_files** | list( **data.frame** )| files to import into project | **ignore_formulas** | **character**| | [optional] [default to FALSE] **allow_ms1_only** | **character**| | [optional] [default to TRUE] - **input_files** | list( **data.frame** )| | [optional] ### Return type @@ -503,7 +505,7 @@ No authorization required | **200** | OK | - | # **ImportPreprocessedDataAsJob** -> Job ImportPreprocessedDataAsJob(project_id, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = ["progress"], input_files = var.input_files) +> Job ImportPreprocessedDataAsJob(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = [progress]) Import ms/ms data from the given format into the specified project-space as background job. @@ -517,15 +519,15 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to import into. +var_input_files <- c(123) # array[data.frame] | var_ignore_formulas <- FALSE # character | (Optional) var_allow_ms1_only <- TRUE # character | (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportPreprocessedDataAsJob(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields, input_files = var_input_filesdata_file = "result.txt") -result <- api_instance$projects_api$ImportPreprocessedDataAsJob(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields, input_files = var_input_files) +# result <- api_instance$ImportPreprocessedDataAsJob(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$projects_api$ImportPreprocessedDataAsJob(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields) dput(result) ``` @@ -534,10 +536,10 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to import into. | + **input_files** | list( **data.frame** )| | **ignore_formulas** | **character**| | [optional] [default to FALSE] **allow_ms1_only** | **character**| | [optional] [default to TRUE] - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] - **input_files** | list( **data.frame** )| | [optional] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] ### Return type @@ -558,7 +560,7 @@ No authorization required | **200** | the import job. | - | # **OpenProject** -> ProjectInfo OpenProject(project_id, path_to_project = var.path_to_project, opt_fields = ["none"]) +> ProjectInfo OpenProject(project_id, path_to_project = var.path_to_project, opt_fields = [none]) Open an existing project-space and make it accessible via the given projectId. @@ -588,7 +590,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **character**| local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to ["none"]] + **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to [none]] ### Return type diff --git a/client-api_r/generated/docs/QuantificationTableExperimental.md b/client-api_r/generated/docs/QuantTableExperimental.md similarity index 67% rename from client-api_r/generated/docs/QuantificationTableExperimental.md rename to client-api_r/generated/docs/QuantTableExperimental.md index 105088dc..bc4d99fd 100644 --- a/client-api_r/generated/docs/QuantificationTableExperimental.md +++ b/client-api_r/generated/docs/QuantTableExperimental.md @@ -1,13 +1,12 @@ -# Rsirius::QuantificationTableExperimental +# Rsirius::QuantTableExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**quantificationType** | **character** | | [optional] [Enum: [APEX_HEIGHT]] -**rowType** | **character** | | [optional] [Enum: [FEATURES]] -**columnType** | **character** | | [optional] [Enum: [SAMPLES]] +**quantificationMeasure** | **character** | | [optional] [Enum: [APEX_INTENSITY, AREA_UNDER_CURVE]] +**rowType** | **character** | | [optional] [Enum: [FEATURES, COMPOUNDS]] **rowIds** | **array[integer]** | | [optional] **columnIds** | **array[integer]** | | [optional] **rowNames** | **array[character]** | | [optional] diff --git a/client-api_r/generated/docs/Run.md b/client-api_r/generated/docs/Run.md new file mode 100644 index 00000000..956854b9 --- /dev/null +++ b/client-api_r/generated/docs/Run.md @@ -0,0 +1,16 @@ +# Rsirius::Run + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**runId** | **character** | Identifier | [optional] +**name** | **character** | Informative, human-readable name of this run | [optional] +**source** | **character** | Source location | [optional] +**chromatography** | **character** | | [optional] +**ionization** | **character** | | [optional] +**fragmentation** | **character** | | [optional] +**massAnalyzers** | **array[character]** | | [optional] +**tags** | [**map(Tag)**](Tag.md) | Key: tagName, value: tag | [optional] + + diff --git a/client-api_r/generated/docs/RunOptField.md b/client-api_r/generated/docs/RunOptField.md new file mode 100644 index 00000000..18388545 --- /dev/null +++ b/client-api_r/generated/docs/RunOptField.md @@ -0,0 +1,8 @@ +# Rsirius::RunOptField + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + + diff --git a/client-api_r/generated/docs/RunsApi.md b/client-api_r/generated/docs/RunsApi.md new file mode 100644 index 00000000..f3186b1f --- /dev/null +++ b/client-api_r/generated/docs/RunsApi.md @@ -0,0 +1,435 @@ +# RunsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**AddTagsToRunExperimental**](RunsApi.md#AddTagsToRunExperimental) | **PUT** /api/projects/{projectId}/runs/tags/{runId} | [EXPERIMENTAL] Add tags to a run in the project +[**ComputeFoldChangeForBlankSubtraction**](RunsApi.md#ComputeFoldChangeForBlankSubtraction) | **PUT** /api/projects/{projectId}/runs/blanksubtract/compute | **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +[**GetRunExperimental**](RunsApi.md#GetRunExperimental) | **GET** /api/projects/{projectId}/runs/{runId} | [EXPERIMENTAL] Get run with the given identifier from the specified project-space +[**GetRunPageExperimental**](RunsApi.md#GetRunPageExperimental) | **GET** /api/projects/{projectId}/runs/page | [EXPERIMENTAL] Get all available runs in the given project-space +[**GetRunsByGroupExperimental**](RunsApi.md#GetRunsByGroupExperimental) | **GET** /api/projects/{projectId}/runs/grouped | [EXPERIMENTAL] Get runs by tag group +[**GetRunsByTagExperimental**](RunsApi.md#GetRunsByTagExperimental) | **GET** /api/projects/{projectId}/runs/tagged | [EXPERIMENTAL] Get runs by tag +[**GetTagsForRunExperimental**](RunsApi.md#GetTagsForRunExperimental) | **GET** /api/projects/{projectId}/runs/tags/{objectId} | [EXPERIMENTAL] Get all tags associated with this Run +[**RemoveTagFromRunExperimental**](RunsApi.md#RemoveTagFromRunExperimental) | **DELETE** /api/projects/{projectId}/runs/tags/{runId}/{tagName} | [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + + +# **AddTagsToRunExperimental** +> array[Tag] AddTagsToRunExperimental(project_id, run_id, tag) + +[EXPERIMENTAL] Add tags to a run in the project + +[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Add tags to a run in the project +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to add to. +var_run_id <- "run_id_example" # character | run to add tags to. +var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddTagsToRunExperimental(var_project_id, var_run_id, var_tagdata_file = "result.txt") +result <- api_instance$runs_api$AddTagsToRunExperimental(var_project_id, var_run_id, var_tag) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to add to. | + **run_id** | **character**| run to add tags to. | + **tag** | list( [**Tag**](Tag.md) )| tags to add. | + +### Return type + +[**array[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the tags that have been added | - | + +# **ComputeFoldChangeForBlankSubtraction** +> Job ComputeFoldChangeForBlankSubtraction(project_id, sample_type_fold_change_request, opt_fields = ["progress"]) + +**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter + +**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

+ +### Example +```R +library(Rsirius) + +# **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +var_sample_type_fold_change_request <- SampleTypeFoldChangeRequest$new(c("sampleRunIds_example"), c("blankRunIds_example"), c("controlRunIds_example")) # SampleTypeFoldChangeRequest | request with lists of run IDs that are sample, blank, and control runs +var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$ComputeFoldChangeForBlankSubtraction(var_project_id, var_sample_type_fold_change_request, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$ComputeFoldChangeForBlankSubtraction(var_project_id, var_sample_type_fold_change_request, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to compute the fold change in. | + **sample_type_fold_change_request** | [**SampleTypeFoldChangeRequest**](SampleTypeFoldChangeRequest.md)| request with lists of run IDs that are sample, blank, and control runs | + **opt_fields** | Enum [none, command, progress, affectedIds] | job opt fields. | [optional] [default to ["progress"]] + +### Return type + +[**Job**](Job.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **GetRunExperimental** +> Run GetRunExperimental(project_id, run_id, opt_fields = []) + +[EXPERIMENTAL] Get run with the given identifier from the specified project-space + +[EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get run with the given identifier from the specified project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_run_id <- "run_id_example" # character | identifier of run to access. +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunExperimental(var_project_id, var_run_id, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunExperimental(var_project_id, var_run_id, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **run_id** | **character**| identifier of run to access. | + **opt_fields** | list( [**RunOptField**](RunOptField.md) )| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**Run**](Run.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Run with tags (if specified). | - | + +# **GetRunPageExperimental** +> PagedModelRun GetRunPageExperimental(project_id, page = 0, size = 20, sort = var.sort, opt_fields = []) + +[EXPERIMENTAL] Get all available runs in the given project-space + +[EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get all available runs in the given project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunPageExperimental(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunPageExperimental(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **integer**| The size of the page to be returned | [optional] [default to 20] + **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | list( [**RunOptField**](RunOptField.md) )| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelRun**](PagedModelRun.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Runs with tags (if specified). | - | + +# **GetRunsByGroupExperimental** +> PagedModelRun GetRunsByGroupExperimental(project_id, group_name, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) + +[EXPERIMENTAL] Get runs by tag group + +[EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get runs by tag group +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | tag group name. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **group_name** | **character**| tag group name. | + **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **integer**| The size of the page to be returned | [optional] [default to 20] + **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | list( [**RunOptField**](RunOptField.md) )| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + +### Return type + +[**PagedModelRun**](PagedModelRun.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | tagged runs | - | + +# **GetRunsByTagExperimental** +> PagedModelRun GetRunsByTagExperimental(project_id, filter = "", page = 0, size = 20, sort = var.sort, opt_fields = []) + +[EXPERIMENTAL] Get runs by tag + +[EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get runs by tag +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project space to get runs from. +var_filter <- "" # character | tag filter. (Optional) +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project space to get runs from. | + **filter** | **character**| tag filter. | [optional] [default to ""] + **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] + **size** | **integer**| The size of the page to be returned | [optional] [default to 20] + **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] + **opt_fields** | list( [**RunOptField**](RunOptField.md) )| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to []] + +### Return type + +[**PagedModelRun**](PagedModelRun.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | tagged runs | - | + +# **GetTagsForRunExperimental** +> array[Tag] GetTagsForRunExperimental(project_id, object_id) + +[EXPERIMENTAL] Get all tags associated with this Run + +[EXPERIMENTAL] Get all tags associated with this Run + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get all tags associated with this Run +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to get from. +var_object_id <- "object_id_example" # character | RunId to get tags for. + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTagsForRunExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$runs_api$GetTagsForRunExperimental(var_project_id, var_object_id) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to get from. | + **object_id** | **character**| RunId to get tags for. | + +### Return type + +[**array[Tag]**](Tag.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the tags of the requested object | - | + +# **RemoveTagFromRunExperimental** +> RemoveTagFromRunExperimental(project_id, run_id, tag_name) + +[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space + +[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_run_id <- "run_id_example" # character | run to delete tag from. +var_tag_name <- "tag_name_example" # character | name of the tag to delete. + +api_instance <- rsirius_api$new() +api_instance$runs_api$RemoveTagFromRunExperimental(var_project_id, var_run_id, var_tag_name) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **run_id** | **character**| run to delete tag from. | + **tag_name** | **character**| name of the tag to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + diff --git a/client-api_r/generated/docs/SampleTypeFoldChangeRequest.md b/client-api_r/generated/docs/SampleTypeFoldChangeRequest.md new file mode 100644 index 00000000..ec716182 --- /dev/null +++ b/client-api_r/generated/docs/SampleTypeFoldChangeRequest.md @@ -0,0 +1,11 @@ +# Rsirius::SampleTypeFoldChangeRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sampleRunIds** | **array[character]** | | [optional] +**blankRunIds** | **array[character]** | | [optional] +**controlRunIds** | **array[character]** | | [optional] + + diff --git a/client-api_r/generated/docs/SearchableDatabasesApi.md b/client-api_r/generated/docs/SearchableDatabasesApi.md index 20ae4fd3..4b7dbd7d 100644 --- a/client-api_r/generated/docs/SearchableDatabasesApi.md +++ b/client-api_r/generated/docs/SearchableDatabasesApi.md @@ -284,7 +284,7 @@ No authorization required | **200** | OK | - | # **ImportIntoDatabase** -> SearchableDatabase ImportIntoDatabase(database_id, buffer_size = 1000, input_files = var.input_files) +> SearchableDatabase ImportIntoDatabase(database_id, input_files, buffer_size = 1000, bio_transformer_parameters = var.bio_transformer_parameters) Start import of structure and spectra files into the specified database. @@ -298,13 +298,14 @@ library(Rsirius) # # prepare function argument(s) var_database_id <- "database_id_example" # character | database to import into +var_input_files <- c(123) # array[data.frame] | files to be imported var_buffer_size <- 1000 # integer | (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) +var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportIntoDatabase(var_database_id, buffer_size = var_buffer_size, input_files = var_input_filesdata_file = "result.txt") -result <- api_instance$searchable_databases_api$ImportIntoDatabase(var_database_id, buffer_size = var_buffer_size, input_files = var_input_files) +# result <- api_instance$ImportIntoDatabase(var_database_id, var_input_files, buffer_size = var_buffer_size, bio_transformer_parameters = var_bio_transformer_parametersdata_file = "result.txt") +result <- api_instance$searchable_databases_api$ImportIntoDatabase(var_database_id, var_input_files, buffer_size = var_buffer_size, bio_transformer_parameters = var_bio_transformer_parameters) dput(result) ``` @@ -313,8 +314,9 @@ dput(result) Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **database_id** | **character**| database to import into | + **input_files** | list( **data.frame** )| files to be imported | **buffer_size** | **integer**| | [optional] [default to 1000] - **input_files** | list( **data.frame** )| | [optional] + **bio_transformer_parameters** | [**BioTransformerParameters**](BioTransformerParameters.md)| configuration for biotransformer execution. If null, BioTransformer is not applied. | [optional] ### Return type @@ -332,7 +334,7 @@ No authorization required ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | Job of the import command to be executed. | - | +| **200** | Meta-Information of the affected database after the import has been performed. | - | # **RemoveDatabase** > RemoveDatabase(database_id, delete = FALSE) diff --git a/client-api_r/generated/docs/SecurityContext.md b/client-api_r/generated/docs/SecurityContext.md new file mode 100644 index 00000000..d97a00d1 --- /dev/null +++ b/client-api_r/generated/docs/SecurityContext.md @@ -0,0 +1,9 @@ +# Rsirius::SecurityContext + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**principal** | [**SecurityContextPrincipal**](SecurityContext_principal.md) | | [optional] + + diff --git a/client-api_r/generated/docs/SecurityContextPrincipal.md b/client-api_r/generated/docs/SecurityContextPrincipal.md new file mode 100644 index 00000000..8974aee3 --- /dev/null +++ b/client-api_r/generated/docs/SecurityContextPrincipal.md @@ -0,0 +1,9 @@ +# Rsirius::SecurityContextPrincipal + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **character** | | [optional] + + diff --git a/client-api_r/generated/docs/Sirius.md b/client-api_r/generated/docs/Sirius.md index 4e0efc9b..a0657ffc 100644 --- a/client-api_r/generated/docs/Sirius.md +++ b/client-api_r/generated/docs/Sirius.md @@ -20,8 +20,8 @@ Name | Type | Description | Notes **enforcedFormulaConstraints** | **character** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Enforced: Enforced elements are always considered | [optional] **fallbackFormulaConstraints** | **character** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) | [optional] **detectableElements** | **array[character]** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) | [optional] -**ilpTimeout** | [**Timeout**](Timeout.md) | | [optional] -**useHeuristic** | [**UseHeuristic**](UseHeuristic.md) | | [optional] +**ilpTimeout** | [**Timeout**](Timeout.md) | Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint | [optional] +**useHeuristic** | [**UseHeuristic**](UseHeuristic.md) | Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. | [optional] **injectSpecLibMatchFormulas** | **character** | If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied | [optional] **minScoreToInjectSpecLibMatch** | **numeric** | Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. | [optional] **minPeaksToInjectSpecLibMatch** | **integer** | Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. | [optional] diff --git a/client-api_r/generated/docs/SpectralLibraryMatch.md b/client-api_r/generated/docs/SpectralLibraryMatch.md index d63613f4..4a4a6d47 100644 --- a/client-api_r/generated/docs/SpectralLibraryMatch.md +++ b/client-api_r/generated/docs/SpectralLibraryMatch.md @@ -6,8 +6,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **specMatchId** | **character** | | [optional] **rank** | **integer** | | [optional] -**similarity** | **numeric** | | -**sharedPeaks** | **integer** | | [optional] +**similarity** | **numeric** | Similarity between query and reference spectrum | +**sharedPeaks** | **integer** | Number of shared/matched peaks | [optional] +**sharedPeakMapping** | [**array[PeakPair]**](PeakPair.md) | List of paired/matched peak indices. Maps indices of peaks from the query spectrum (mass sorted) to indices of matched peaks in the reference spectrum (mass sorted) | [optional] **querySpectrumIndex** | **integer** | | **dbName** | **character** | | [optional] **dbId** | **character** | | [optional] @@ -15,9 +16,12 @@ Name | Type | Description | Notes **splash** | **character** | | [optional] **molecularFormula** | **character** | | [optional] **adduct** | **character** | | [optional] -**exactMass** | **character** | | [optional] +**exactMass** | **numeric** | | [optional] **smiles** | **character** | | [optional] +**type** | **character** | | [optional] [default to "IDENTITY"] [Enum: [IDENTITY, ANALOG]] **inchiKey** | **character** | | +**referenceSpectrumType** | **character** | | [optional] [default to "SPECTRUM"] [Enum: [SPECTRUM, MERGED_SPECTRUM]] **referenceSpectrum** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] +**querySpectrumType** | **character** | | [optional] [Enum: [SPECTRUM, MERGED_SPECTRUM]] diff --git a/client-api_r/generated/docs/SpectralLibrarySearch.md b/client-api_r/generated/docs/SpectralLibrarySearch.md index 9ebaeb69..a96c07da 100644 --- a/client-api_r/generated/docs/SpectralLibrarySearch.md +++ b/client-api_r/generated/docs/SpectralLibrarySearch.md @@ -7,8 +7,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **character** | tags whether the tool is enabled | [optional] **spectraSearchDBs** | **array[character]** | Structure Databases with Reference spectra to search in. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] -**peakDeviationPpm** | **numeric** | Maximum allowed mass deviation in ppm for matching peaks. | [optional] **precursorDeviationPpm** | **numeric** | Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used. | [optional] -**scoring** | **character** | Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. | [optional] [Enum: [INTENSITY, GAUSSIAN, MODIFIED_COSINE]] +**minSimilarity** | **numeric** | Minimal spectral similarity of a spectral match to be considered a hit. | [optional] +**minNumOfPeaks** | **integer** | Minimal number of matching peaks of a spectral match to be considered a hit. | [optional] +**enableAnalogueSearch** | **character** | Enable analogue search in addition to the identity spectral library search | [optional] +**minSimilarityAnalogue** | **numeric** | Minimal spectral similarity of a spectral match to be considered an analogue hit. | [optional] +**minNumOfPeaksAnalogue** | **integer** | Minimal number of matching peaks of a spectral match to be considered an analogue hit. | [optional] +**scoring** | **character** | NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. | [optional] [Enum: [INTENSITY, GAUSSIAN, MODIFIED_COSINE, FAST_COSINE]] +**peakDeviationPpm** | **numeric** | NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks. | [optional] diff --git a/client-api_r/generated/docs/SpectrumAnnotation.md b/client-api_r/generated/docs/SpectrumAnnotation.md index fade03c2..824bcd18 100644 --- a/client-api_r/generated/docs/SpectrumAnnotation.md +++ b/client-api_r/generated/docs/SpectrumAnnotation.md @@ -9,7 +9,9 @@ Name | Type | Description | Notes **exactMass** | **numeric** | Exact mass based on the annotated molecular formula and ionization | [optional] **massDeviationMz** | **numeric** | Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa | [optional] **massDeviationPpm** | **numeric** | Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm | [optional] -**structureAnnotationSmiles** | **character** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. Null if substructure annotation not available or not requested. | [optional] -**structureAnnotationScore** | **numeric** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) Null if substructure annotation not available or not requested. | [optional] +**structureAnnotationSmiles** | **character** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. <p> Null if substructure annotation not available or not requested. | [optional] +**structureAnnotationName** | **character** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation. <p> Null if substructure annotation not available or not requested. | [optional] +**structureAnnotationSvg** | **character** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refers to this SVG. <p> Null if substructure annotation not available or not requested. | [optional] +**structureAnnotationScore** | **numeric** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. <p> Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) <p> Null if substructure annotation not available or not requested. | [optional] diff --git a/client-api_r/generated/docs/StatisticsTable.md b/client-api_r/generated/docs/StatisticsTable.md new file mode 100644 index 00000000..d7f79e37 --- /dev/null +++ b/client-api_r/generated/docs/StatisticsTable.md @@ -0,0 +1,17 @@ +# Rsirius::StatisticsTable + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**statisticsType** | **character** | | [optional] [Enum: [FOLD_CHANGE]] +**aggregationType** | **character** | | [optional] [Enum: [AVG, MIN, MAX]] +**quantificationMeasure** | **character** | | [optional] [Enum: [APEX_INTENSITY, AREA_UNDER_CURVE]] +**rowType** | **character** | | [optional] [Enum: [FEATURES, COMPOUNDS]] +**rowIds** | **array[character]** | | [optional] +**columnNames** | **array[character]** | | [optional] +**columnLeftGroups** | **array[character]** | | [optional] +**columnRightGroups** | **array[character]** | | [optional] +**values** | [**array[array[numeric]]**](array.md) | | [optional] + + diff --git a/client-api_r/generated/docs/StoredJobSubmission.md b/client-api_r/generated/docs/StoredJobSubmission.md index ba384520..71dea661 100644 --- a/client-api_r/generated/docs/StoredJobSubmission.md +++ b/client-api_r/generated/docs/StoredJobSubmission.md @@ -6,6 +6,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **character** | Unique name to identify this JobSubmission (job config). | **editable** | **character** | False for predefined configs which are not editable and not removable. | -**jobSubmission** | [**JobSubmission**](JobSubmission.md) | | +**jobSubmission** | [**JobSubmission**](JobSubmission.md) | The JobSubmission identified by the name | diff --git a/client-api_r/generated/docs/StructureCandidate.md b/client-api_r/generated/docs/StructureCandidate.md index 7e0daaba..f6b9a89c 100644 --- a/client-api_r/generated/docs/StructureCandidate.md +++ b/client-api_r/generated/docs/StructureCandidate.md @@ -7,8 +7,9 @@ Name | Type | Description | Notes **inchiKey** | **character** | | [optional] **smiles** | **character** | | [optional] **structureName** | **character** | | [optional] -**xlogP** | **numeric** | | [optional] +**structureSvg** | **character** | SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter | [optional] **dbLinks** | [**array[DBLink]**](DBLink.md) | List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] **spectralLibraryMatches** | [**array[SpectralLibraryMatch]**](SpectralLibraryMatch.md) | List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] +**xlogP** | **numeric** | | [optional] diff --git a/client-api_r/generated/docs/StructureCandidateFormula.md b/client-api_r/generated/docs/StructureCandidateFormula.md index 2a64b6be..be876c20 100644 --- a/client-api_r/generated/docs/StructureCandidateFormula.md +++ b/client-api_r/generated/docs/StructureCandidateFormula.md @@ -7,14 +7,15 @@ Name | Type | Description | Notes **inchiKey** | **character** | | [optional] **smiles** | **character** | | [optional] **structureName** | **character** | | [optional] -**xlogP** | **numeric** | | [optional] +**structureSvg** | **character** | SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter | [optional] **dbLinks** | [**array[DBLink]**](DBLink.md) | List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] **spectralLibraryMatches** | [**array[SpectralLibraryMatch]**](SpectralLibraryMatch.md) | List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] +**xlogP** | **numeric** | | [optional] **rank** | **integer** | the overall rank of this candidate among all candidates of this feature | [optional] **csiScore** | **numeric** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimotoSimilarity** | **numeric** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mcesDistToTopHit** | **numeric** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] **molecularFormula** | **character** | Molecular formula of this candidate | [optional] **adduct** | **character** | Adduct of this candidate | [optional] **formulaId** | **character** | Id of the corresponding Formula candidate | [optional] diff --git a/client-api_r/generated/docs/StructureCandidateScored.md b/client-api_r/generated/docs/StructureCandidateScored.md index 84f90521..1dccb329 100644 --- a/client-api_r/generated/docs/StructureCandidateScored.md +++ b/client-api_r/generated/docs/StructureCandidateScored.md @@ -7,13 +7,14 @@ Name | Type | Description | Notes **inchiKey** | **character** | | [optional] **smiles** | **character** | | [optional] **structureName** | **character** | | [optional] -**xlogP** | **numeric** | | [optional] +**structureSvg** | **character** | SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter | [optional] **dbLinks** | [**array[DBLink]**](DBLink.md) | List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] **spectralLibraryMatches** | [**array[SpectralLibraryMatch]**](SpectralLibraryMatch.md) | List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter | [optional] +**xlogP** | **numeric** | | [optional] **rank** | **integer** | the overall rank of this candidate among all candidates of this feature | [optional] **csiScore** | **numeric** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimotoSimilarity** | **numeric** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mcesDistToTopHit** | **numeric** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] diff --git a/client-api_r/generated/docs/Subscription.md b/client-api_r/generated/docs/Subscription.md index 95697bd6..3fd709f8 100644 --- a/client-api_r/generated/docs/Subscription.md +++ b/client-api_r/generated/docs/Subscription.md @@ -19,5 +19,6 @@ Name | Type | Description | Notes **name** | **character** | | [optional] **tos** | **character** | | [optional] **pp** | **character** | | [optional] +**allowedFeatures** | [**AllowedFeatures**](AllowedFeatures.md) | | [optional] diff --git a/client-api_r/generated/docs/Tag.md b/client-api_r/generated/docs/Tag.md new file mode 100644 index 00000000..90b8b879 --- /dev/null +++ b/client-api_r/generated/docs/Tag.md @@ -0,0 +1,10 @@ +# Rsirius::Tag + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tagName** | **character** | Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. | +**value** | [**AnyType**](.md) | | [optional] + + diff --git a/client-api_r/generated/docs/TagDefinition.md b/client-api_r/generated/docs/TagDefinition.md new file mode 100644 index 00000000..34a1f7bf --- /dev/null +++ b/client-api_r/generated/docs/TagDefinition.md @@ -0,0 +1,16 @@ +# Rsirius::TagDefinition + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tagName** | **character** | Name of this tag defined by this definition (key) | +**description** | **character** | A human-readable description about the purpose of this tag. | [optional] +**tagType** | **character** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] +**valueType** | **character** | | [Enum: [NONE, BOOLEAN, INTEGER, REAL, TEXT, DATE, TIME]] +**possibleValues** | [**array[AnyType]**](AnyType.md) | | [optional] +**minValue** | [**AnyType**](.md) | | [optional] +**maxValue** | [**AnyType**](.md) | | [optional] +**editable** | **character** | | [optional] + + diff --git a/client-api_r/generated/docs/TagDefinitionImport.md b/client-api_r/generated/docs/TagDefinitionImport.md new file mode 100644 index 00000000..a10c16d5 --- /dev/null +++ b/client-api_r/generated/docs/TagDefinitionImport.md @@ -0,0 +1,15 @@ +# Rsirius::TagDefinitionImport + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tagName** | **character** | Name of this tag defined by this definition (key) | +**description** | **character** | A human-readable description about the purpose of this tag. | [optional] +**tagType** | **character** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] +**valueType** | **character** | | [Enum: [NONE, BOOLEAN, INTEGER, REAL, TEXT, DATE, TIME]] +**possibleValues** | [**array[AnyType]**](AnyType.md) | | [optional] +**minValue** | [**AnyType**](.md) | | [optional] +**maxValue** | [**AnyType**](.md) | | [optional] + + diff --git a/client-api_r/generated/docs/TagGroup.md b/client-api_r/generated/docs/TagGroup.md new file mode 100644 index 00000000..db797d6f --- /dev/null +++ b/client-api_r/generated/docs/TagGroup.md @@ -0,0 +1,11 @@ +# Rsirius::TagGroup + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**groupName** | **character** | Name of this Grouping query. | [optional] +**luceneQuery** | **character** | Query used to group the entities in lucene format. | [optional] +**groupType** | **character** | | [optional] + + diff --git a/client-api_r/generated/docs/TagsApi.md b/client-api_r/generated/docs/TagsApi.md new file mode 100644 index 00000000..ee2f9f3c --- /dev/null +++ b/client-api_r/generated/docs/TagsApi.md @@ -0,0 +1,458 @@ +# TagsApi + +All URIs are relative to *http://localhost:8080* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**AddGroup**](TagsApi.md#AddGroup) | **POST** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Group tags in the project +[**AddPossibleValuesToTagDefinition**](TagsApi.md#AddPossibleValuesToTagDefinition) | **PATCH** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Add a possible value to the tag definition in the project +[**CreateTags**](TagsApi.md#CreateTags) | **PUT** /api/projects/{projectId}/tags | [EXPERIMENTAL] Add tags to the project +[**DeleteGroup**](TagsApi.md#DeleteGroup) | **DELETE** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +[**DeleteTag**](TagsApi.md#DeleteTag) | **DELETE** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +[**GetGroupByName**](TagsApi.md#GetGroupByName) | **GET** /api/projects/{projectId}/groups/{groupName} | [EXPERIMENTAL] Get tag group by name in the given project-space +[**GetGroups**](TagsApi.md#GetGroups) | **GET** /api/projects/{projectId}/groups | [EXPERIMENTAL] Get all tag based groups in the given project-space +[**GetTag**](TagsApi.md#GetTag) | **GET** /api/projects/{projectId}/tags/{tagName} | [EXPERIMENTAL] Get tag definition by its name in the given project-space +[**GetTags**](TagsApi.md#GetTags) | **GET** /api/projects/{projectId}/tags | [EXPERIMENTAL] Get all tag definitions in the given project-space + + +# **AddGroup** +> TagGroup AddGroup(project_id, group_name, filter, type) + +[EXPERIMENTAL] Group tags in the project + +[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Group tags in the project +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to add to. +var_group_name <- "group_name_example" # character | name of the new group +var_filter <- "filter_example" # character | filter query to create the group +var_type <- "type_example" # character | type of the group + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddGroup(var_project_id, var_group_name, var_filter, var_typedata_file = "result.txt") +result <- api_instance$tags_api$AddGroup(var_project_id, var_group_name, var_filter, var_type) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to add to. | + **group_name** | **character**| name of the new group | + **filter** | **character**| filter query to create the group | + **type** | **character**| type of the group | + +### Return type + +[**TagGroup**](TagGroup.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the tag group that was added | - | + +# **AddPossibleValuesToTagDefinition** +> TagDefinition AddPossibleValuesToTagDefinition(project_id, tag_name, request_body) + +[EXPERIMENTAL] Add a possible value to the tag definition in the project + +[EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Add a possible value to the tag definition in the project +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to add to. +var_tag_name <- "tag_name_example" # character | the tag definition to add the values to +var_request_body <- c(TODO) # array[AnyType] | + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddPossibleValuesToTagDefinition(var_project_id, var_tag_name, var_request_bodydata_file = "result.txt") +result <- api_instance$tags_api$AddPossibleValuesToTagDefinition(var_project_id, var_tag_name, var_request_body) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to add to. | + **tag_name** | **character**| the tag definition to add the values to | + **request_body** | list( [**AnyType**](AnyType.md) )| | + +### Return type + +[**TagDefinition**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the definitions of the tags that have been added | - | + +# **CreateTags** +> array[TagDefinition] CreateTags(project_id, tag_definition_import) + +[EXPERIMENTAL] Add tags to the project + +[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Add tags to the project +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to add to. +var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(TODO), TODO, TODO)) # array[TagDefinitionImport] | the tag definitions to be created + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$CreateTags(var_project_id, var_tag_definition_importdata_file = "result.txt") +result <- api_instance$tags_api$CreateTags(var_project_id, var_tag_definition_import) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to add to. | + **tag_definition_import** | list( [**TagDefinitionImport**](TagDefinitionImport.md) )| the tag definitions to be created | + +### Return type + +[**array[TagDefinition]**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | the definitions of the tags that have been created | - | + +# **DeleteGroup** +> DeleteGroup(project_id, group_name) + +[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space + +[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | name of group to delete. + +api_instance <- rsirius_api$new() +api_instance$tags_api$DeleteGroup(var_project_id, var_group_name) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **group_name** | **character**| name of group to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **DeleteTag** +> DeleteTag(project_id, tag_name) + +[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space + +[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_tag_name <- "tag_name_example" # character | name of the tag definition to delete. + +api_instance <- rsirius_api$new() +api_instance$tags_api$DeleteTag(var_project_id, var_tag_name) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to delete from. | + **tag_name** | **character**| name of the tag definition to delete. | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +# **GetGroupByName** +> TagGroup GetGroupByName(project_id, group_name) + +[EXPERIMENTAL] Get tag group by name in the given project-space + +[EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get tag group by name in the given project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_group_name <- "group_name_example" # character | name of the group + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetGroupByName(var_project_id, var_group_namedata_file = "result.txt") +result <- api_instance$tags_api$GetGroupByName(var_project_id, var_group_name) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **group_name** | **character**| name of the group | + +### Return type + +[**TagGroup**](TagGroup.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Tag group. | - | + +# **GetGroups** +> array[TagGroup] GetGroups(project_id, group_type = var.group_type) + +[EXPERIMENTAL] Get all tag based groups in the given project-space + +[EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get all tag based groups in the given project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_group_type <- "group_type_example" # character | type of the group (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetGroups(var_project_id, group_type = var_group_typedata_file = "result.txt") +result <- api_instance$tags_api$GetGroups(var_project_id, group_type = var_group_type) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **group_type** | **character**| type of the group | [optional] + +### Return type + +[**array[TagGroup]**](TagGroup.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Groups. | - | + +# **GetTag** +> TagDefinition GetTag(project_id, tag_name) + +[EXPERIMENTAL] Get tag definition by its name in the given project-space + +[EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get tag definition by its name in the given project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_tag_name <- "tag_name_example" # character | name of the tag + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTag(var_project_id, var_tag_namedata_file = "result.txt") +result <- api_instance$tags_api$GetTag(var_project_id, var_tag_name) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **tag_name** | **character**| name of the tag | + +### Return type + +[**TagDefinition**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Tag definition. | - | + +# **GetTags** +> array[TagDefinition] GetTags(project_id, tag_type = var.tag_type) + +[EXPERIMENTAL] Get all tag definitions in the given project-space + +[EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. + +### Example +```R +library(Rsirius) + +# [EXPERIMENTAL] Get all tag definitions in the given project-space +# +# prepare function argument(s) +var_project_id <- "project_id_example" # character | project-space to read from. +var_tag_type <- "tag_type_example" # character | scope of the tag (optional) (Optional) + +api_instance <- rsirius_api$new() +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTags(var_project_id, tag_type = var_tag_typedata_file = "result.txt") +result <- api_instance$tags_api$GetTags(var_project_id, tag_type = var_tag_type) +dput(result) +``` + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **character**| project-space to read from. | + **tag_type** | **character**| scope of the tag (optional) | [optional] + +### Return type + +[**array[TagDefinition]**](TagDefinition.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Tag definitions. | - | + diff --git a/client-api_r/generated/docs/TraceExperimental.md b/client-api_r/generated/docs/TraceExperimental.md index 4508448f..707df5f1 100644 --- a/client-api_r/generated/docs/TraceExperimental.md +++ b/client-api_r/generated/docs/TraceExperimental.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **sampleId** | **character** | | [optional] **sampleName** | **character** | | [optional] **label** | **character** | | [optional] +**color** | **character** | | [optional] **intensities** | **array[numeric]** | | [optional] **annotations** | [**array[TraceAnnotationExperimental]**](TraceAnnotationExperimental.md) | | [optional] **mz** | **numeric** | | [optional] diff --git a/client-api_r/generated/docs/WebServerNamespace.md b/client-api_r/generated/docs/WebServerNamespace.md new file mode 100644 index 00000000..003ec706 --- /dev/null +++ b/client-api_r/generated/docs/WebServerNamespace.md @@ -0,0 +1,9 @@ +# Rsirius::WebServerNamespace + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **character** | | [optional] + + diff --git a/client-api_r/generated/docs/Zodiac.md b/client-api_r/generated/docs/Zodiac.md index 06a8951e..eea16050 100644 --- a/client-api_r/generated/docs/Zodiac.md +++ b/client-api_r/generated/docs/Zodiac.md @@ -9,7 +9,9 @@ Name | Type | Description | Notes **consideredCandidatesAt300Mz** | **integer** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. | [optional] **consideredCandidatesAt800Mz** | **integer** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. | [optional] **runInTwoSteps** | **character** | As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. | [optional] -**edgeFilterThresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | | [optional] -**gibbsSamplerParameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | | [optional] +**edgeFilterThresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. | [optional] +**gibbsSamplerParameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. | [optional] +**librarySearchAnchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | Configure the use of identity spectral library search results as anchors in ZODIAC network | [optional] +**analogueSearchAnchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | Configure the use of analogue spectral library search results as anchors in ZODIAC network | [optional] diff --git a/client-api_r/generated/docs/ZodiacAnalogueNodes.md b/client-api_r/generated/docs/ZodiacAnalogueNodes.md new file mode 100644 index 00000000..5449a99f --- /dev/null +++ b/client-api_r/generated/docs/ZodiacAnalogueNodes.md @@ -0,0 +1,11 @@ +# Rsirius::ZodiacAnalogueNodes + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **character** | | [optional] +**minSimilarity** | **numeric** | | [optional] +**minSharedPeaks** | **integer** | | [optional] + + diff --git a/client-api_r/generated/docs/ZodiacLibraryScoring.md b/client-api_r/generated/docs/ZodiacLibraryScoring.md new file mode 100644 index 00000000..840c4b7c --- /dev/null +++ b/client-api_r/generated/docs/ZodiacLibraryScoring.md @@ -0,0 +1,10 @@ +# Rsirius::ZodiacLibraryScoring + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **character** | | [optional] +**minSimilarity** | **numeric** | | [optional] + + diff --git a/client-api_r/generated/man/ActuatorApi.Rd b/client-api_r/generated/man/ActuatorApi.Rd index ad5b32b5..0df45e5f 100644 --- a/client-api_r/generated/man/ActuatorApi.Rd +++ b/client-api_r/generated/man/ActuatorApi.Rd @@ -40,10 +40,7 @@ library(Rsirius) #Actuator web endpoint 'shutdown' api_instance <- rsirius_api$new() -# to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$Shutdown(data_file = "result.txt") -result <- api_instance$actuator_api$Shutdown() -dput(result) +api_instance$actuator_api$Shutdown() } @@ -133,20 +130,18 @@ API response (object) with additional information such as HTTP status code, head \subsection{Method \code{Shutdown()}}{ Actuator web endpoint 'shutdown' \subsection{Usage}{ -\if{html}{\out{

}}\preformatted{ActuatorApi$Shutdown(data_file = NULL, ...)}\if{html}{\out{
}} +\if{html}{\out{
}}\preformatted{ActuatorApi$Shutdown(...)}\if{html}{\out{
}} } \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{data_file}}{(optional) name of the data file to save the result} - \item{\code{...}}{Other optional arguments} } \if{html}{\out{
}} } \subsection{Returns}{ -object +void } } \if{html}{\out{
}} @@ -155,20 +150,18 @@ object \subsection{Method \code{ShutdownWithHttpInfo()}}{ Actuator web endpoint 'shutdown' \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{ActuatorApi$ShutdownWithHttpInfo(data_file = NULL, ...)}\if{html}{\out{
}} +\if{html}{\out{
}}\preformatted{ActuatorApi$ShutdownWithHttpInfo(...)}\if{html}{\out{
}} } \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{data_file}}{(optional) name of the data file to save the result} - \item{\code{...}}{Other optional arguments} } \if{html}{\out{
}} } \subsection{Returns}{ -API response (object) with additional information such as HTTP status code, headers +API response (void) with additional information such as HTTP status code, headers } } \if{html}{\out{
}} diff --git a/client-api_r/generated/man/AlignedFeature.Rd b/client-api_r/generated/man/AlignedFeature.Rd index 2f8acf8e..a4c180a0 100644 --- a/client-api_r/generated/man/AlignedFeature.Rd +++ b/client-api_r/generated/man/AlignedFeature.Rd @@ -58,15 +58,17 @@ df \item{\code{hasMsMs}}{If true, the feature has at lease one MS/MS spectrum character [optional]} -\item{\code{msData}}{\link{MsData} [optional]} +\item{\code{msData}}{Mass Spec data of this feature (input data) \link{MsData} [optional]} -\item{\code{topAnnotations}}{\link{FeatureAnnotations} [optional]} +\item{\code{topAnnotations}}{Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional]} -\item{\code{topAnnotationsDeNovo}}{\link{FeatureAnnotations} [optional]} +\item{\code{topAnnotationsDeNovo}}{Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional]} \item{\code{computing}}{Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results character [optional]} -\item{\code{computedTools}}{\link{ComputedSubtools} [optional]} +\item{\code{computedTools}}{Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. \link{ComputedSubtools} [optional]} + +\item{\code{tags}}{Key: tagName, value: tag named list(\link{Tag}) [optional]} } \if{html}{\out{}} } @@ -113,6 +115,7 @@ Initialize a new AlignedFeature class. topAnnotationsDeNovo = NULL, computing = NULL, computedTools = NULL, + tags = NULL, ... )}\if{html}{\out{}} } @@ -146,15 +149,17 @@ Initialize a new AlignedFeature class. \item{\code{hasMsMs}}{If true, the feature has at lease one MS/MS spectrum} -\item{\code{msData}}{msData} +\item{\code{msData}}{Mass Spec data of this feature (input data)} -\item{\code{topAnnotations}}{topAnnotations} +\item{\code{topAnnotations}}{Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise.} -\item{\code{topAnnotationsDeNovo}}{topAnnotationsDeNovo} +\item{\code{topAnnotationsDeNovo}}{Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise.} \item{\code{computing}}{Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results} -\item{\code{computedTools}}{computedTools} +\item{\code{computedTools}}{Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.} + +\item{\code{tags}}{Key: tagName, value: tag} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/AllowedFeatures.Rd b/client-api_r/generated/man/AllowedFeatures.Rd new file mode 100644 index 00000000..5273626c --- /dev/null +++ b/client-api_r/generated/man/AllowedFeatures.Rd @@ -0,0 +1,299 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/allowed_features.R +\docType{class} +\name{AllowedFeatures} +\alias{AllowedFeatures} +\title{AllowedFeatures} +\format{ +An \code{R6Class} generator object +} +\description{ +AllowedFeatures Class + +AllowedFeatures Class +} +\details{ +Create a new AllowedFeatures +} +\examples{ + +## ------------------------------------------------ +## Method `AllowedFeatures$toList` +## ------------------------------------------------ + +# convert array of AllowedFeatures (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{cli}}{character [optional]} + +\item{\code{api}}{character [optional]} + +\item{\code{deNovo}}{character [optional]} + +\item{\code{importMSRuns}}{character [optional]} + +\item{\code{importPeakLists}}{character [optional]} + +\item{\code{importCef}}{character [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-AllowedFeatures-new}{\code{AllowedFeatures$new()}} +\item \href{#method-AllowedFeatures-toJSON}{\code{AllowedFeatures$toJSON()}} +\item \href{#method-AllowedFeatures-toList}{\code{AllowedFeatures$toList()}} +\item \href{#method-AllowedFeatures-toSimpleType}{\code{AllowedFeatures$toSimpleType()}} +\item \href{#method-AllowedFeatures-fromJSON}{\code{AllowedFeatures$fromJSON()}} +\item \href{#method-AllowedFeatures-toJSONString}{\code{AllowedFeatures$toJSONString()}} +\item \href{#method-AllowedFeatures-fromJSONString}{\code{AllowedFeatures$fromJSONString()}} +\item \href{#method-AllowedFeatures-validateJSON}{\code{AllowedFeatures$validateJSON()}} +\item \href{#method-AllowedFeatures-toString}{\code{AllowedFeatures$toString()}} +\item \href{#method-AllowedFeatures-isValid}{\code{AllowedFeatures$isValid()}} +\item \href{#method-AllowedFeatures-getInvalidFields}{\code{AllowedFeatures$getInvalidFields()}} +\item \href{#method-AllowedFeatures-print}{\code{AllowedFeatures$print()}} +\item \href{#method-AllowedFeatures-clone}{\code{AllowedFeatures$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new AllowedFeatures class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$new( + cli = NULL, + api = NULL, + deNovo = NULL, + importMSRuns = NULL, + importPeakLists = NULL, + importCef = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{cli}}{cli} + +\item{\code{api}}{api} + +\item{\code{deNovo}}{deNovo} + +\item{\code{importMSRuns}}{importMSRuns} + +\item{\code{importPeakLists}}{importPeakLists} + +\item{\code{importCef}}{importCef} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +AllowedFeatures as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of AllowedFeatures (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert AllowedFeatures to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of AllowedFeatures +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of AllowedFeatures +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +AllowedFeatures in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of AllowedFeatures +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of AllowedFeatures +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to AllowedFeatures and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of AllowedFeatures +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-AllowedFeatures-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{AllowedFeatures$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/AnnotatedSpectrum.Rd b/client-api_r/generated/man/AnnotatedSpectrum.Rd index a0ea6550..4d0ffe99 100644 --- a/client-api_r/generated/man/AnnotatedSpectrum.Rd +++ b/client-api_r/generated/man/AnnotatedSpectrum.Rd @@ -44,11 +44,23 @@ df \item{\code{scanNumber}}{Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) integer [optional]} +\item{\code{cosineQuery}}{True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character} + +\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional]} + \item{\code{peaks}}{The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{AnnotatedPeak})} -\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) numeric [optional]} +\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. numeric [optional]} + +\item{\code{maxNormFactor}}{Factor to convert absolute intensities to MAX norm. numeric [optional]} + +\item{\code{sumNormFactor}}{Factor to convert absolute intensities to SUM norm. numeric [optional]} + +\item{\code{l2NormFactor}}{Factor to convert absolute intensities to L2 (Euclidean) norm. numeric [optional]} + +\item{\code{firstPeakNormFactor}}{Factor to convert absolute intensities to normalize intensities by first peak intensity. numeric [optional]} -\item{\code{spectrumAnnotation}}{\link{SpectrumAnnotation} [optional]} +\item{\code{spectrumAnnotation}}{Optional Annotations of this spectrum. \link{SpectrumAnnotation} [optional]} } \if{html}{\out{}} } @@ -77,6 +89,7 @@ df Initialize a new AnnotatedSpectrum class. \subsection{Usage}{ \if{html}{\out{

}}\preformatted{AnnotatedSpectrum$new( + cosineQuery, peaks, name = NULL, msLevel = NULL, @@ -84,7 +97,12 @@ Initialize a new AnnotatedSpectrum class. instrument = NULL, precursorMz = NULL, scanNumber = NULL, + precursorPeak = NULL, absIntensityFactor = NULL, + maxNormFactor = NULL, + sumNormFactor = NULL, + l2NormFactor = NULL, + firstPeakNormFactor = NULL, spectrumAnnotation = NULL, ... )}\if{html}{\out{
}} @@ -93,6 +111,8 @@ Initialize a new AnnotatedSpectrum class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ +\item{\code{cosineQuery}}{True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.} + \item{\code{peaks}}{The peaks of this spectrum which might contain additional annotations such as molecular formulas.} \item{\code{name}}{Optional Displayable name of this spectrum.} @@ -107,9 +127,19 @@ Initialize a new AnnotatedSpectrum class. \item{\code{scanNumber}}{Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)} -\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)} +\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.} + +\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.} + +\item{\code{maxNormFactor}}{Factor to convert absolute intensities to MAX norm.} + +\item{\code{sumNormFactor}}{Factor to convert absolute intensities to SUM norm.} + +\item{\code{l2NormFactor}}{Factor to convert absolute intensities to L2 (Euclidean) norm.} + +\item{\code{firstPeakNormFactor}}{Factor to convert absolute intensities to normalize intensities by first peak intensity.} -\item{\code{spectrumAnnotation}}{spectrumAnnotation} +\item{\code{spectrumAnnotation}}{Optional Annotations of this spectrum.} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/BasicSpectrum.Rd b/client-api_r/generated/man/BasicSpectrum.Rd index 4c522b4c..17d8e47b 100644 --- a/client-api_r/generated/man/BasicSpectrum.Rd +++ b/client-api_r/generated/man/BasicSpectrum.Rd @@ -44,9 +44,21 @@ df \item{\code{scanNumber}}{Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) integer [optional]} +\item{\code{cosineQuery}}{True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character} + +\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional]} + \item{\code{peaks}}{The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{SimplePeak})} -\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) numeric [optional]} +\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. numeric [optional]} + +\item{\code{maxNormFactor}}{Factor to convert absolute intensities to MAX norm. numeric [optional]} + +\item{\code{sumNormFactor}}{Factor to convert absolute intensities to SUM norm. numeric [optional]} + +\item{\code{l2NormFactor}}{Factor to convert absolute intensities to L2 (Euclidean) norm. numeric [optional]} + +\item{\code{firstPeakNormFactor}}{Factor to convert absolute intensities to normalize intensities by first peak intensity. numeric [optional]} } \if{html}{\out{

}} } @@ -75,6 +87,7 @@ df Initialize a new BasicSpectrum class. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{BasicSpectrum$new( + cosineQuery, peaks, name = NULL, msLevel = NULL, @@ -82,7 +95,12 @@ Initialize a new BasicSpectrum class. instrument = NULL, precursorMz = NULL, scanNumber = NULL, + precursorPeak = NULL, absIntensityFactor = NULL, + maxNormFactor = NULL, + sumNormFactor = NULL, + l2NormFactor = NULL, + firstPeakNormFactor = NULL, ... )}\if{html}{\out{
}} } @@ -90,6 +108,8 @@ Initialize a new BasicSpectrum class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ +\item{\code{cosineQuery}}{True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.} + \item{\code{peaks}}{The peaks of this spectrum which might contain additional annotations such as molecular formulas.} \item{\code{name}}{Optional Displayable name of this spectrum.} @@ -104,7 +124,17 @@ Initialize a new BasicSpectrum class. \item{\code{scanNumber}}{Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)} -\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)} +\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.} + +\item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.} + +\item{\code{maxNormFactor}}{Factor to convert absolute intensities to MAX norm.} + +\item{\code{sumNormFactor}}{Factor to convert absolute intensities to SUM norm.} + +\item{\code{l2NormFactor}}{Factor to convert absolute intensities to L2 (Euclidean) norm.} + +\item{\code{firstPeakNormFactor}}{Factor to convert absolute intensities to normalize intensities by first peak intensity.} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/BioTransformerParameters.Rd b/client-api_r/generated/man/BioTransformerParameters.Rd new file mode 100644 index 00000000..bd076ccb --- /dev/null +++ b/client-api_r/generated/man/BioTransformerParameters.Rd @@ -0,0 +1,289 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/bio_transformer_parameters.R +\docType{class} +\name{BioTransformerParameters} +\alias{BioTransformerParameters} +\title{BioTransformerParameters} +\format{ +An \code{R6Class} generator object +} +\description{ +BioTransformerParameters Class + +BioTransformerParameters Class +} +\details{ +Create a new BioTransformerParameters +} +\examples{ + +## ------------------------------------------------ +## Method `BioTransformerParameters$toList` +## ------------------------------------------------ + +# convert array of BioTransformerParameters (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{

}} +\describe{ +\item{\code{cyp450Mode}}{Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode. character} + +\item{\code{p2Mode}}{Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode. character} + +\item{\code{useDB}}{\"Specify if you want to enable the retrieving from database (HMDB) feature.\" character [optional]} + +\item{\code{bioTransformerSequenceSteps}}{Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one). list(\link{BioTransformerSequenceStep})} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-BioTransformerParameters-new}{\code{BioTransformerParameters$new()}} +\item \href{#method-BioTransformerParameters-toJSON}{\code{BioTransformerParameters$toJSON()}} +\item \href{#method-BioTransformerParameters-toList}{\code{BioTransformerParameters$toList()}} +\item \href{#method-BioTransformerParameters-toSimpleType}{\code{BioTransformerParameters$toSimpleType()}} +\item \href{#method-BioTransformerParameters-fromJSON}{\code{BioTransformerParameters$fromJSON()}} +\item \href{#method-BioTransformerParameters-toJSONString}{\code{BioTransformerParameters$toJSONString()}} +\item \href{#method-BioTransformerParameters-fromJSONString}{\code{BioTransformerParameters$fromJSONString()}} +\item \href{#method-BioTransformerParameters-validateJSON}{\code{BioTransformerParameters$validateJSON()}} +\item \href{#method-BioTransformerParameters-toString}{\code{BioTransformerParameters$toString()}} +\item \href{#method-BioTransformerParameters-isValid}{\code{BioTransformerParameters$isValid()}} +\item \href{#method-BioTransformerParameters-getInvalidFields}{\code{BioTransformerParameters$getInvalidFields()}} +\item \href{#method-BioTransformerParameters-print}{\code{BioTransformerParameters$print()}} +\item \href{#method-BioTransformerParameters-clone}{\code{BioTransformerParameters$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new BioTransformerParameters class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$new( + cyp450Mode, + p2Mode, + bioTransformerSequenceSteps, + useDB = TRUE, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{cyp450Mode}}{Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode.} + +\item{\code{p2Mode}}{Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode.} + +\item{\code{bioTransformerSequenceSteps}}{Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one).} + +\item{\code{useDB}}{\"Specify if you want to enable the retrieving from database (HMDB) feature.\". Default to TRUE.} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +BioTransformerParameters as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of BioTransformerParameters (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert BioTransformerParameters to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of BioTransformerParameters +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of BioTransformerParameters +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +BioTransformerParameters in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of BioTransformerParameters +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of BioTransformerParameters +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to BioTransformerParameters and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of BioTransformerParameters +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerParameters-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerParameters$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/BioTransformerSequenceStep.Rd b/client-api_r/generated/man/BioTransformerSequenceStep.Rd new file mode 100644 index 00000000..293014e5 --- /dev/null +++ b/client-api_r/generated/man/BioTransformerSequenceStep.Rd @@ -0,0 +1,279 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/bio_transformer_sequence_step.R +\docType{class} +\name{BioTransformerSequenceStep} +\alias{BioTransformerSequenceStep} +\title{BioTransformerSequenceStep} +\format{ +An \code{R6Class} generator object +} +\description{ +BioTransformerSequenceStep Class + +BioTransformerSequenceStep Class +} +\details{ +Create a new BioTransformerSequenceStep +} +\examples{ + +## ------------------------------------------------ +## Method `BioTransformerSequenceStep$toList` +## ------------------------------------------------ + +# convert array of BioTransformerSequenceStep (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{metabolicTransformation}}{character [optional]} + +\item{\code{iterations}}{integer [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-BioTransformerSequenceStep-new}{\code{BioTransformerSequenceStep$new()}} +\item \href{#method-BioTransformerSequenceStep-toJSON}{\code{BioTransformerSequenceStep$toJSON()}} +\item \href{#method-BioTransformerSequenceStep-toList}{\code{BioTransformerSequenceStep$toList()}} +\item \href{#method-BioTransformerSequenceStep-toSimpleType}{\code{BioTransformerSequenceStep$toSimpleType()}} +\item \href{#method-BioTransformerSequenceStep-fromJSON}{\code{BioTransformerSequenceStep$fromJSON()}} +\item \href{#method-BioTransformerSequenceStep-toJSONString}{\code{BioTransformerSequenceStep$toJSONString()}} +\item \href{#method-BioTransformerSequenceStep-fromJSONString}{\code{BioTransformerSequenceStep$fromJSONString()}} +\item \href{#method-BioTransformerSequenceStep-validateJSON}{\code{BioTransformerSequenceStep$validateJSON()}} +\item \href{#method-BioTransformerSequenceStep-toString}{\code{BioTransformerSequenceStep$toString()}} +\item \href{#method-BioTransformerSequenceStep-isValid}{\code{BioTransformerSequenceStep$isValid()}} +\item \href{#method-BioTransformerSequenceStep-getInvalidFields}{\code{BioTransformerSequenceStep$getInvalidFields()}} +\item \href{#method-BioTransformerSequenceStep-print}{\code{BioTransformerSequenceStep$print()}} +\item \href{#method-BioTransformerSequenceStep-clone}{\code{BioTransformerSequenceStep$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new BioTransformerSequenceStep class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$new( + metabolicTransformation = NULL, + iterations = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{metabolicTransformation}}{metabolicTransformation} + +\item{\code{iterations}}{iterations} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +BioTransformerSequenceStep as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of BioTransformerSequenceStep (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert BioTransformerSequenceStep to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of BioTransformerSequenceStep +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of BioTransformerSequenceStep +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +BioTransformerSequenceStep in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of BioTransformerSequenceStep +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of BioTransformerSequenceStep +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to BioTransformerSequenceStep and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of BioTransformerSequenceStep +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-BioTransformerSequenceStep-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{BioTransformerSequenceStep$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/Compound.Rd b/client-api_r/generated/man/Compound.Rd index 76dc3661..71508e71 100644 --- a/client-api_r/generated/man/Compound.Rd +++ b/client-api_r/generated/man/Compound.Rd @@ -44,11 +44,13 @@ df \item{\code{features}}{List of aligned features (adducts) that belong to the same (this) compound list(\link{AlignedFeature}) [optional]} -\item{\code{consensusAnnotations}}{\link{ConsensusAnnotationsCSI} [optional]} +\item{\code{consensusAnnotations}}{The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsCSI} [optional]} -\item{\code{consensusAnnotationsDeNovo}}{\link{ConsensusAnnotationsDeNovo} [optional]} +\item{\code{consensusAnnotationsDeNovo}}{The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsDeNovo} [optional]} -\item{\code{customAnnotations}}{\link{ConsensusAnnotationsCSI} [optional]} +\item{\code{customAnnotations}}{Alternative annotations selected by the User. \link{ConsensusAnnotationsCSI} [optional]} + +\item{\code{tags}}{Key: tagName, value: tag named list(\link{Tag}) [optional]} } \if{html}{\out{
}} } @@ -86,6 +88,7 @@ Initialize a new Compound class. consensusAnnotations = NULL, consensusAnnotationsDeNovo = NULL, customAnnotations = NULL, + tags = NULL, ... )}\if{html}{\out{}} } @@ -105,11 +108,13 @@ Initialize a new Compound class. \item{\code{features}}{List of aligned features (adducts) that belong to the same (this) compound} -\item{\code{consensusAnnotations}}{consensusAnnotations} +\item{\code{consensusAnnotations}}{The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available} + +\item{\code{consensusAnnotationsDeNovo}}{The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available} -\item{\code{consensusAnnotationsDeNovo}}{consensusAnnotationsDeNovo} +\item{\code{customAnnotations}}{Alternative annotations selected by the User.} -\item{\code{customAnnotations}}{customAnnotations} +\item{\code{tags}}{Key: tagName, value: tag} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/CompoundClasses.Rd b/client-api_r/generated/man/CompoundClasses.Rd index b45637fa..4a2dcd48 100644 --- a/client-api_r/generated/man/CompoundClasses.Rd +++ b/client-api_r/generated/man/CompoundClasses.Rd @@ -32,11 +32,11 @@ df \section{Public fields}{ \if{html}{\out{
}} \describe{ -\item{\code{npcPathway}}{\link{CompoundClass} [optional]} +\item{\code{npcPathway}}{Pathway level NPC class with the highest probability \link{CompoundClass} [optional]} -\item{\code{npcSuperclass}}{\link{CompoundClass} [optional]} +\item{\code{npcSuperclass}}{Superclass level NPC class with the highest probability \link{CompoundClass} [optional]} -\item{\code{npcClass}}{\link{CompoundClass} [optional]} +\item{\code{npcClass}}{Class level NPC class with the highest probability \link{CompoundClass} [optional]} \item{\code{classyFireLineage}}{Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation list(\link{CompoundClass}) [optional]} @@ -81,11 +81,11 @@ Initialize a new CompoundClasses class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{npcPathway}}{npcPathway} +\item{\code{npcPathway}}{Pathway level NPC class with the highest probability} -\item{\code{npcSuperclass}}{npcSuperclass} +\item{\code{npcSuperclass}}{Superclass level NPC class with the highest probability} -\item{\code{npcClass}}{npcClass} +\item{\code{npcClass}}{Class level NPC class with the highest probability} \item{\code{classyFireLineage}}{Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation} diff --git a/client-api_r/generated/man/CompoundStatisticsApi.Rd b/client-api_r/generated/man/CompoundStatisticsApi.Rd new file mode 100644 index 00000000..ea2226ee --- /dev/null +++ b/client-api_r/generated/man/CompoundStatisticsApi.Rd @@ -0,0 +1,436 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/compound_statistics_api.R +\docType{class} +\name{CompoundStatisticsApi} +\alias{CompoundStatisticsApi} +\title{CompoundStatistics operations} +\format{ +An \code{R6Class} generator object +} +\description{ +CompoundStatisticsApi +} +\details{ +SIRIUS Nightsky API + +REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 + +The version of the OpenAPI document: 3.1 +Generated by: https://openapi-generator.tech +} +\examples{ +\dontrun{ +#################### ComputeCompoundFoldChangesExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +var_left_group_name <- "left_group_name_example" # character | name of the left tag group. +var_right_group_name <- "right_group_name_example" # character | name of the right tag group. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) + +#[EXPERIMENTAL] Compute the fold change between two groups of runs +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$ComputeCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$compound_statistics_api$ComputeCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fields) +dput(result) + + +#################### DeleteCompoundFoldChangesExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_left_group_name <- "left_group_name_example" # character | name of the left group. +var_right_group_name <- "right_group_name_example" # character | name of the right group. +var_aggregation <- "AVG" # character | (Optional) +var_quantification <- "APEX_INTENSITY" # character | (Optional) + +#[EXPERIMENTAL] Delete fold changes +api_instance <- rsirius_api$new() + +api_instance$compound_statistics_api$DeleteCompoundFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification) + + +#################### GetCompoundFoldChangeTableExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) + +#[EXPERIMENTAL] Get table of all fold changes in the project space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantificationdata_file = "result.txt") +result <- api_instance$compound_statistics_api$GetCompoundFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantification) +dput(result) + + +#################### GetFoldChangesByCompoundExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. + +#[EXPERIMENTAL] List all fold changes that are associated with an object +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetFoldChangesByCompoundExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$compound_statistics_api$GetFoldChangesByCompoundExperimental(var_project_id, var_object_id) +dput(result) + + +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{Handles the client-server communication.} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-CompoundStatisticsApi-new}{\code{CompoundStatisticsApi$new()}} +\item \href{#method-CompoundStatisticsApi-ComputeCompoundFoldChangesExperimental}{\code{CompoundStatisticsApi$ComputeCompoundFoldChangesExperimental()}} +\item \href{#method-CompoundStatisticsApi-ComputeCompoundFoldChangesExperimentalWithHttpInfo}{\code{CompoundStatisticsApi$ComputeCompoundFoldChangesExperimentalWithHttpInfo()}} +\item \href{#method-CompoundStatisticsApi-DeleteCompoundFoldChangesExperimental}{\code{CompoundStatisticsApi$DeleteCompoundFoldChangesExperimental()}} +\item \href{#method-CompoundStatisticsApi-DeleteCompoundFoldChangesExperimentalWithHttpInfo}{\code{CompoundStatisticsApi$DeleteCompoundFoldChangesExperimentalWithHttpInfo()}} +\item \href{#method-CompoundStatisticsApi-GetCompoundFoldChangeTableExperimental}{\code{CompoundStatisticsApi$GetCompoundFoldChangeTableExperimental()}} +\item \href{#method-CompoundStatisticsApi-GetCompoundFoldChangeTableExperimentalWithHttpInfo}{\code{CompoundStatisticsApi$GetCompoundFoldChangeTableExperimentalWithHttpInfo()}} +\item \href{#method-CompoundStatisticsApi-GetFoldChangesByCompoundExperimental}{\code{CompoundStatisticsApi$GetFoldChangesByCompoundExperimental()}} +\item \href{#method-CompoundStatisticsApi-GetFoldChangesByCompoundExperimentalWithHttpInfo}{\code{CompoundStatisticsApi$GetFoldChangesByCompoundExperimentalWithHttpInfo()}} +\item \href{#method-CompoundStatisticsApi-clone}{\code{CompoundStatisticsApi$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new CompoundStatisticsApi. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$new(api_client)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{An instance of API client.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-ComputeCompoundFoldChangesExperimental}{}}} +\subsection{Method \code{ComputeCompoundFoldChangesExperimental()}}{ +[EXPERIMENTAL] Compute the fold change between two groups of runs +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$ComputeCompoundFoldChangesExperimental( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + opt_fields = list(progress), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to compute the fold change in.} + +\item{\code{left_group_name}}{name of the left tag group.} + +\item{\code{right_group_name}}{name of the right tag group.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +Job +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-ComputeCompoundFoldChangesExperimentalWithHttpInfo}{}}} +\subsection{Method \code{ComputeCompoundFoldChangesExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Compute the fold change between two groups of runs +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$ComputeCompoundFoldChangesExperimentalWithHttpInfo( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + opt_fields = list(progress), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to compute the fold change in.} + +\item{\code{left_group_name}}{name of the left tag group.} + +\item{\code{right_group_name}}{name of the right tag group.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (Job) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-DeleteCompoundFoldChangesExperimental}{}}} +\subsection{Method \code{DeleteCompoundFoldChangesExperimental()}}{ +[EXPERIMENTAL] Delete fold changes +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$DeleteCompoundFoldChangesExperimental( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{left_group_name}}{name of the left group.} + +\item{\code{right_group_name}}{name of the right group.} + +\item{\code{aggregation}}{(optional) No description (default value: "AVG")} + +\item{\code{quantification}}{(optional) No description (default value: "APEX_INTENSITY")} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +void +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-DeleteCompoundFoldChangesExperimentalWithHttpInfo}{}}} +\subsection{Method \code{DeleteCompoundFoldChangesExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Delete fold changes +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$DeleteCompoundFoldChangesExperimentalWithHttpInfo( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{left_group_name}}{name of the left group.} + +\item{\code{right_group_name}}{name of the right group.} + +\item{\code{aggregation}}{(optional) No description (default value: "AVG")} + +\item{\code{quantification}}{(optional) No description (default value: "APEX_INTENSITY")} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (void) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-GetCompoundFoldChangeTableExperimental}{}}} +\subsection{Method \code{GetCompoundFoldChangeTableExperimental()}}{ +[EXPERIMENTAL] Get table of all fold changes in the project space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$GetCompoundFoldChangeTableExperimental( + project_id, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +StatisticsTable +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-GetCompoundFoldChangeTableExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetCompoundFoldChangeTableExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get table of all fold changes in the project space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$GetCompoundFoldChangeTableExperimentalWithHttpInfo( + project_id, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (StatisticsTable) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-GetFoldChangesByCompoundExperimental}{}}} +\subsection{Method \code{GetFoldChangesByCompoundExperimental()}}{ +[EXPERIMENTAL] List all fold changes that are associated with an object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$GetFoldChangesByCompoundExperimental( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{object_id}}{id of the object the fold changes are assigned to.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[FoldChange] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-GetFoldChangesByCompoundExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetFoldChangesByCompoundExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] List all fold changes that are associated with an object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$GetFoldChangesByCompoundExperimentalWithHttpInfo( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{object_id}}{id of the object the fold changes are assigned to.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[FoldChange]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundStatisticsApi-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundStatisticsApi$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/CompoundsApi.Rd b/client-api_r/generated/man/CompoundsApi.Rd index cc6840ba..b859eddc 100644 --- a/client-api_r/generated/man/CompoundsApi.Rd +++ b/client-api_r/generated/man/CompoundsApi.Rd @@ -24,7 +24,7 @@ Generated by: https://openapi-generator.tech library(Rsirius) var_project_id <- "project_id_example" # character | project-space to import into. -var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123), c(BasicSpectrum$new(c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)), c(BasicSpectrum$new(c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported +var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | set of optional fields of the nested features to be included. Use 'none' to override defaults. (Optional) @@ -38,6 +38,22 @@ result <- api_instance$compounds_api$AddCompounds(var_project_id, var_compound_i dput(result) +#################### AddTagsToCompoundExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to add to. +var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. +var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. + +#[EXPERIMENTAL] Tags with the same name will be overwritten +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddTagsToCompoundExperimental(var_project_id, var_compound_id, var_tagdata_file = "result.txt") +result <- api_instance$compounds_api$AddTagsToCompoundExperimental(var_project_id, var_compound_id, var_tag) +dput(result) + + #################### DeleteCompound #################### library(Rsirius) @@ -55,6 +71,7 @@ api_instance$compounds_api$DeleteCompound(var_project_id, var_compound_id) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_compound_id <- "compound_id_example" # character | identifier of the compound (group of ion identities) to access. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | (Optional) @@ -62,8 +79,39 @@ var_opt_fields_features <- c("none") # array[character] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetCompound(var_project_id, var_compound_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -result <- api_instance$compounds_api$GetCompound(var_project_id, var_compound_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +# result <- api_instance$GetCompound(var_project_id, var_compound_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompound(var_project_id, var_compound_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +dput(result) + + +#################### GetCompoundQuantTableExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) + +#[EXPERIMENTAL] Returns the full quantification table of compounds +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundQuantTableExperimental(var_project_id, type = var_typedata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundQuantTableExperimental(var_project_id, type = var_type) +dput(result) + + +#################### GetCompoundQuantTableRowExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_compound_id <- "compound_id_example" # character | compound which should be read out +var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) + +#[EXPERIMENTAL] Returns a single quantification table row for the given compound +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundQuantTableRowExperimental(var_project_id, var_compound_id, type = var_typedata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundQuantTableRowExperimental(var_project_id, var_compound_id, type = var_type) dput(result) @@ -74,7 +122,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_compound_id <- "compound_id_example" # character | compound which intensities should be read out var_feature_id <- "" # character | (Optional) -#EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#[EXPERIMENTAL] Returns the traces of the given compound api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -87,6 +135,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | (Optional) @@ -94,8 +143,46 @@ var_opt_fields_features <- c("none") # array[character] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetCompounds(var_project_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -result <- api_instance$compounds_api$GetCompounds(var_project_id, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +# result <- api_instance$GetCompounds(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompounds(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +dput(result) + + +#################### GetCompoundsByGroupExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | tag group name. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +#[EXPERIMENTAL] Get compounds (group of ion identities) by tag group +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) + + +#################### GetCompoundsByTagExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project space to get compounds (group of ion identities) from. +var_filter <- "" # character | tag filter. (Optional) +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +#[EXPERIMENTAL] Get compounds (group of ion identities) by tag +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCompoundsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) dput(result) @@ -106,6 +193,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) var_opt_fields_features <- c("none") # array[character] | (Optional) @@ -113,11 +201,39 @@ var_opt_fields_features <- c("none") # array[character] | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") -result <- api_instance$compounds_api$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) +# result <- api_instance$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_featuresdata_file = "result.txt") +result <- api_instance$compounds_api$GetCompoundsPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields, opt_fields_features = var_opt_fields_features) dput(result) +#################### GetTagsForCompoundExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to get from. +var_object_id <- "object_id_example" # character | CompoundId to get tags for. + +#[EXPERIMENTAL] Get all tags associated with this Compound +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTagsForCompoundExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$compounds_api$GetTagsForCompoundExperimental(var_project_id, var_object_id) +dput(result) + + +#################### RemoveTagFromCompoundExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to delete tag from. +var_tag_name <- "tag_name_example" # character | name of the tag to delete. + +#[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space +api_instance <- rsirius_api$new() + +api_instance$compounds_api$RemoveTagFromCompoundExperimental(var_project_id, var_compound_id, var_tag_name) + + } } \section{Public fields}{ @@ -133,16 +249,30 @@ dput(result) \item \href{#method-CompoundsApi-new}{\code{CompoundsApi$new()}} \item \href{#method-CompoundsApi-AddCompounds}{\code{CompoundsApi$AddCompounds()}} \item \href{#method-CompoundsApi-AddCompoundsWithHttpInfo}{\code{CompoundsApi$AddCompoundsWithHttpInfo()}} +\item \href{#method-CompoundsApi-AddTagsToCompoundExperimental}{\code{CompoundsApi$AddTagsToCompoundExperimental()}} +\item \href{#method-CompoundsApi-AddTagsToCompoundExperimentalWithHttpInfo}{\code{CompoundsApi$AddTagsToCompoundExperimentalWithHttpInfo()}} \item \href{#method-CompoundsApi-DeleteCompound}{\code{CompoundsApi$DeleteCompound()}} \item \href{#method-CompoundsApi-DeleteCompoundWithHttpInfo}{\code{CompoundsApi$DeleteCompoundWithHttpInfo()}} \item \href{#method-CompoundsApi-GetCompound}{\code{CompoundsApi$GetCompound()}} \item \href{#method-CompoundsApi-GetCompoundWithHttpInfo}{\code{CompoundsApi$GetCompoundWithHttpInfo()}} +\item \href{#method-CompoundsApi-GetCompoundQuantTableExperimental}{\code{CompoundsApi$GetCompoundQuantTableExperimental()}} +\item \href{#method-CompoundsApi-GetCompoundQuantTableExperimentalWithHttpInfo}{\code{CompoundsApi$GetCompoundQuantTableExperimentalWithHttpInfo()}} +\item \href{#method-CompoundsApi-GetCompoundQuantTableRowExperimental}{\code{CompoundsApi$GetCompoundQuantTableRowExperimental()}} +\item \href{#method-CompoundsApi-GetCompoundQuantTableRowExperimentalWithHttpInfo}{\code{CompoundsApi$GetCompoundQuantTableRowExperimentalWithHttpInfo()}} \item \href{#method-CompoundsApi-GetCompoundTracesExperimental}{\code{CompoundsApi$GetCompoundTracesExperimental()}} \item \href{#method-CompoundsApi-GetCompoundTracesExperimentalWithHttpInfo}{\code{CompoundsApi$GetCompoundTracesExperimentalWithHttpInfo()}} \item \href{#method-CompoundsApi-GetCompounds}{\code{CompoundsApi$GetCompounds()}} \item \href{#method-CompoundsApi-GetCompoundsWithHttpInfo}{\code{CompoundsApi$GetCompoundsWithHttpInfo()}} +\item \href{#method-CompoundsApi-GetCompoundsByGroupExperimental}{\code{CompoundsApi$GetCompoundsByGroupExperimental()}} +\item \href{#method-CompoundsApi-GetCompoundsByGroupExperimentalWithHttpInfo}{\code{CompoundsApi$GetCompoundsByGroupExperimentalWithHttpInfo()}} +\item \href{#method-CompoundsApi-GetCompoundsByTagExperimental}{\code{CompoundsApi$GetCompoundsByTagExperimental()}} +\item \href{#method-CompoundsApi-GetCompoundsByTagExperimentalWithHttpInfo}{\code{CompoundsApi$GetCompoundsByTagExperimentalWithHttpInfo()}} \item \href{#method-CompoundsApi-GetCompoundsPaged}{\code{CompoundsApi$GetCompoundsPaged()}} \item \href{#method-CompoundsApi-GetCompoundsPagedWithHttpInfo}{\code{CompoundsApi$GetCompoundsPagedWithHttpInfo()}} +\item \href{#method-CompoundsApi-GetTagsForCompoundExperimental}{\code{CompoundsApi$GetTagsForCompoundExperimental()}} +\item \href{#method-CompoundsApi-GetTagsForCompoundExperimentalWithHttpInfo}{\code{CompoundsApi$GetTagsForCompoundExperimentalWithHttpInfo()}} +\item \href{#method-CompoundsApi-RemoveTagFromCompoundExperimental}{\code{CompoundsApi$RemoveTagFromCompoundExperimental()}} +\item \href{#method-CompoundsApi-RemoveTagFromCompoundExperimentalWithHttpInfo}{\code{CompoundsApi$RemoveTagFromCompoundExperimentalWithHttpInfo()}} \item \href{#method-CompoundsApi-clone}{\code{CompoundsApi$clone()}} } } @@ -173,8 +303,8 @@ Import Compounds and its contained features. project_id, compound_import, profile = NULL, - opt_fields = list("none"), - opt_fields_features = list("none"), + opt_fields = list(NULL), + opt_fields_features = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -189,9 +319,9 @@ Import Compounds and its contained features. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} -\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"])} +\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -213,8 +343,8 @@ Import Compounds and its contained features. project_id, compound_import, profile = NULL, - opt_fields = list("none"), - opt_fields_features = list("none"), + opt_fields = list(NULL), + opt_fields_features = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -229,9 +359,9 @@ Import Compounds and its contained features. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} -\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"])} +\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -244,6 +374,74 @@ API response (array[Compound]) with additional information such as HTTP status c } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-AddTagsToCompoundExperimental}{}}} +\subsection{Method \code{AddTagsToCompoundExperimental()}}{ +[EXPERIMENTAL] Tags with the same name will be overwritten +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$AddTagsToCompoundExperimental( + project_id, + compound_id, + tag, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{compound_id}}{compound (group of ion identities) to add tags to.} + +\item{\code{tag}}{tags to add.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[Tag] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-AddTagsToCompoundExperimentalWithHttpInfo}{}}} +\subsection{Method \code{AddTagsToCompoundExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Tags with the same name will be overwritten +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$AddTagsToCompoundExperimentalWithHttpInfo( + project_id, + compound_id, + tag, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{compound_id}}{compound (group of ion identities) to add tags to.} + +\item{\code{tag}}{tags to add.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[Tag]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-CompoundsApi-DeleteCompound}{}}} \subsection{Method \code{DeleteCompound()}}{ @@ -300,8 +498,9 @@ Get compound (group of ion identities) with the given identifier from the specif \if{html}{\out{
}}\preformatted{CompoundsApi$GetCompound( project_id, compound_id, - opt_fields = list("none"), - opt_fields_features = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), + opt_fields_features = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -314,9 +513,11 @@ Get compound (group of ion identities) with the given identifier from the specif \item{\code{compound_id}}{identifier of the compound (group of ion identities) to access.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} + +\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -337,8 +538,9 @@ Get compound (group of ion identities) with the given identifier from the specif \if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundWithHttpInfo( project_id, compound_id, - opt_fields = list("none"), - opt_fields_features = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), + opt_fields_features = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -351,9 +553,11 @@ Get compound (group of ion identities) with the given identifier from the specif \item{\code{compound_id}}{identifier of the compound (group of ion identities) to access.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} + +\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -366,10 +570,140 @@ API response (Compound) with additional information such as HTTP status code, he } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundQuantTableExperimental}{}}} +\subsection{Method \code{GetCompoundQuantTableExperimental()}}{ +[EXPERIMENTAL] Returns the full quantification table of compounds +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundQuantTableExperimental( + project_id, + type = "APEX_HEIGHT", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{type}}{(optional) quantification type. (default value: "APEX_HEIGHT")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +QuantTableExperimental +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundQuantTableExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetCompoundQuantTableExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Returns the full quantification table of compounds +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundQuantTableExperimentalWithHttpInfo( + project_id, + type = "APEX_HEIGHT", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{type}}{(optional) quantification type. (default value: "APEX_HEIGHT")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (QuantTableExperimental) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundQuantTableRowExperimental}{}}} +\subsection{Method \code{GetCompoundQuantTableRowExperimental()}}{ +[EXPERIMENTAL] Returns a single quantification table row for the given compound +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundQuantTableRowExperimental( + project_id, + compound_id, + type = "APEX_HEIGHT", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{compound_id}}{compound which should be read out} + +\item{\code{type}}{(optional) quantification type. (default value: "APEX_HEIGHT")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +QuantTableExperimental +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundQuantTableRowExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetCompoundQuantTableRowExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Returns a single quantification table row for the given compound +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundQuantTableRowExperimentalWithHttpInfo( + project_id, + compound_id, + type = "APEX_HEIGHT", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{compound_id}}{compound which should be read out} + +\item{\code{type}}{(optional) quantification type. (default value: "APEX_HEIGHT")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (QuantTableExperimental) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundTracesExperimental}{}}} \subsection{Method \code{GetCompoundTracesExperimental()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given compound \subsection{Usage}{ \if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundTracesExperimental( project_id, @@ -403,7 +737,7 @@ TraceSetExperimental \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundTracesExperimentalWithHttpInfo}{}}} \subsection{Method \code{GetCompoundTracesExperimentalWithHttpInfo()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given compound \subsection{Usage}{ \if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundTracesExperimentalWithHttpInfo( project_id, @@ -441,6 +775,7 @@ List of all available compounds (group of ion identities) in the given project-s \subsection{Usage}{ \if{html}{\out{
}}\preformatted{CompoundsApi$GetCompounds( project_id, + ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, @@ -453,6 +788,8 @@ List of all available compounds (group of ion identities) in the given project-s \describe{ \item{\code{project_id}}{project-space to read from.} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} @@ -475,6 +812,7 @@ List of all available compounds (group of ion identities) in the given project-s \subsection{Usage}{ \if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundsWithHttpInfo( project_id, + ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, @@ -487,6 +825,8 @@ List of all available compounds (group of ion identities) in the given project-s \describe{ \item{\code{project_id}}{project-space to read from.} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} @@ -502,6 +842,178 @@ API response (array[Compound]) with additional information such as HTTP status c } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundsByGroupExperimental}{}}} +\subsection{Method \code{GetCompoundsByGroupExperimental()}}{ +[EXPERIMENTAL] Get compounds (group of ion identities) by tag group +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundsByGroupExperimental( + project_id, + group_name, + page = 0, + size = 20, + sort = NULL, + opt_fields = list(NULL), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{tag group name.} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PagedModelCompound +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundsByGroupExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetCompoundsByGroupExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get compounds (group of ion identities) by tag group +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundsByGroupExperimentalWithHttpInfo( + project_id, + group_name, + page = 0, + size = 20, + sort = NULL, + opt_fields = list(NULL), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{tag group name.} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (PagedModelCompound) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundsByTagExperimental}{}}} +\subsection{Method \code{GetCompoundsByTagExperimental()}}{ +[EXPERIMENTAL] Get compounds (group of ion identities) by tag +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundsByTagExperimental( + project_id, + filter = "", + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project space to get compounds (group of ion identities) from.} + +\item{\code{filter}}{(optional) tag filter. (default value: "")} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PagedModelCompound +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundsByTagExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetCompoundsByTagExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get compounds (group of ion identities) by tag +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetCompoundsByTagExperimentalWithHttpInfo( + project_id, + filter = "", + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project space to get compounds (group of ion identities) from.} + +\item{\code{filter}}{(optional) tag filter. (default value: "")} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (PagedModelCompound) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-CompoundsApi-GetCompoundsPaged}{}}} \subsection{Method \code{GetCompoundsPaged()}}{ @@ -512,8 +1024,9 @@ Page of available compounds (group of ion identities) in the given project-space page = 0, size = 20, sort = NULL, - opt_fields = list("none"), - opt_fields_features = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), + opt_fields_features = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -530,9 +1043,11 @@ Page of available compounds (group of ion identities) in the given project-space \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} + +\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -555,8 +1070,9 @@ Page of available compounds (group of ion identities) in the given project-space page = 0, size = 20, sort = NULL, - opt_fields = list("none"), - opt_fields_features = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), + opt_fields_features = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -573,9 +1089,11 @@ Page of available compounds (group of ion identities) in the given project-space \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} + +\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -588,6 +1106,130 @@ API response (PagedModelCompound) with additional information such as HTTP statu } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetTagsForCompoundExperimental}{}}} +\subsection{Method \code{GetTagsForCompoundExperimental()}}{ +[EXPERIMENTAL] Get all tags associated with this Compound +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetTagsForCompoundExperimental( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to get from.} + +\item{\code{object_id}}{CompoundId to get tags for.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[Tag] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-GetTagsForCompoundExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetTagsForCompoundExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get all tags associated with this Compound +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$GetTagsForCompoundExperimentalWithHttpInfo( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to get from.} + +\item{\code{object_id}}{CompoundId to get tags for.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[Tag]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-RemoveTagFromCompoundExperimental}{}}} +\subsection{Method \code{RemoveTagFromCompoundExperimental()}}{ +[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$RemoveTagFromCompoundExperimental( + project_id, + compound_id, + tag_name, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{compound_id}}{compound (group of ion identities) to delete tag from.} + +\item{\code{tag_name}}{name of the tag to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +void +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-CompoundsApi-RemoveTagFromCompoundExperimentalWithHttpInfo}{}}} +\subsection{Method \code{RemoveTagFromCompoundExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{CompoundsApi$RemoveTagFromCompoundExperimentalWithHttpInfo( + project_id, + compound_id, + tag_name, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{compound_id}}{compound (group of ion identities) to delete tag from.} + +\item{\code{tag_name}}{name of the tag to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (void) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-CompoundsApi-clone}{}}} \subsection{Method \code{clone()}}{ diff --git a/client-api_r/generated/man/ComputedSubtools.Rd b/client-api_r/generated/man/ComputedSubtools.Rd index 7be8ce47..1ed78c0b 100644 --- a/client-api_r/generated/man/ComputedSubtools.Rd +++ b/client-api_r/generated/man/ComputedSubtools.Rd @@ -8,7 +8,7 @@ An \code{R6Class} generator object } \description{ -Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. +ComputedSubtools Class ComputedSubtools Class } diff --git a/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd b/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd index add3e07b..dabf9887 100644 --- a/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd +++ b/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd @@ -34,13 +34,13 @@ df \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional]} -\item{\code{compoundClasses}}{\link{CompoundClasses} [optional]} +\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional]} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation. list(character) [optional]} \item{\code{selectionCriterion}}{Null if this is a custom selection character [optional]} -\item{\code{csiFingerIdStructure}}{\link{StructureCandidate} [optional]} +\item{\code{csiFingerIdStructure}}{Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. \link{StructureCandidate} [optional]} \item{\code{confidenceExactMatch}}{Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported numeric [optional]} @@ -89,13 +89,13 @@ Initialize a new ConsensusAnnotationsCSI class. \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available.} -\item{\code{compoundClasses}}{compoundClasses} +\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation.} \item{\code{selectionCriterion}}{Null if this is a custom selection} -\item{\code{csiFingerIdStructure}}{csiFingerIdStructure} +\item{\code{csiFingerIdStructure}}{Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available.} \item{\code{confidenceExactMatch}}{Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported} diff --git a/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd b/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd index eb207842..0bea71b7 100644 --- a/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd +++ b/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd @@ -34,7 +34,7 @@ df \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional]} -\item{\code{compoundClasses}}{\link{CompoundClasses} [optional]} +\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional]} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation. list(character) [optional]} @@ -80,7 +80,7 @@ Initialize a new ConsensusAnnotationsDeNovo class. \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available.} -\item{\code{compoundClasses}}{compoundClasses} +\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation.} diff --git a/client-api_r/generated/man/FeatureAnnotations.Rd b/client-api_r/generated/man/FeatureAnnotations.Rd index 0bebfddd..fcd07f63 100644 --- a/client-api_r/generated/man/FeatureAnnotations.Rd +++ b/client-api_r/generated/man/FeatureAnnotations.Rd @@ -32,11 +32,11 @@ df \section{Public fields}{ \if{html}{\out{
}} \describe{ -\item{\code{formulaAnnotation}}{\link{FormulaCandidate} [optional]} +\item{\code{formulaAnnotation}}{Best matching FormulaCandidate. \link{FormulaCandidate} [optional]} -\item{\code{structureAnnotation}}{\link{StructureCandidateScored} [optional]} +\item{\code{structureAnnotation}}{Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. \link{StructureCandidateScored} [optional]} -\item{\code{compoundClassAnnotation}}{\link{CompoundClasses} [optional]} +\item{\code{compoundClassAnnotation}}{Best matching compound classes that correspond to the formulaAnnotation \link{CompoundClasses} [optional]} \item{\code{confidenceExactMatch}}{Confidence Score that represents the confidence whether the top hit is correct. numeric [optional]} @@ -90,11 +90,11 @@ Initialize a new FeatureAnnotations class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{formulaAnnotation}}{formulaAnnotation} +\item{\code{formulaAnnotation}}{Best matching FormulaCandidate.} -\item{\code{structureAnnotation}}{structureAnnotation} +\item{\code{structureAnnotation}}{Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates.} -\item{\code{compoundClassAnnotation}}{compoundClassAnnotation} +\item{\code{compoundClassAnnotation}}{Best matching compound classes that correspond to the formulaAnnotation} \item{\code{confidenceExactMatch}}{Confidence Score that represents the confidence whether the top hit is correct.} diff --git a/client-api_r/generated/man/FeatureImport.Rd b/client-api_r/generated/man/FeatureImport.Rd index f9c6a84c..82c22cc1 100644 --- a/client-api_r/generated/man/FeatureImport.Rd +++ b/client-api_r/generated/man/FeatureImport.Rd @@ -50,7 +50,7 @@ df \item{\code{dataQuality}}{A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. character [optional]} -\item{\code{mergedMs1}}{\link{BasicSpectrum} [optional]} +\item{\code{mergedMs1}}{Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. \link{BasicSpectrum} [optional]} \item{\code{ms1Spectra}}{List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. list(\link{BasicSpectrum}) [optional]} @@ -120,7 +120,7 @@ Initialize a new FeatureImport class. \item{\code{dataQuality}}{A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.} -\item{\code{mergedMs1}}{mergedMs1} +\item{\code{mergedMs1}}{Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given.} \item{\code{ms1Spectra}}{List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given.} diff --git a/client-api_r/generated/man/FeatureStatisticsApi.Rd b/client-api_r/generated/man/FeatureStatisticsApi.Rd new file mode 100644 index 00000000..27b49d8c --- /dev/null +++ b/client-api_r/generated/man/FeatureStatisticsApi.Rd @@ -0,0 +1,436 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/feature_statistics_api.R +\docType{class} +\name{FeatureStatisticsApi} +\alias{FeatureStatisticsApi} +\title{FeatureStatistics operations} +\format{ +An \code{R6Class} generator object +} +\description{ +FeatureStatisticsApi +} +\details{ +SIRIUS Nightsky API + +REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 + +The version of the OpenAPI document: 3.1 +Generated by: https://openapi-generator.tech +} +\examples{ +\dontrun{ +#################### ComputeAlignedFeatureFoldChangesExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +var_left_group_name <- "left_group_name_example" # character | name of the left tag group. +var_right_group_name <- "right_group_name_example" # character | name of the right tag group. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) +var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) + +#[EXPERIMENTAL] Compute the fold change between two groups of runs +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$ComputeAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$feature_statistics_api$ComputeAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification, opt_fields = var_opt_fields) +dput(result) + + +#################### DeleteAlignedFeatureFoldChangesExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_left_group_name <- "left_group_name_example" # character | name of the left group. +var_right_group_name <- "right_group_name_example" # character | name of the right group. +var_aggregation <- "AVG" # character | (Optional) +var_quantification <- "APEX_INTENSITY" # character | (Optional) + +#[EXPERIMENTAL] Delete fold changes +api_instance <- rsirius_api$new() + +api_instance$feature_statistics_api$DeleteAlignedFeatureFoldChangesExperimental(var_project_id, var_left_group_name, var_right_group_name, aggregation = var_aggregation, quantification = var_quantification) + + +#################### GetAlignedFeatureFoldChangeTableExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aggregation <- "AVG" # character | aggregation type. (Optional) +var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) + +#[EXPERIMENTAL] Get table of all fold changes in the project space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetAlignedFeatureFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantificationdata_file = "result.txt") +result <- api_instance$feature_statistics_api$GetAlignedFeatureFoldChangeTableExperimental(var_project_id, aggregation = var_aggregation, quantification = var_quantification) +dput(result) + + +#################### GetFoldChangesByAlignedFeatureExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. + +#[EXPERIMENTAL] List all fold changes that are associated with an object +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetFoldChangesByAlignedFeatureExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$feature_statistics_api$GetFoldChangesByAlignedFeatureExperimental(var_project_id, var_object_id) +dput(result) + + +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{Handles the client-server communication.} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-FeatureStatisticsApi-new}{\code{FeatureStatisticsApi$new()}} +\item \href{#method-FeatureStatisticsApi-ComputeAlignedFeatureFoldChangesExperimental}{\code{FeatureStatisticsApi$ComputeAlignedFeatureFoldChangesExperimental()}} +\item \href{#method-FeatureStatisticsApi-ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo}{\code{FeatureStatisticsApi$ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo()}} +\item \href{#method-FeatureStatisticsApi-DeleteAlignedFeatureFoldChangesExperimental}{\code{FeatureStatisticsApi$DeleteAlignedFeatureFoldChangesExperimental()}} +\item \href{#method-FeatureStatisticsApi-DeleteAlignedFeatureFoldChangesExperimentalWithHttpInfo}{\code{FeatureStatisticsApi$DeleteAlignedFeatureFoldChangesExperimentalWithHttpInfo()}} +\item \href{#method-FeatureStatisticsApi-GetAlignedFeatureFoldChangeTableExperimental}{\code{FeatureStatisticsApi$GetAlignedFeatureFoldChangeTableExperimental()}} +\item \href{#method-FeatureStatisticsApi-GetAlignedFeatureFoldChangeTableExperimentalWithHttpInfo}{\code{FeatureStatisticsApi$GetAlignedFeatureFoldChangeTableExperimentalWithHttpInfo()}} +\item \href{#method-FeatureStatisticsApi-GetFoldChangesByAlignedFeatureExperimental}{\code{FeatureStatisticsApi$GetFoldChangesByAlignedFeatureExperimental()}} +\item \href{#method-FeatureStatisticsApi-GetFoldChangesByAlignedFeatureExperimentalWithHttpInfo}{\code{FeatureStatisticsApi$GetFoldChangesByAlignedFeatureExperimentalWithHttpInfo()}} +\item \href{#method-FeatureStatisticsApi-clone}{\code{FeatureStatisticsApi$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new FeatureStatisticsApi. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$new(api_client)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{An instance of API client.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-ComputeAlignedFeatureFoldChangesExperimental}{}}} +\subsection{Method \code{ComputeAlignedFeatureFoldChangesExperimental()}}{ +[EXPERIMENTAL] Compute the fold change between two groups of runs +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$ComputeAlignedFeatureFoldChangesExperimental( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + opt_fields = list(progress), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to compute the fold change in.} + +\item{\code{left_group_name}}{name of the left tag group.} + +\item{\code{right_group_name}}{name of the right tag group.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +Job +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo}{}}} +\subsection{Method \code{ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Compute the fold change between two groups of runs +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + opt_fields = list(progress), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to compute the fold change in.} + +\item{\code{left_group_name}}{name of the left tag group.} + +\item{\code{right_group_name}}{name of the right tag group.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (Job) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-DeleteAlignedFeatureFoldChangesExperimental}{}}} +\subsection{Method \code{DeleteAlignedFeatureFoldChangesExperimental()}}{ +[EXPERIMENTAL] Delete fold changes +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$DeleteAlignedFeatureFoldChangesExperimental( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{left_group_name}}{name of the left group.} + +\item{\code{right_group_name}}{name of the right group.} + +\item{\code{aggregation}}{(optional) No description (default value: "AVG")} + +\item{\code{quantification}}{(optional) No description (default value: "APEX_INTENSITY")} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +void +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-DeleteAlignedFeatureFoldChangesExperimentalWithHttpInfo}{}}} +\subsection{Method \code{DeleteAlignedFeatureFoldChangesExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Delete fold changes +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$DeleteAlignedFeatureFoldChangesExperimentalWithHttpInfo( + project_id, + left_group_name, + right_group_name, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{left_group_name}}{name of the left group.} + +\item{\code{right_group_name}}{name of the right group.} + +\item{\code{aggregation}}{(optional) No description (default value: "AVG")} + +\item{\code{quantification}}{(optional) No description (default value: "APEX_INTENSITY")} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (void) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-GetAlignedFeatureFoldChangeTableExperimental}{}}} +\subsection{Method \code{GetAlignedFeatureFoldChangeTableExperimental()}}{ +[EXPERIMENTAL] Get table of all fold changes in the project space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$GetAlignedFeatureFoldChangeTableExperimental( + project_id, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +StatisticsTable +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-GetAlignedFeatureFoldChangeTableExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetAlignedFeatureFoldChangeTableExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get table of all fold changes in the project space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$GetAlignedFeatureFoldChangeTableExperimentalWithHttpInfo( + project_id, + aggregation = "AVG", + quantification = "APEX_INTENSITY", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aggregation}}{(optional) aggregation type. (default value: "AVG")} + +\item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (StatisticsTable) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-GetFoldChangesByAlignedFeatureExperimental}{}}} +\subsection{Method \code{GetFoldChangesByAlignedFeatureExperimental()}}{ +[EXPERIMENTAL] List all fold changes that are associated with an object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$GetFoldChangesByAlignedFeatureExperimental( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{object_id}}{id of the object the fold changes are assigned to.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[FoldChange] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-GetFoldChangesByAlignedFeatureExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetFoldChangesByAlignedFeatureExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] List all fold changes that are associated with an object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$GetFoldChangesByAlignedFeatureExperimentalWithHttpInfo( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{object_id}}{id of the object the fold changes are assigned to.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[FoldChange]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeatureStatisticsApi-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeatureStatisticsApi$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/FeaturesApi.Rd b/client-api_r/generated/man/FeaturesApi.Rd index 501614b5..36260529 100644 --- a/client-api_r/generated/man/FeaturesApi.Rd +++ b/client-api_r/generated/man/FeaturesApi.Rd @@ -24,7 +24,7 @@ Generated by: https://openapi-generator.tech library(Rsirius) var_project_id <- "project_id_example" # character | project-space to import into. -var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123), c(BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)), c(BasicSpectrum$new(c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported +var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' to override defaults. (Optional) @@ -37,6 +37,38 @@ result <- api_instance$features_api$AddAlignedFeatures(var_project_id, var_featu dput(result) +#################### AddDeNovoStructureCandidate #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. +var_smiles <- "none" # character | smiles (Optional) + +#[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddDeNovoStructureCandidate(var_project_id, var_aligned_feature_id, smiles = var_smilesdata_file = "result.txt") +result <- api_instance$features_api$AddDeNovoStructureCandidate(var_project_id, var_aligned_feature_id, smiles = var_smiles) +dput(result) + + +#################### AddTagsToAlignedFeatureExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to add to. +var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. +var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. + +#[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddTagsToAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tagdata_file = "result.txt") +result <- api_instance$features_api$AddTagsToAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tag) +dput(result) + + #################### DeleteAlignedFeature #################### library(Rsirius) @@ -67,7 +99,7 @@ library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | one feature that is considered the main feature of the adduct network -#EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -81,14 +113,30 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #Get feature (aligned over runs) with the given identifier from the specified project-space. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeature(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeature(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fields) +# result <- api_instance$GetAlignedFeature(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeature(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) +dput(result) + + +#################### GetAlignedFeatureQualityExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. + +#[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetAlignedFeatureQualityExperimental(var_project_id, var_aligned_feature_iddata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeatureQualityExperimental(var_project_id, var_aligned_feature_id) dput(result) @@ -96,47 +144,72 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #Get all available features (aligned over runs) in the given project-space. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeatures(var_project_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeatures(var_project_id, opt_fields = var_opt_fields) +# result <- api_instance$GetAlignedFeatures(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeatures(var_project_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) -#################### GetAlignedFeaturesPaged #################### +#################### GetAlignedFeaturesByGroupExperimental #################### library(Rsirius) -var_project_id <- "project_id_example" # character | project-space to read from. +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | tag group name. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) -#Get all available features (aligned over runs) in the given project-space. +#[EXPERIMENTAL] Get features (aligned over runs) by tag group api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +# result <- api_instance$GetAlignedFeaturesByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeaturesByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) dput(result) -#################### GetAlignedFeaturesQualityExperimental #################### +#################### GetAlignedFeaturesByTagExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project space to get features (aligned over runs) from. +var_filter <- "" # character | tag filter. (Optional) +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +#[EXPERIMENTAL] Get features (aligned over runs) by tag +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetAlignedFeaturesByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeaturesByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) + + +#################### GetAlignedFeaturesPaged #################### library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. -var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) +var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) -#EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#Get all available features (aligned over runs) in the given project-space. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetAlignedFeaturesQualityExperimental(var_project_id, var_aligned_feature_iddata_file = "result.txt") -result <- api_instance$features_api$GetAlignedFeaturesQualityExperimental(var_project_id, var_aligned_feature_id) +# result <- api_instance$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetAlignedFeaturesPaged(var_project_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) @@ -147,7 +220,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result -#Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +#Return Best matching compound classes for given formulaId api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -244,6 +317,21 @@ result <- api_instance$features_api$GetDeNovoStructureCandidatesPaged(var_projec dput(result) +#################### GetFeatureQuantTableExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) + +#[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetFeatureQuantTableExperimental(var_project_id, type = var_typedata_file = "result.txt") +result <- api_instance$features_api$GetFeatureQuantTableExperimental(var_project_id, type = var_type) +dput(result) + + #################### GetFingerprintPrediction #################### library(Rsirius) @@ -251,7 +339,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result -#Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +#Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -266,13 +354,14 @@ library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) -#Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +#Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_iddata_file = "result.txt") -result <- api_instance$features_api$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id) +# result <- api_instance$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetFormulaAnnotatedMsMsData(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared) dput(result) @@ -283,13 +372,14 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result var_spectrum_index <- -1 # integer | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (Optional) +var_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) -#Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +#Returns a fragmentation spectrum (e api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_indexdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index) +# result <- api_instance$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index, search_prepared = var_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetFormulaAnnotatedSpectrum(var_project_id, var_aligned_feature_id, var_formula_id, spectrum_index = var_spectrum_index, search_prepared = var_search_prepared) dput(result) @@ -299,14 +389,15 @@ library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #FormulaResultContainers for the given 'formulaId' with minimal information. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, opt_fields = var_opt_fields) +# result <- api_instance$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetFormulaCandidate(var_project_id, var_aligned_feature_id, var_formula_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) @@ -315,14 +406,15 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #List of FormulaResultContainers available for this feature with minimal information. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaCandidates(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaCandidates(var_project_id, var_aligned_feature_id, opt_fields = var_opt_fields) +# result <- api_instance$GetFormulaCandidates(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetFormulaCandidates(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) @@ -334,14 +426,15 @@ var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (al var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #Page of FormulaResultContainers available for this feature with minimal information. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") -result <- api_instance$features_api$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +# result <- api_instance$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$features_api$GetFormulaCandidatesPaged(var_project_id, var_aligned_feature_id, page = var_page, size = var_size, sort = var_sort, ms_data_search_prepared = var_ms_data_search_prepared, opt_fields = var_opt_fields) dput(result) @@ -352,7 +445,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result -#Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +#Returns fragmentation tree (SIRIUS) for the given formula result identifier api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -368,7 +461,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result -#Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. +#Returns Isotope pattern information for given formulaId api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -384,7 +477,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result -#Returns Lipid annotation (ElGordo) for the given formula result identifier. +#Returns Lipid annotation (ElGordo) for the given formulaId api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -397,30 +490,31 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. -var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belong sto. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belongs to. +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #Mass Spec data (input data) for the given 'alignedFeatureId' . api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetMsData(var_project_id, var_aligned_feature_iddata_file = "result.txt") -result <- api_instance$features_api$GetMsData(var_project_id, var_aligned_feature_id) +# result <- api_instance$GetMsData(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetMsData(var_project_id, var_aligned_feature_id, ms_data_search_prepared = var_ms_data_search_prepared) dput(result) -#################### GetQuantificationExperimental #################### +#################### GetQuantTableRowExperimental #################### library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. -var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which intensities should be read out +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which quantity should be read out var_type <- "APEX_HEIGHT" # character | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (Optional) -#EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetQuantificationExperimental(var_project_id, var_aligned_feature_id, type = var_typedata_file = "result.txt") -result <- api_instance$features_api$GetQuantificationExperimental(var_project_id, var_aligned_feature_id, type = var_type) +# result <- api_instance$GetQuantTableRowExperimental(var_project_id, var_aligned_feature_id, type = var_typedata_file = "result.txt") +result <- api_instance$features_api$GetQuantTableRowExperimental(var_project_id, var_aligned_feature_id, type = var_type) dput(result) @@ -429,10 +523,10 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. -var_match_id <- "match_id_example" # character | +var_match_id <- "match_id_example" # character | id of the library match to be returned. var_opt_fields <- c("none") # array[character] | (Optional) -#List of spectral library matches for the given 'alignedFeatureId'. +#Spectral library match for the given 'alignedFeatureId'. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -507,13 +601,30 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result var_inchi_key <- "inchi_key_example" # character | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation +var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) -#EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +#[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_keydata_file = "result.txt") -result <- api_instance$features_api$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key) +# result <- api_instance$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, ms_data_search_prepared = var_ms_data_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetStructureAnnotatedMsDataExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, ms_data_search_prepared = var_ms_data_search_prepared) +dput(result) + + +#################### GetStructureAnnotatedSpectralLibraryMatchExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. +var_match_id <- "match_id_example" # character | id of the library match to be returned. + +#[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetStructureAnnotatedSpectralLibraryMatchExperimental(var_project_id, var_aligned_feature_id, var_match_iddata_file = "result.txt") +result <- api_instance$features_api$GetStructureAnnotatedSpectralLibraryMatchExperimental(var_project_id, var_aligned_feature_id, var_match_id) dput(result) @@ -525,13 +636,14 @@ var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (al var_formula_id <- "formula_id_example" # character | identifier of the requested formula result var_inchi_key <- "inchi_key_example" # character | 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation var_spectrum_index <- -1 # integer | index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (Optional) +var_search_prepared <- FALSE # character | (Optional) -#EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +#[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_indexdata_file = "result.txt") -result <- api_instance$features_api$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index) +# result <- api_instance$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index, search_prepared = var_search_prepareddata_file = "result.txt") +result <- api_instance$features_api$GetStructureAnnotatedSpectrumExperimental(var_project_id, var_aligned_feature_id, var_formula_id, var_inchi_key, spectrum_index = var_spectrum_index, search_prepared = var_search_prepared) dput(result) @@ -607,6 +719,21 @@ result <- api_instance$features_api$GetStructureCandidatesPaged(var_project_id, dput(result) +#################### GetTagsForAlignedFeaturesExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to get from. +var_object_id <- "object_id_example" # character | object to get tags for. + +#[EXPERIMENTAL] Get all tags associated with this Object +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTagsForAlignedFeaturesExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$features_api$GetTagsForAlignedFeaturesExperimental(var_project_id, var_object_id) +dput(result) + + #################### GetTracesExperimental #################### library(Rsirius) @@ -614,7 +741,7 @@ var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which intensities should be read out var_include_all <- FALSE # character | when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. (Optional) -#EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +#[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -623,6 +750,19 @@ result <- api_instance$features_api$GetTracesExperimental(var_project_id, var_al dput(result) +#################### RemoveTagFromAlignedFeatureExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) to delete tag from. +var_tag_name <- "tag_name_example" # character | name of the tag to delete. + +#[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space +api_instance <- rsirius_api$new() + +api_instance$features_api$RemoveTagFromAlignedFeatureExperimental(var_project_id, var_aligned_feature_id, var_tag_name) + + } } \section{Public fields}{ @@ -638,6 +778,10 @@ dput(result) \item \href{#method-FeaturesApi-new}{\code{FeaturesApi$new()}} \item \href{#method-FeaturesApi-AddAlignedFeatures}{\code{FeaturesApi$AddAlignedFeatures()}} \item \href{#method-FeaturesApi-AddAlignedFeaturesWithHttpInfo}{\code{FeaturesApi$AddAlignedFeaturesWithHttpInfo()}} +\item \href{#method-FeaturesApi-AddDeNovoStructureCandidate}{\code{FeaturesApi$AddDeNovoStructureCandidate()}} +\item \href{#method-FeaturesApi-AddDeNovoStructureCandidateWithHttpInfo}{\code{FeaturesApi$AddDeNovoStructureCandidateWithHttpInfo()}} +\item \href{#method-FeaturesApi-AddTagsToAlignedFeatureExperimental}{\code{FeaturesApi$AddTagsToAlignedFeatureExperimental()}} +\item \href{#method-FeaturesApi-AddTagsToAlignedFeatureExperimentalWithHttpInfo}{\code{FeaturesApi$AddTagsToAlignedFeatureExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-DeleteAlignedFeature}{\code{FeaturesApi$DeleteAlignedFeature()}} \item \href{#method-FeaturesApi-DeleteAlignedFeatureWithHttpInfo}{\code{FeaturesApi$DeleteAlignedFeatureWithHttpInfo()}} \item \href{#method-FeaturesApi-DeleteAlignedFeatures}{\code{FeaturesApi$DeleteAlignedFeatures()}} @@ -646,12 +790,16 @@ dput(result) \item \href{#method-FeaturesApi-GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo}{\code{FeaturesApi$GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetAlignedFeature}{\code{FeaturesApi$GetAlignedFeature()}} \item \href{#method-FeaturesApi-GetAlignedFeatureWithHttpInfo}{\code{FeaturesApi$GetAlignedFeatureWithHttpInfo()}} +\item \href{#method-FeaturesApi-GetAlignedFeatureQualityExperimental}{\code{FeaturesApi$GetAlignedFeatureQualityExperimental()}} +\item \href{#method-FeaturesApi-GetAlignedFeatureQualityExperimentalWithHttpInfo}{\code{FeaturesApi$GetAlignedFeatureQualityExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetAlignedFeatures}{\code{FeaturesApi$GetAlignedFeatures()}} \item \href{#method-FeaturesApi-GetAlignedFeaturesWithHttpInfo}{\code{FeaturesApi$GetAlignedFeaturesWithHttpInfo()}} +\item \href{#method-FeaturesApi-GetAlignedFeaturesByGroupExperimental}{\code{FeaturesApi$GetAlignedFeaturesByGroupExperimental()}} +\item \href{#method-FeaturesApi-GetAlignedFeaturesByGroupExperimentalWithHttpInfo}{\code{FeaturesApi$GetAlignedFeaturesByGroupExperimentalWithHttpInfo()}} +\item \href{#method-FeaturesApi-GetAlignedFeaturesByTagExperimental}{\code{FeaturesApi$GetAlignedFeaturesByTagExperimental()}} +\item \href{#method-FeaturesApi-GetAlignedFeaturesByTagExperimentalWithHttpInfo}{\code{FeaturesApi$GetAlignedFeaturesByTagExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetAlignedFeaturesPaged}{\code{FeaturesApi$GetAlignedFeaturesPaged()}} \item \href{#method-FeaturesApi-GetAlignedFeaturesPagedWithHttpInfo}{\code{FeaturesApi$GetAlignedFeaturesPagedWithHttpInfo()}} -\item \href{#method-FeaturesApi-GetAlignedFeaturesQualityExperimental}{\code{FeaturesApi$GetAlignedFeaturesQualityExperimental()}} -\item \href{#method-FeaturesApi-GetAlignedFeaturesQualityExperimentalWithHttpInfo}{\code{FeaturesApi$GetAlignedFeaturesQualityExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetBestMatchingCompoundClasses}{\code{FeaturesApi$GetBestMatchingCompoundClasses()}} \item \href{#method-FeaturesApi-GetBestMatchingCompoundClassesWithHttpInfo}{\code{FeaturesApi$GetBestMatchingCompoundClassesWithHttpInfo()}} \item \href{#method-FeaturesApi-GetCanopusPrediction}{\code{FeaturesApi$GetCanopusPrediction()}} @@ -664,6 +812,8 @@ dput(result) \item \href{#method-FeaturesApi-GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo}{\code{FeaturesApi$GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo()}} \item \href{#method-FeaturesApi-GetDeNovoStructureCandidatesPaged}{\code{FeaturesApi$GetDeNovoStructureCandidatesPaged()}} \item \href{#method-FeaturesApi-GetDeNovoStructureCandidatesPagedWithHttpInfo}{\code{FeaturesApi$GetDeNovoStructureCandidatesPagedWithHttpInfo()}} +\item \href{#method-FeaturesApi-GetFeatureQuantTableExperimental}{\code{FeaturesApi$GetFeatureQuantTableExperimental()}} +\item \href{#method-FeaturesApi-GetFeatureQuantTableExperimentalWithHttpInfo}{\code{FeaturesApi$GetFeatureQuantTableExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetFingerprintPrediction}{\code{FeaturesApi$GetFingerprintPrediction()}} \item \href{#method-FeaturesApi-GetFingerprintPredictionWithHttpInfo}{\code{FeaturesApi$GetFingerprintPredictionWithHttpInfo()}} \item \href{#method-FeaturesApi-GetFormulaAnnotatedMsMsData}{\code{FeaturesApi$GetFormulaAnnotatedMsMsData()}} @@ -684,8 +834,8 @@ dput(result) \item \href{#method-FeaturesApi-GetLipidAnnotationWithHttpInfo}{\code{FeaturesApi$GetLipidAnnotationWithHttpInfo()}} \item \href{#method-FeaturesApi-GetMsData}{\code{FeaturesApi$GetMsData()}} \item \href{#method-FeaturesApi-GetMsDataWithHttpInfo}{\code{FeaturesApi$GetMsDataWithHttpInfo()}} -\item \href{#method-FeaturesApi-GetQuantificationExperimental}{\code{FeaturesApi$GetQuantificationExperimental()}} -\item \href{#method-FeaturesApi-GetQuantificationExperimentalWithHttpInfo}{\code{FeaturesApi$GetQuantificationExperimentalWithHttpInfo()}} +\item \href{#method-FeaturesApi-GetQuantTableRowExperimental}{\code{FeaturesApi$GetQuantTableRowExperimental()}} +\item \href{#method-FeaturesApi-GetQuantTableRowExperimentalWithHttpInfo}{\code{FeaturesApi$GetQuantTableRowExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetSpectralLibraryMatch}{\code{FeaturesApi$GetSpectralLibraryMatch()}} \item \href{#method-FeaturesApi-GetSpectralLibraryMatchWithHttpInfo}{\code{FeaturesApi$GetSpectralLibraryMatchWithHttpInfo()}} \item \href{#method-FeaturesApi-GetSpectralLibraryMatches}{\code{FeaturesApi$GetSpectralLibraryMatches()}} @@ -696,6 +846,8 @@ dput(result) \item \href{#method-FeaturesApi-GetSpectralLibraryMatchesSummaryWithHttpInfo}{\code{FeaturesApi$GetSpectralLibraryMatchesSummaryWithHttpInfo()}} \item \href{#method-FeaturesApi-GetStructureAnnotatedMsDataExperimental}{\code{FeaturesApi$GetStructureAnnotatedMsDataExperimental()}} \item \href{#method-FeaturesApi-GetStructureAnnotatedMsDataExperimentalWithHttpInfo}{\code{FeaturesApi$GetStructureAnnotatedMsDataExperimentalWithHttpInfo()}} +\item \href{#method-FeaturesApi-GetStructureAnnotatedSpectralLibraryMatchExperimental}{\code{FeaturesApi$GetStructureAnnotatedSpectralLibraryMatchExperimental()}} +\item \href{#method-FeaturesApi-GetStructureAnnotatedSpectralLibraryMatchExperimentalWithHttpInfo}{\code{FeaturesApi$GetStructureAnnotatedSpectralLibraryMatchExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetStructureAnnotatedSpectrumExperimental}{\code{FeaturesApi$GetStructureAnnotatedSpectrumExperimental()}} \item \href{#method-FeaturesApi-GetStructureAnnotatedSpectrumExperimentalWithHttpInfo}{\code{FeaturesApi$GetStructureAnnotatedSpectrumExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetStructureCandidates}{\code{FeaturesApi$GetStructureCandidates()}} @@ -706,8 +858,12 @@ dput(result) \item \href{#method-FeaturesApi-GetStructureCandidatesByFormulaPagedWithHttpInfo}{\code{FeaturesApi$GetStructureCandidatesByFormulaPagedWithHttpInfo()}} \item \href{#method-FeaturesApi-GetStructureCandidatesPaged}{\code{FeaturesApi$GetStructureCandidatesPaged()}} \item \href{#method-FeaturesApi-GetStructureCandidatesPagedWithHttpInfo}{\code{FeaturesApi$GetStructureCandidatesPagedWithHttpInfo()}} +\item \href{#method-FeaturesApi-GetTagsForAlignedFeaturesExperimental}{\code{FeaturesApi$GetTagsForAlignedFeaturesExperimental()}} +\item \href{#method-FeaturesApi-GetTagsForAlignedFeaturesExperimentalWithHttpInfo}{\code{FeaturesApi$GetTagsForAlignedFeaturesExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-GetTracesExperimental}{\code{FeaturesApi$GetTracesExperimental()}} \item \href{#method-FeaturesApi-GetTracesExperimentalWithHttpInfo}{\code{FeaturesApi$GetTracesExperimentalWithHttpInfo()}} +\item \href{#method-FeaturesApi-RemoveTagFromAlignedFeatureExperimental}{\code{FeaturesApi$RemoveTagFromAlignedFeatureExperimental()}} +\item \href{#method-FeaturesApi-RemoveTagFromAlignedFeatureExperimentalWithHttpInfo}{\code{FeaturesApi$RemoveTagFromAlignedFeatureExperimentalWithHttpInfo()}} \item \href{#method-FeaturesApi-clone}{\code{FeaturesApi$clone()}} } } @@ -738,7 +894,7 @@ Import (aligned) features into the project. project_id, feature_import, profile = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -753,7 +909,7 @@ Import (aligned) features into the project. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -775,7 +931,7 @@ Import (aligned) features into the project. project_id, feature_import, profile = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -790,7 +946,7 @@ Import (aligned) features into the project. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -803,6 +959,142 @@ API response (array[AlignedFeature]) with additional information such as HTTP st } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-AddDeNovoStructureCandidate}{}}} +\subsection{Method \code{AddDeNovoStructureCandidate()}}{ +[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$AddDeNovoStructureCandidate( + project_id, + aligned_feature_id, + smiles = "none", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} + +\item{\code{smiles}}{(optional) smiles (default value: "none")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[StructureCandidateFormula] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-AddDeNovoStructureCandidateWithHttpInfo}{}}} +\subsection{Method \code{AddDeNovoStructureCandidateWithHttpInfo()}}{ +[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$AddDeNovoStructureCandidateWithHttpInfo( + project_id, + aligned_feature_id, + smiles = "none", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} + +\item{\code{smiles}}{(optional) smiles (default value: "none")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[StructureCandidateFormula]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-AddTagsToAlignedFeatureExperimental}{}}} +\subsection{Method \code{AddTagsToAlignedFeatureExperimental()}}{ +[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$AddTagsToAlignedFeatureExperimental( + project_id, + aligned_feature_id, + tag, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{aligned_feature_id}}{run to add tags to.} + +\item{\code{tag}}{tags to add.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[Tag] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-AddTagsToAlignedFeatureExperimentalWithHttpInfo}{}}} +\subsection{Method \code{AddTagsToAlignedFeatureExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$AddTagsToAlignedFeatureExperimentalWithHttpInfo( + project_id, + aligned_feature_id, + tag, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{aligned_feature_id}}{run to add tags to.} + +\item{\code{tag}}{tags to add.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[Tag]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-DeleteAlignedFeature}{}}} \subsection{Method \code{DeleteAlignedFeature()}}{ @@ -906,7 +1198,7 @@ API response (void) with additional information such as HTTP status code, header \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetAdductNetworkWithMergedTracesExperimental}{}}} \subsection{Method \code{GetAdductNetworkWithMergedTracesExperimental()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetAdductNetworkWithMergedTracesExperimental( project_id, @@ -937,7 +1229,7 @@ TraceSetExperimental \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo}{}}} \subsection{Method \code{GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetAdductNetworkWithMergedTracesExperimentalWithHttpInfo( project_id, @@ -973,7 +1265,8 @@ Get feature (aligned over runs) with the given identifier from the specified pro \if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeature( project_id, aligned_feature_id, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -986,7 +1279,9 @@ Get feature (aligned over runs) with the given identifier from the specified pro \item{\code{aligned_feature_id}}{identifier of feature (aligned over runs) to access.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1007,7 +1302,8 @@ Get feature (aligned over runs) with the given identifier from the specified pro \if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeatureWithHttpInfo( project_id, aligned_feature_id, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1020,7 +1316,9 @@ Get feature (aligned over runs) with the given identifier from the specified pro \item{\code{aligned_feature_id}}{identifier of feature (aligned over runs) to access.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1033,6 +1331,68 @@ API response (AlignedFeature) with additional information such as HTTP status co } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeatureQualityExperimental}{}}} +\subsection{Method \code{GetAlignedFeatureQualityExperimental()}}{ +[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeatureQualityExperimental( + project_id, + aligned_feature_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aligned_feature_id}}{identifier of feature (aligned over runs) to access.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +AlignedFeatureQualityExperimental +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeatureQualityExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetAlignedFeatureQualityExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeatureQualityExperimentalWithHttpInfo( + project_id, + aligned_feature_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aligned_feature_id}}{identifier of feature (aligned over runs) to access.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (AlignedFeatureQualityExperimental) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeatures}{}}} \subsection{Method \code{GetAlignedFeatures()}}{ @@ -1040,7 +1400,8 @@ Get all available features (aligned over runs) in the given project-space. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeatures( project_id, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1051,7 +1412,9 @@ Get all available features (aligned over runs) in the given project-space. \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1071,7 +1434,8 @@ Get all available features (aligned over runs) in the given project-space. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesWithHttpInfo( project_id, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1082,7 +1446,9 @@ Get all available features (aligned over runs) in the given project-space. \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1095,17 +1461,18 @@ API response (array[AlignedFeature]) with additional information such as HTTP st } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesPaged}{}}} -\subsection{Method \code{GetAlignedFeaturesPaged()}}{ -Get all available features (aligned over runs) in the given project-space. +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesByGroupExperimental}{}}} +\subsection{Method \code{GetAlignedFeaturesByGroupExperimental()}}{ +[EXPERIMENTAL] Get features (aligned over runs) by tag group \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesPaged( +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesByGroupExperimental( project_id, + group_name, page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1114,7 +1481,9 @@ Get all available features (aligned over runs) in the given project-space. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{project_id}}{project-space to read from.} +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{tag group name.} \item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} @@ -1122,7 +1491,7 @@ Get all available features (aligned over runs) in the given project-space. \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1135,17 +1504,18 @@ PagedModelAlignedFeature } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesPagedWithHttpInfo}{}}} -\subsection{Method \code{GetAlignedFeaturesPagedWithHttpInfo()}}{ -Get all available features (aligned over runs) in the given project-space. +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesByGroupExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetAlignedFeaturesByGroupExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get features (aligned over runs) by tag group \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesPagedWithHttpInfo( +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesByGroupExperimentalWithHttpInfo( project_id, + group_name, page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1154,7 +1524,9 @@ Get all available features (aligned over runs) in the given project-space. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{project_id}}{project-space to read from.} +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{tag group name.} \item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} @@ -1162,7 +1534,7 @@ Get all available features (aligned over runs) in the given project-space. \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1175,14 +1547,104 @@ API response (PagedModelAlignedFeature) with additional information such as HTTP } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesQualityExperimental}{}}} -\subsection{Method \code{GetAlignedFeaturesQualityExperimental()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesByTagExperimental}{}}} +\subsection{Method \code{GetAlignedFeaturesByTagExperimental()}}{ +[EXPERIMENTAL] Get features (aligned over runs) by tag \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesQualityExperimental( +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesByTagExperimental( project_id, - aligned_feature_id, + filter = "", + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project space to get features (aligned over runs) from.} + +\item{\code{filter}}{(optional) tag filter. (default value: "")} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PagedModelAlignedFeature +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesByTagExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetAlignedFeaturesByTagExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get features (aligned over runs) by tag +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesByTagExperimentalWithHttpInfo( + project_id, + filter = "", + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project space to get features (aligned over runs) from.} + +\item{\code{filter}}{(optional) tag filter. (default value: "")} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (PagedModelAlignedFeature) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesPaged}{}}} +\subsection{Method \code{GetAlignedFeaturesPaged()}}{ +Get all available features (aligned over runs) in the given project-space. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesPaged( + project_id, + page = 0, + size = 20, + sort = NULL, + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1193,7 +1655,15 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{aligned_feature_id}}{identifier of feature (aligned over runs) to access.} +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1202,18 +1672,22 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \if{html}{\out{
}} } \subsection{Returns}{ -AlignedFeatureQualityExperimental +PagedModelAlignedFeature } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesQualityExperimentalWithHttpInfo}{}}} -\subsection{Method \code{GetAlignedFeaturesQualityExperimentalWithHttpInfo()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetAlignedFeaturesPagedWithHttpInfo}{}}} +\subsection{Method \code{GetAlignedFeaturesPagedWithHttpInfo()}}{ +Get all available features (aligned over runs) in the given project-space. \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesQualityExperimentalWithHttpInfo( +\if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesPagedWithHttpInfo( project_id, - aligned_feature_id, + page = 0, + size = 20, + sort = NULL, + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1224,7 +1698,15 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{aligned_feature_id}}{identifier of feature (aligned over runs) to access.} +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1233,14 +1715,14 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \if{html}{\out{
}} } \subsection{Returns}{ -API response (AlignedFeatureQualityExperimental) with additional information such as HTTP status code, headers +API response (PagedModelAlignedFeature) with additional information such as HTTP status code, headers } } \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetBestMatchingCompoundClasses}{}}} \subsection{Method \code{GetBestMatchingCompoundClasses()}}{ -Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +Return Best matching compound classes for given formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetBestMatchingCompoundClasses( project_id, @@ -1274,7 +1756,7 @@ CompoundClasses \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetBestMatchingCompoundClassesWithHttpInfo}{}}} \subsection{Method \code{GetBestMatchingCompoundClassesWithHttpInfo()}}{ -Best matching compound classes, Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +Return Best matching compound classes for given formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetBestMatchingCompoundClassesWithHttpInfo( project_id, @@ -1450,7 +1932,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS project_id, aligned_feature_id, formula_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1465,7 +1947,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1487,7 +1969,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS project_id, aligned_feature_id, formula_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1502,7 +1984,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1527,7 +2009,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1548,7 +2030,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1573,7 +2055,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1594,7 +2076,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1618,7 +2100,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1637,7 +2119,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1661,7 +2143,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1680,7 +2162,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1693,10 +2175,72 @@ API response (PagedModelStructureCandidateFormula) with additional information s } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetFeatureQuantTableExperimental}{}}} +\subsection{Method \code{GetFeatureQuantTableExperimental()}}{ +[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetFeatureQuantTableExperimental( + project_id, + type = "APEX_HEIGHT", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{type}}{(optional) quantification type. (default value: "APEX_HEIGHT")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +QuantTableExperimental +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetFeatureQuantTableExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetFeatureQuantTableExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetFeatureQuantTableExperimentalWithHttpInfo( + project_id, + type = "APEX_HEIGHT", + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{type}}{(optional) quantification type. (default value: "APEX_HEIGHT")} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (QuantTableExperimental) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFingerprintPrediction}{}}} \subsection{Method \code{GetFingerprintPrediction()}}{ -Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFingerprintPrediction( project_id, @@ -1730,7 +2274,7 @@ array[numeric] \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFingerprintPredictionWithHttpInfo}{}}} \subsection{Method \code{GetFingerprintPredictionWithHttpInfo()}}{ -Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier This fingerprint is used to perform structure database search and predict compound classes. +Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFingerprintPredictionWithHttpInfo( project_id, @@ -1764,12 +2308,13 @@ API response (array[numeric]) with additional information such as HTTP status co \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFormulaAnnotatedMsMsData}{}}} \subsection{Method \code{GetFormulaAnnotatedMsMsData()}}{ -Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFormulaAnnotatedMsMsData( project_id, aligned_feature_id, formula_id, + ms_data_search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -1784,6 +2329,8 @@ Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with \item{\code{formula_id}}{identifier of the requested formula result} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -1798,12 +2345,13 @@ AnnotatedMsMsData \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFormulaAnnotatedMsMsDataWithHttpInfo}{}}} \subsection{Method \code{GetFormulaAnnotatedMsMsDataWithHttpInfo()}}{ -Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFormulaAnnotatedMsMsDataWithHttpInfo( project_id, aligned_feature_id, formula_id, + ms_data_search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -1818,6 +2366,8 @@ Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with \item{\code{formula_id}}{identifier of the requested formula result} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -1832,13 +2382,14 @@ API response (AnnotatedMsMsData) with additional information such as HTTP status \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFormulaAnnotatedSpectrum}{}}} \subsection{Method \code{GetFormulaAnnotatedSpectrum()}}{ -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +Returns a fragmentation spectrum (e \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFormulaAnnotatedSpectrum( project_id, aligned_feature_id, formula_id, spectrum_index = -1, + search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -1855,6 +2406,8 @@ Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fra \item{\code{spectrum_index}}{(optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1)} +\item{\code{search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -1869,13 +2422,14 @@ AnnotatedSpectrum \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFormulaAnnotatedSpectrumWithHttpInfo}{}}} \subsection{Method \code{GetFormulaAnnotatedSpectrumWithHttpInfo()}}{ -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. +Returns a fragmentation spectrum (e \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFormulaAnnotatedSpectrumWithHttpInfo( project_id, aligned_feature_id, formula_id, spectrum_index = -1, + search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -1892,6 +2446,8 @@ Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fra \item{\code{spectrum_index}}{(optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1)} +\item{\code{search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -1912,7 +2468,8 @@ FormulaResultContainers for the given 'formulaId' with minimal information. project_id, aligned_feature_id, formula_id, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1927,7 +2484,9 @@ FormulaResultContainers for the given 'formulaId' with minimal information. \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1949,7 +2508,8 @@ FormulaResultContainers for the given 'formulaId' with minimal information. project_id, aligned_feature_id, formula_id, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1964,7 +2524,9 @@ FormulaResultContainers for the given 'formulaId' with minimal information. \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1985,6 +2547,7 @@ List of FormulaResultContainers available for this feature with minimal informat \if{html}{\out{
}}\preformatted{FeaturesApi$GetFormulaCandidates( project_id, aligned_feature_id, + ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ... @@ -1998,6 +2561,8 @@ List of FormulaResultContainers available for this feature with minimal informat \item{\code{aligned_feature_id}}{feature (aligned over runs) the formula result belongs to.} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2019,6 +2584,7 @@ List of FormulaResultContainers available for this feature with minimal informat \if{html}{\out{
}}\preformatted{FeaturesApi$GetFormulaCandidatesWithHttpInfo( project_id, aligned_feature_id, + ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ... @@ -2032,6 +2598,8 @@ List of FormulaResultContainers available for this feature with minimal informat \item{\code{aligned_feature_id}}{feature (aligned over runs) the formula result belongs to.} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2056,7 +2624,8 @@ Page of FormulaResultContainers available for this feature with minimal informat page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -2075,7 +2644,9 @@ Page of FormulaResultContainers available for this feature with minimal informat \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2099,7 +2670,8 @@ Page of FormulaResultContainers available for this feature with minimal informat page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + ms_data_search_prepared = FALSE, + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -2118,7 +2690,9 @@ Page of FormulaResultContainers available for this feature with minimal informat \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2134,7 +2708,7 @@ API response (PagedModelFormulaCandidate) with additional information such as HT \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFragTree}{}}} \subsection{Method \code{GetFragTree()}}{ -Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +Returns fragmentation tree (SIRIUS) for the given formula result identifier \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFragTree( project_id, @@ -2168,7 +2742,7 @@ FragmentationTree \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetFragTreeWithHttpInfo}{}}} \subsection{Method \code{GetFragTreeWithHttpInfo()}}{ -Returns fragmentation tree (SIRIUS) for the given formula result identifier This tree is used to rank formula candidates (treeScore). +Returns fragmentation tree (SIRIUS) for the given formula result identifier \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetFragTreeWithHttpInfo( project_id, @@ -2202,7 +2776,7 @@ API response (FragmentationTree) with additional information such as HTTP status \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetIsotopePatternAnnotation}{}}} \subsection{Method \code{GetIsotopePatternAnnotation()}}{ -Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. +Returns Isotope pattern information for given formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetIsotopePatternAnnotation( project_id, @@ -2236,7 +2810,7 @@ IsotopePatternAnnotation \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetIsotopePatternAnnotationWithHttpInfo}{}}} \subsection{Method \code{GetIsotopePatternAnnotationWithHttpInfo()}}{ -Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. +Returns Isotope pattern information for given formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetIsotopePatternAnnotationWithHttpInfo( project_id, @@ -2270,7 +2844,7 @@ API response (IsotopePatternAnnotation) with additional information such as HTTP \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetLipidAnnotation}{}}} \subsection{Method \code{GetLipidAnnotation()}}{ -Returns Lipid annotation (ElGordo) for the given formula result identifier. +Returns Lipid annotation (ElGordo) for the given formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetLipidAnnotation( project_id, @@ -2304,7 +2878,7 @@ LipidAnnotation \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetLipidAnnotationWithHttpInfo}{}}} \subsection{Method \code{GetLipidAnnotationWithHttpInfo()}}{ -Returns Lipid annotation (ElGordo) for the given formula result identifier. +Returns Lipid annotation (ElGordo) for the given formulaId \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetLipidAnnotationWithHttpInfo( project_id, @@ -2340,7 +2914,13 @@ API response (LipidAnnotation) with additional information such as HTTP status c \subsection{Method \code{GetMsData()}}{ Mass Spec data (input data) for the given 'alignedFeatureId' . \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FeaturesApi$GetMsData(project_id, aligned_feature_id, data_file = NULL, ...)}\if{html}{\out{
}} +\if{html}{\out{
}}\preformatted{FeaturesApi$GetMsData( + project_id, + aligned_feature_id, + ms_data_search_prepared = FALSE, + data_file = NULL, + ... +)}\if{html}{\out{
}} } \subsection{Arguments}{ @@ -2348,7 +2928,9 @@ Mass Spec data (input data) for the given 'alignedFeatureId' . \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{aligned_feature_id}}{feature (aligned over runs) the Mass Spec data belong sto.} +\item{\code{aligned_feature_id}}{feature (aligned over runs) the Mass Spec data belongs to.} + +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2369,6 +2951,7 @@ Mass Spec data (input data) for the given 'alignedFeatureId' . \if{html}{\out{
}}\preformatted{FeaturesApi$GetMsDataWithHttpInfo( project_id, aligned_feature_id, + ms_data_search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -2379,7 +2962,9 @@ Mass Spec data (input data) for the given 'alignedFeatureId' . \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{aligned_feature_id}}{feature (aligned over runs) the Mass Spec data belong sto.} +\item{\code{aligned_feature_id}}{feature (aligned over runs) the Mass Spec data belongs to.} + +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2392,12 +2977,12 @@ API response (MsData) with additional information such as HTTP status code, head } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-FeaturesApi-GetQuantificationExperimental}{}}} -\subsection{Method \code{GetQuantificationExperimental()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetQuantTableRowExperimental}{}}} +\subsection{Method \code{GetQuantTableRowExperimental()}}{ +[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FeaturesApi$GetQuantificationExperimental( +\if{html}{\out{
}}\preformatted{FeaturesApi$GetQuantTableRowExperimental( project_id, aligned_feature_id, type = "APEX_HEIGHT", @@ -2411,7 +2996,7 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{aligned_feature_id}}{feature which intensities should be read out} +\item{\code{aligned_feature_id}}{feature which quantity should be read out} \item{\code{type}}{(optional) quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (default value: "APEX_HEIGHT")} @@ -2422,16 +3007,16 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \if{html}{\out{
}} } \subsection{Returns}{ -QuantificationTableExperimental +QuantTableExperimental } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-FeaturesApi-GetQuantificationExperimentalWithHttpInfo}{}}} -\subsection{Method \code{GetQuantificationExperimentalWithHttpInfo()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetQuantTableRowExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetQuantTableRowExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{FeaturesApi$GetQuantificationExperimentalWithHttpInfo( +\if{html}{\out{
}}\preformatted{FeaturesApi$GetQuantTableRowExperimentalWithHttpInfo( project_id, aligned_feature_id, type = "APEX_HEIGHT", @@ -2445,7 +3030,7 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \describe{ \item{\code{project_id}}{project-space to read from.} -\item{\code{aligned_feature_id}}{feature which intensities should be read out} +\item{\code{aligned_feature_id}}{feature which quantity should be read out} \item{\code{type}}{(optional) quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (default value: "APEX_HEIGHT")} @@ -2456,20 +3041,20 @@ EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) \if{html}{\out{
}} } \subsection{Returns}{ -API response (QuantificationTableExperimental) with additional information such as HTTP status code, headers +API response (QuantTableExperimental) with additional information such as HTTP status code, headers } } \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetSpectralLibraryMatch}{}}} \subsection{Method \code{GetSpectralLibraryMatch()}}{ -List of spectral library matches for the given 'alignedFeatureId'. +Spectral library match for the given 'alignedFeatureId'. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetSpectralLibraryMatch( project_id, aligned_feature_id, match_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -2482,9 +3067,9 @@ List of spectral library matches for the given 'alignedFeatureId'. \item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} -\item{\code{match_id}}{} +\item{\code{match_id}}{id of the library match to be returned.} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2500,13 +3085,13 @@ SpectralLibraryMatch \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetSpectralLibraryMatchWithHttpInfo}{}}} \subsection{Method \code{GetSpectralLibraryMatchWithHttpInfo()}}{ -List of spectral library matches for the given 'alignedFeatureId'. +Spectral library match for the given 'alignedFeatureId'. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetSpectralLibraryMatchWithHttpInfo( project_id, aligned_feature_id, match_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -2519,9 +3104,9 @@ List of spectral library matches for the given 'alignedFeatureId'. \item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} -\item{\code{match_id}}{} +\item{\code{match_id}}{id of the library match to be returned.} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2634,7 +3219,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -2659,7 +3244,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. \item{\code{inchi_key}}{(optional) No description (default value: "")} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2686,7 +3271,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -2711,7 +3296,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. \item{\code{inchi_key}}{(optional) No description (default value: "")} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2807,13 +3392,14 @@ API response (SpectralLibraryMatchSummary) with additional information such as H \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetStructureAnnotatedMsDataExperimental}{}}} \subsection{Method \code{GetStructureAnnotatedMsDataExperimental()}}{ -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureAnnotatedMsDataExperimental( project_id, aligned_feature_id, formula_id, inchi_key, + ms_data_search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -2830,6 +3416,8 @@ EXPERIMENTAL: This endpoint is experimental because it produces return values th \item{\code{inchi_key}}{2d InChIKey of the structure candidate to be used to annotate the spectrum annotation} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -2844,13 +3432,14 @@ AnnotatedMsMsData \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetStructureAnnotatedMsDataExperimentalWithHttpInfo}{}}} \subsection{Method \code{GetStructureAnnotatedMsDataExperimentalWithHttpInfo()}}{ -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureAnnotatedMsDataExperimentalWithHttpInfo( project_id, aligned_feature_id, formula_id, inchi_key, + ms_data_search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -2867,6 +3456,8 @@ EXPERIMENTAL: This endpoint is experimental because it produces return values th \item{\code{inchi_key}}{2d InChIKey of the structure candidate to be used to annotate the spectrum annotation} +\item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -2878,10 +3469,78 @@ API response (AnnotatedMsMsData) with additional information such as HTTP status } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetStructureAnnotatedSpectralLibraryMatchExperimental}{}}} +\subsection{Method \code{GetStructureAnnotatedSpectralLibraryMatchExperimental()}}{ +[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureAnnotatedSpectralLibraryMatchExperimental( + project_id, + aligned_feature_id, + match_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} + +\item{\code{match_id}}{id of the library match to be returned.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +AnnotatedSpectrum +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetStructureAnnotatedSpectralLibraryMatchExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetStructureAnnotatedSpectralLibraryMatchExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureAnnotatedSpectralLibraryMatchExperimentalWithHttpInfo( + project_id, + aligned_feature_id, + match_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} + +\item{\code{match_id}}{id of the library match to be returned.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (AnnotatedSpectrum) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetStructureAnnotatedSpectrumExperimental}{}}} \subsection{Method \code{GetStructureAnnotatedSpectrumExperimental()}}{ -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureAnnotatedSpectrumExperimental( project_id, @@ -2889,6 +3548,7 @@ EXPERIMENTAL: This endpoint is experimental because it produces return values th formula_id, inchi_key, spectrum_index = -1, + search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -2907,6 +3567,8 @@ EXPERIMENTAL: This endpoint is experimental because it produces return values th \item{\code{spectrum_index}}{(optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1)} +\item{\code{search_prepared}}{(optional) No description (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -2921,7 +3583,7 @@ AnnotatedSpectrum \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetStructureAnnotatedSpectrumExperimentalWithHttpInfo}{}}} \subsection{Method \code{GetStructureAnnotatedSpectrumExperimentalWithHttpInfo()}}{ -EXPERIMENTAL: This endpoint is experimental because it produces return values that are not yet stable. +[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureAnnotatedSpectrumExperimentalWithHttpInfo( project_id, @@ -2929,6 +3591,7 @@ EXPERIMENTAL: This endpoint is experimental because it produces return values th formula_id, inchi_key, spectrum_index = -1, + search_prepared = FALSE, data_file = NULL, ... )}\if{html}{\out{
}} @@ -2947,6 +3610,8 @@ EXPERIMENTAL: This endpoint is experimental because it produces return values th \item{\code{spectrum_index}}{(optional) index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (default value: -1)} +\item{\code{search_prepared}}{(optional) No description (default value: FALSE)} + \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -2966,7 +3631,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureCandidates( project_id, aligned_feature_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -2979,7 +3644,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3000,7 +3665,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureCandidatesWithHttpInfo( project_id, aligned_feature_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3013,7 +3678,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3035,7 +3700,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula project_id, aligned_feature_id, formula_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3050,7 +3715,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3072,7 +3737,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula project_id, aligned_feature_id, formula_id, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3087,7 +3752,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3112,7 +3777,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3133,7 +3798,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3158,7 +3823,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3179,7 +3844,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3203,7 +3868,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3222,7 +3887,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3246,7 +3911,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3265,7 +3930,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3278,10 +3943,72 @@ API response (PagedModelStructureCandidateFormula) with additional information s } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetTagsForAlignedFeaturesExperimental}{}}} +\subsection{Method \code{GetTagsForAlignedFeaturesExperimental()}}{ +[EXPERIMENTAL] Get all tags associated with this Object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetTagsForAlignedFeaturesExperimental( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to get from.} + +\item{\code{object_id}}{object to get tags for.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[Tag] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-GetTagsForAlignedFeaturesExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetTagsForAlignedFeaturesExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get all tags associated with this Object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$GetTagsForAlignedFeaturesExperimentalWithHttpInfo( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to get from.} + +\item{\code{object_id}}{object to get tags for.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[Tag]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetTracesExperimental}{}}} \subsection{Method \code{GetTracesExperimental()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetTracesExperimental( project_id, @@ -3315,7 +4042,7 @@ TraceSetExperimental \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-GetTracesExperimentalWithHttpInfo}{}}} \subsection{Method \code{GetTracesExperimentalWithHttpInfo()}}{ -EXPERIMENTAL: This endpoint is experimental and may be changed (or even removed) without notice until it is declared stable. +[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) \subsection{Usage}{ \if{html}{\out{
}}\preformatted{FeaturesApi$GetTracesExperimentalWithHttpInfo( project_id, @@ -3346,6 +4073,68 @@ API response (TraceSetExperimental) with additional information such as HTTP sta } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-RemoveTagFromAlignedFeatureExperimental}{}}} +\subsection{Method \code{RemoveTagFromAlignedFeatureExperimental()}}{ +[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$RemoveTagFromAlignedFeatureExperimental( + project_id, + aligned_feature_id, + tag_name, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{aligned_feature_id}}{feature (aligned over runs) to delete tag from.} + +\item{\code{tag_name}}{name of the tag to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +void +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FeaturesApi-RemoveTagFromAlignedFeatureExperimentalWithHttpInfo}{}}} +\subsection{Method \code{RemoveTagFromAlignedFeatureExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FeaturesApi$RemoveTagFromAlignedFeatureExperimentalWithHttpInfo( + project_id, + aligned_feature_id, + tag_name, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{aligned_feature_id}}{feature (aligned over runs) to delete tag from.} + +\item{\code{tag_name}}{name of the tag to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (void) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-FeaturesApi-clone}{}}} \subsection{Method \code{clone()}}{ diff --git a/client-api_r/generated/man/FoldChange.Rd b/client-api_r/generated/man/FoldChange.Rd new file mode 100644 index 00000000..59c34004 --- /dev/null +++ b/client-api_r/generated/man/FoldChange.Rd @@ -0,0 +1,304 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/fold_change.R +\docType{class} +\name{FoldChange} +\alias{FoldChange} +\title{FoldChange} +\format{ +An \code{R6Class} generator object +} +\description{ +FoldChange Class + +FoldChange Class +} +\details{ +Create a new FoldChange +} +\examples{ + +## ------------------------------------------------ +## Method `FoldChange$toList` +## ------------------------------------------------ + +# convert array of FoldChange (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{leftGroup}}{character [optional]} + +\item{\code{rightGroup}}{character [optional]} + +\item{\code{aggregation}}{character [optional]} + +\item{\code{quantification}}{character [optional]} + +\item{\code{quantType}}{character} + +\item{\code{objectId}}{character} + +\item{\code{foldChange}}{numeric} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-FoldChange-new}{\code{FoldChange$new()}} +\item \href{#method-FoldChange-toJSON}{\code{FoldChange$toJSON()}} +\item \href{#method-FoldChange-toList}{\code{FoldChange$toList()}} +\item \href{#method-FoldChange-toSimpleType}{\code{FoldChange$toSimpleType()}} +\item \href{#method-FoldChange-fromJSON}{\code{FoldChange$fromJSON()}} +\item \href{#method-FoldChange-toJSONString}{\code{FoldChange$toJSONString()}} +\item \href{#method-FoldChange-fromJSONString}{\code{FoldChange$fromJSONString()}} +\item \href{#method-FoldChange-validateJSON}{\code{FoldChange$validateJSON()}} +\item \href{#method-FoldChange-toString}{\code{FoldChange$toString()}} +\item \href{#method-FoldChange-isValid}{\code{FoldChange$isValid()}} +\item \href{#method-FoldChange-getInvalidFields}{\code{FoldChange$getInvalidFields()}} +\item \href{#method-FoldChange-print}{\code{FoldChange$print()}} +\item \href{#method-FoldChange-clone}{\code{FoldChange$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new FoldChange class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$new( + quantType, + objectId, + foldChange, + leftGroup = NULL, + rightGroup = NULL, + aggregation = NULL, + quantification = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{quantType}}{quantType} + +\item{\code{objectId}}{objectId} + +\item{\code{foldChange}}{foldChange} + +\item{\code{leftGroup}}{leftGroup} + +\item{\code{rightGroup}}{rightGroup} + +\item{\code{aggregation}}{aggregation} + +\item{\code{quantification}}{quantification} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +FoldChange as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of FoldChange (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert FoldChange to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of FoldChange +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of FoldChange +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +FoldChange in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of FoldChange +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of FoldChange +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to FoldChange and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of FoldChange +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-FoldChange-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{FoldChange$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/FormulaCandidate.Rd b/client-api_r/generated/man/FormulaCandidate.Rd index 066caba1..62855f12 100644 --- a/client-api_r/generated/man/FormulaCandidate.Rd +++ b/client-api_r/generated/man/FormulaCandidate.Rd @@ -58,19 +58,19 @@ df \item{\code{medianMassDeviation}}{\link{Deviation} [optional]} -\item{\code{fragmentationTree}}{\link{FragmentationTree} [optional]} +\item{\code{fragmentationTree}}{The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). \link{FragmentationTree} [optional]} -\item{\code{annotatedSpectrum}}{\link{AnnotatedSpectrum} [optional]} +\item{\code{annotatedSpectrum}}{Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses \link{AnnotatedSpectrum} [optional]} -\item{\code{isotopePatternAnnotation}}{\link{IsotopePatternAnnotation} [optional]} +\item{\code{isotopePatternAnnotation}}{The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. \link{IsotopePatternAnnotation} [optional]} -\item{\code{lipidAnnotation}}{\link{LipidAnnotation} [optional]} +\item{\code{lipidAnnotation}}{ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid \link{LipidAnnotation} [optional]} \item{\code{predictedFingerprint}}{Probabilistic molecular fingerprint predicted by CSI:FingerID list(numeric) [optional]} -\item{\code{compoundClasses}}{\link{CompoundClasses} [optional]} +\item{\code{compoundClasses}}{Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) \link{CompoundClasses} [optional]} -\item{\code{canopusPrediction}}{\link{CanopusPrediction} [optional]} +\item{\code{canopusPrediction}}{All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) \link{CanopusPrediction} [optional]} } \if{html}{\out{
}} } @@ -152,19 +152,19 @@ Initialize a new FormulaCandidate class. \item{\code{medianMassDeviation}}{medianMassDeviation} -\item{\code{fragmentationTree}}{fragmentationTree} +\item{\code{fragmentationTree}}{The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore).} -\item{\code{annotatedSpectrum}}{annotatedSpectrum} +\item{\code{annotatedSpectrum}}{Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses} -\item{\code{isotopePatternAnnotation}}{isotopePatternAnnotation} +\item{\code{isotopePatternAnnotation}}{The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore.} -\item{\code{lipidAnnotation}}{lipidAnnotation} +\item{\code{lipidAnnotation}}{ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid} \item{\code{predictedFingerprint}}{Probabilistic molecular fingerprint predicted by CSI:FingerID} -\item{\code{compoundClasses}}{compoundClasses} +\item{\code{compoundClasses}}{Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)} -\item{\code{canopusPrediction}}{canopusPrediction} +\item{\code{canopusPrediction}}{All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/GuiApi.Rd b/client-api_r/generated/man/GuiApi.Rd deleted file mode 100644 index cfb1fbbd..00000000 --- a/client-api_r/generated/man/GuiApi.Rd +++ /dev/null @@ -1,263 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gui_api.R -\docType{class} -\name{GuiApi} -\alias{GuiApi} -\title{Gui operations} -\format{ -An \code{R6Class} generator object -} -\description{ -GuiApi -} -\details{ -SIRIUS Nightsky API - -REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 - -The version of the OpenAPI document: 3.1 -Generated by: https://openapi-generator.tech -} -\examples{ -\dontrun{ -#################### CloseGui #################### - -library(Rsirius) -var_project_id <- "project_id_example" # character | if project-space the GUI instance is connected to. -var_close_project <- "close_project_example" # character | (Optional) - -#Close GUI instance of given project-space if available. -api_instance <- rsirius_api$new() - -# to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$CloseGui(var_project_id, close_project = var_close_projectdata_file = "result.txt") -result <- api_instance$gui_api$CloseGui(var_project_id, close_project = var_close_project) -dput(result) - - -#################### GetGuis #################### - -library(Rsirius) - -#Get list of currently running gui windows, managed by this SIRIUS instance. -api_instance <- rsirius_api$new() - -# to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$GetGuis(data_file = "result.txt") -result <- api_instance$gui_api$GetGuis() -dput(result) - - -#################### OpenGui #################### - -library(Rsirius) -var_project_id <- "project_id_example" # character | of project-space the GUI instance will connect to. - -#Open GUI instance on specified project-space and bring the GUI window to foreground. -api_instance <- rsirius_api$new() - -api_instance$gui_api$OpenGui(var_project_id) - - -} -} -\section{Public fields}{ -\if{html}{\out{
}} -\describe{ -\item{\code{api_client}}{Handles the client-server communication.} -} -\if{html}{\out{
}} -} -\section{Methods}{ -\subsection{Public methods}{ -\itemize{ -\item \href{#method-GuiApi-new}{\code{GuiApi$new()}} -\item \href{#method-GuiApi-CloseGui}{\code{GuiApi$CloseGui()}} -\item \href{#method-GuiApi-CloseGuiWithHttpInfo}{\code{GuiApi$CloseGuiWithHttpInfo()}} -\item \href{#method-GuiApi-GetGuis}{\code{GuiApi$GetGuis()}} -\item \href{#method-GuiApi-GetGuisWithHttpInfo}{\code{GuiApi$GetGuisWithHttpInfo()}} -\item \href{#method-GuiApi-OpenGui}{\code{GuiApi$OpenGui()}} -\item \href{#method-GuiApi-OpenGuiWithHttpInfo}{\code{GuiApi$OpenGuiWithHttpInfo()}} -\item \href{#method-GuiApi-clone}{\code{GuiApi$clone()}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-new}{}}} -\subsection{Method \code{new()}}{ -Initialize a new GuiApi. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$new(api_client)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{api_client}}{An instance of API client.} -} -\if{html}{\out{
}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-CloseGui}{}}} -\subsection{Method \code{CloseGui()}}{ -Close GUI instance of given project-space if available. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$CloseGui(project_id, close_project = NULL, data_file = NULL, ...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{project_id}}{if project-space the GUI instance is connected to.} - -\item{\code{close_project}}{(optional) No description} - -\item{\code{data_file}}{(optional) name of the data file to save the result} - -\item{\code{...}}{Other optional arguments} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -character -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-CloseGuiWithHttpInfo}{}}} -\subsection{Method \code{CloseGuiWithHttpInfo()}}{ -Close GUI instance of given project-space if available. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$CloseGuiWithHttpInfo( - project_id, - close_project = NULL, - data_file = NULL, - ... -)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{project_id}}{if project-space the GUI instance is connected to.} - -\item{\code{close_project}}{(optional) No description} - -\item{\code{data_file}}{(optional) name of the data file to save the result} - -\item{\code{...}}{Other optional arguments} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -API response (character) with additional information such as HTTP status code, headers -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-GetGuis}{}}} -\subsection{Method \code{GetGuis()}}{ -Get list of currently running gui windows, managed by this SIRIUS instance. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$GetGuis(data_file = NULL, ...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{data_file}}{(optional) name of the data file to save the result} - -\item{\code{...}}{Other optional arguments} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -array[GuiInfo] -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-GetGuisWithHttpInfo}{}}} -\subsection{Method \code{GetGuisWithHttpInfo()}}{ -Get list of currently running gui windows, managed by this SIRIUS instance. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$GetGuisWithHttpInfo(data_file = NULL, ...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{data_file}}{(optional) name of the data file to save the result} - -\item{\code{...}}{Other optional arguments} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -API response (array[GuiInfo]) with additional information such as HTTP status code, headers -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-OpenGui}{}}} -\subsection{Method \code{OpenGui()}}{ -Open GUI instance on specified project-space and bring the GUI window to foreground. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$OpenGui(project_id, ...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{project_id}}{of project-space the GUI instance will connect to.} - -\item{\code{...}}{Other optional arguments} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -void -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-OpenGuiWithHttpInfo}{}}} -\subsection{Method \code{OpenGuiWithHttpInfo()}}{ -Open GUI instance on specified project-space and bring the GUI window to foreground. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$OpenGuiWithHttpInfo(project_id, ...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{project_id}}{of project-space the GUI instance will connect to.} - -\item{\code{...}}{Other optional arguments} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -API response (void) with additional information such as HTTP status code, headers -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiApi-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiApi$clone(deep = FALSE)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} -} diff --git a/client-api_r/generated/man/GuiInfo.Rd b/client-api_r/generated/man/GuiInfo.Rd deleted file mode 100644 index ee3bc532..00000000 --- a/client-api_r/generated/man/GuiInfo.Rd +++ /dev/null @@ -1,271 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/gui_info.R -\docType{class} -\name{GuiInfo} -\alias{GuiInfo} -\title{GuiInfo} -\format{ -An \code{R6Class} generator object -} -\description{ -GuiInfo Class - -GuiInfo Class -} -\details{ -Create a new GuiInfo -} -\examples{ - -## ------------------------------------------------ -## Method `GuiInfo$toList` -## ------------------------------------------------ - -# convert array of GuiInfo (x) to a data frame -\dontrun{ -library(purrr) -library(tibble) -df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() -df -} -} -\section{Public fields}{ -\if{html}{\out{
}} -\describe{ -\item{\code{projectId}}{The project this instance is running on character [optional]} -} -\if{html}{\out{
}} -} -\section{Methods}{ -\subsection{Public methods}{ -\itemize{ -\item \href{#method-GuiInfo-new}{\code{GuiInfo$new()}} -\item \href{#method-GuiInfo-toJSON}{\code{GuiInfo$toJSON()}} -\item \href{#method-GuiInfo-toList}{\code{GuiInfo$toList()}} -\item \href{#method-GuiInfo-toSimpleType}{\code{GuiInfo$toSimpleType()}} -\item \href{#method-GuiInfo-fromJSON}{\code{GuiInfo$fromJSON()}} -\item \href{#method-GuiInfo-toJSONString}{\code{GuiInfo$toJSONString()}} -\item \href{#method-GuiInfo-fromJSONString}{\code{GuiInfo$fromJSONString()}} -\item \href{#method-GuiInfo-validateJSON}{\code{GuiInfo$validateJSON()}} -\item \href{#method-GuiInfo-toString}{\code{GuiInfo$toString()}} -\item \href{#method-GuiInfo-isValid}{\code{GuiInfo$isValid()}} -\item \href{#method-GuiInfo-getInvalidFields}{\code{GuiInfo$getInvalidFields()}} -\item \href{#method-GuiInfo-print}{\code{GuiInfo$print()}} -\item \href{#method-GuiInfo-clone}{\code{GuiInfo$clone()}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-new}{}}} -\subsection{Method \code{new()}}{ -Initialize a new GuiInfo class. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$new(projectId = NULL, ...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{projectId}}{The project this instance is running on} - -\item{\code{...}}{Other optional arguments.} -} -\if{html}{\out{
}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-toJSON}{}}} -\subsection{Method \code{toJSON()}}{ -Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$toJSON()}\if{html}{\out{
}} -} - -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-toList}{}}} -\subsection{Method \code{toList()}}{ -Convert to a List - -Convert the R6 object to a list to work more easily with other tooling. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$toList()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -GuiInfo as a base R list. -} -\subsection{Examples}{ -\if{html}{\out{
}} -\preformatted{# convert array of GuiInfo (x) to a data frame -\dontrun{ -library(purrr) -library(tibble) -df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() -df -} -} -\if{html}{\out{
}} - -} - -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-toSimpleType}{}}} -\subsection{Method \code{toSimpleType()}}{ -Convert GuiInfo to a base R type -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$toSimpleType()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -A base R type, e.g. a list or numeric/character array. -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-fromJSON}{}}} -\subsection{Method \code{fromJSON()}}{ -Deserialize JSON string into an instance of GuiInfo -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$fromJSON(input_json)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{input_json}}{the JSON input} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -the instance of GuiInfo -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-toJSONString}{}}} -\subsection{Method \code{toJSONString()}}{ -To JSON String -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$toJSONString(...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -GuiInfo in JSON format -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-fromJSONString}{}}} -\subsection{Method \code{fromJSONString()}}{ -Deserialize JSON string into an instance of GuiInfo -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$fromJSONString(input_json)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{input_json}}{the JSON input} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -the instance of GuiInfo -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-validateJSON}{}}} -\subsection{Method \code{validateJSON()}}{ -Validate JSON input with respect to GuiInfo and throw an exception if invalid -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$validateJSON(input)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{input}}{the JSON input} -} -\if{html}{\out{
}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-toString}{}}} -\subsection{Method \code{toString()}}{ -To string (JSON format) -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$toString()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -String representation of GuiInfo -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-isValid}{}}} -\subsection{Method \code{isValid()}}{ -Return true if the values in all fields are valid. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$isValid()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -true if the values in all fields are valid. -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-getInvalidFields}{}}} -\subsection{Method \code{getInvalidFields()}}{ -Return a list of invalid fields (if any). -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$getInvalidFields()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -A list of invalid fields (if any). -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-print}{}}} -\subsection{Method \code{print()}}{ -Print the object -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$print()}\if{html}{\out{
}} -} - -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-GuiInfo-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{GuiInfo$clone(deep = FALSE)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} -} diff --git a/client-api_r/generated/man/Job.Rd b/client-api_r/generated/man/Job.Rd index 30ae7eb0..4834ac1f 100644 --- a/client-api_r/generated/man/Job.Rd +++ b/client-api_r/generated/man/Job.Rd @@ -36,7 +36,7 @@ df \item{\code{command}}{Command string of the executed Task character [optional]} -\item{\code{progress}}{\link{JobProgress} [optional]} +\item{\code{progress}}{Optional progress information of this job \link{JobProgress} [optional]} \item{\code{affectedCompoundIds}}{List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished list(character) [optional]} @@ -88,7 +88,7 @@ Initialize a new Job class. \item{\code{command}}{Command string of the executed Task} -\item{\code{progress}}{progress} +\item{\code{progress}}{Optional progress information of this job} \item{\code{affectedCompoundIds}}{List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished} diff --git a/client-api_r/generated/man/JobSubmission.Rd b/client-api_r/generated/man/JobSubmission.Rd index ab5b1aa2..d6a4367b 100644 --- a/client-api_r/generated/man/JobSubmission.Rd +++ b/client-api_r/generated/man/JobSubmission.Rd @@ -44,19 +44,19 @@ df \item{\code{recompute}}{Indicate if already existing result for a tool to be executed should be overwritten or not. character [optional]} -\item{\code{spectraSearchParams}}{\link{SpectralLibrarySearch} [optional]} +\item{\code{spectraSearchParams}}{Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. \link{SpectralLibrarySearch} [optional]} -\item{\code{formulaIdParams}}{\link{Sirius} [optional]} +\item{\code{formulaIdParams}}{Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. \link{Sirius} [optional]} -\item{\code{zodiacParams}}{\link{Zodiac} [optional]} +\item{\code{zodiacParams}}{Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. \link{Zodiac} [optional]} -\item{\code{fingerprintPredictionParams}}{\link{FingerprintPrediction} [optional]} +\item{\code{fingerprintPredictionParams}}{Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. \link{FingerprintPrediction} [optional]} -\item{\code{canopusParams}}{\link{Canopus} [optional]} +\item{\code{canopusParams}}{Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. \link{Canopus} [optional]} -\item{\code{structureDbSearchParams}}{\link{StructureDbSearch} [optional]} +\item{\code{structureDbSearchParams}}{Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. \link{StructureDbSearch} [optional]} -\item{\code{msNovelistParams}}{\link{MsNovelist} [optional]} +\item{\code{msNovelistParams}}{Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. \link{MsNovelist} [optional]} \item{\code{configMap}}{As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. named list(character) [optional]} } @@ -120,19 +120,19 @@ Initialize a new JobSubmission class. \item{\code{recompute}}{Indicate if already existing result for a tool to be executed should be overwritten or not.} -\item{\code{spectraSearchParams}}{spectraSearchParams} +\item{\code{spectraSearchParams}}{Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed.} -\item{\code{formulaIdParams}}{formulaIdParams} +\item{\code{formulaIdParams}}{Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed.} -\item{\code{zodiacParams}}{zodiacParams} +\item{\code{zodiacParams}}{Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed.} -\item{\code{fingerprintPredictionParams}}{fingerprintPredictionParams} +\item{\code{fingerprintPredictionParams}}{Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed.} -\item{\code{canopusParams}}{canopusParams} +\item{\code{canopusParams}}{Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed.} -\item{\code{structureDbSearchParams}}{structureDbSearchParams} +\item{\code{structureDbSearchParams}}{Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed.} -\item{\code{msNovelistParams}}{msNovelistParams} +\item{\code{msNovelistParams}}{Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed.} \item{\code{configMap}}{As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.} diff --git a/client-api_r/generated/man/JobsApi.Rd b/client-api_r/generated/man/JobsApi.Rd index db728e66..fabc39fe 100644 --- a/client-api_r/generated/man/JobsApi.Rd +++ b/client-api_r/generated/man/JobsApi.Rd @@ -58,12 +58,26 @@ api_instance <- rsirius_api$new() api_instance$jobs_api$DeleteJobs(var_project_id, cancel_if_running = var_cancel_if_running, await_deletion = var_await_deletion) +#################### GetCommand #################### + +library(Rsirius) +var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | + +#Get a CLI command for the given job configuration. +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetCommand(var_job_submissiondata_file = "result.txt") +result <- api_instance$jobs_api$GetCommand(var_job_submission) +dput(result) + + #################### GetDefaultJobConfig #################### library(Rsirius) var_include_config_map <- FALSE # character | if true, generic configmap with-defaults will be included (Optional) var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters (Optional) -var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search contains also all available custom DB. (Optional) +var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (Optional) #Request default job configuration api_instance <- rsirius_api$new() @@ -109,7 +123,7 @@ dput(result) library(Rsirius) -#DEPRECATED: use /job-configs to get all configs with names. +#[DEPRECATED] Get all (non-default) job configuration names api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -182,7 +196,7 @@ dput(result) library(Rsirius) var_name <- "name_example" # character | name of the job-config to add -var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, "INTENSITY"), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add +var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add var_override_existing <- FALSE # character | (Optional) var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object (Optional) @@ -199,7 +213,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to run jobs on -var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, "INTENSITY"), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned +var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #Start computation for given compounds and with given parameters. @@ -248,6 +262,8 @@ dput(result) \item \href{#method-JobsApi-DeleteJobConfigWithHttpInfo}{\code{JobsApi$DeleteJobConfigWithHttpInfo()}} \item \href{#method-JobsApi-DeleteJobs}{\code{JobsApi$DeleteJobs()}} \item \href{#method-JobsApi-DeleteJobsWithHttpInfo}{\code{JobsApi$DeleteJobsWithHttpInfo()}} +\item \href{#method-JobsApi-GetCommand}{\code{JobsApi$GetCommand()}} +\item \href{#method-JobsApi-GetCommandWithHttpInfo}{\code{JobsApi$GetCommandWithHttpInfo()}} \item \href{#method-JobsApi-GetDefaultJobConfig}{\code{JobsApi$GetDefaultJobConfig()}} \item \href{#method-JobsApi-GetDefaultJobConfigWithHttpInfo}{\code{JobsApi$GetDefaultJobConfigWithHttpInfo()}} \item \href{#method-JobsApi-GetJob}{\code{JobsApi$GetJob()}} @@ -465,6 +481,54 @@ API response (void) with additional information such as HTTP status code, header } } \if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-JobsApi-GetCommand}{}}} +\subsection{Method \code{GetCommand()}}{ +Get a CLI command for the given job configuration. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{JobsApi$GetCommand(job_submission, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{job_submission}}{} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[character] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-JobsApi-GetCommandWithHttpInfo}{}}} +\subsection{Method \code{GetCommandWithHttpInfo()}}{ +Get a CLI command for the given job configuration. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{JobsApi$GetCommandWithHttpInfo(job_submission, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{job_submission}}{} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[character]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-JobsApi-GetDefaultJobConfig}{}}} \subsection{Method \code{GetDefaultJobConfig()}}{ @@ -486,7 +550,7 @@ Request default job configuration \item{\code{move_parameters_to_config_map}}{(optional) if true, object-based parameters will be converted to and added to the generic configMap parameters (default value: FALSE)} -\item{\code{include_custom_dbs_for_structure_search}}{(optional) if true, default database selection of structure db search contains also all available custom DB. (default value: FALSE)} +\item{\code{include_custom_dbs_for_structure_search}}{(optional) if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (default value: FALSE)} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -520,7 +584,7 @@ Request default job configuration \item{\code{move_parameters_to_config_map}}{(optional) if true, object-based parameters will be converted to and added to the generic configMap parameters (default value: FALSE)} -\item{\code{include_custom_dbs_for_structure_search}}{(optional) if true, default database selection of structure db search contains also all available custom DB. (default value: FALSE)} +\item{\code{include_custom_dbs_for_structure_search}}{(optional) if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (default value: FALSE)} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -541,7 +605,7 @@ Get job information and its current state and progress (if available). \if{html}{\out{
}}\preformatted{JobsApi$GetJob( project_id, job_id, - opt_fields = list("progress"), + opt_fields = list(progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -554,7 +618,7 @@ Get job information and its current state and progress (if available). \item{\code{job_id}}{of the job to be returned} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -575,7 +639,7 @@ Get job information and its current state and progress (if available). \if{html}{\out{
}}\preformatted{JobsApi$GetJobWithHttpInfo( project_id, job_id, - opt_fields = list("progress"), + opt_fields = list(progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -588,7 +652,7 @@ Get job information and its current state and progress (if available). \item{\code{job_id}}{of the job to be returned} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -666,7 +730,7 @@ API response (StoredJobSubmission) with additional information such as HTTP stat \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-JobsApi-GetJobConfigNames}{}}} \subsection{Method \code{GetJobConfigNames()}}{ -DEPRECATED: use /job-configs to get all configs with names. +[DEPRECATED] Get all (non-default) job configuration names \subsection{Usage}{ \if{html}{\out{
}}\preformatted{JobsApi$GetJobConfigNames(data_file = NULL, ...)}\if{html}{\out{
}} } @@ -688,7 +752,7 @@ array[character] \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-JobsApi-GetJobConfigNamesWithHttpInfo}{}}} \subsection{Method \code{GetJobConfigNamesWithHttpInfo()}}{ -DEPRECATED: use /job-configs to get all configs with names. +[DEPRECATED] Get all (non-default) job configuration names \subsection{Usage}{ \if{html}{\out{
}}\preformatted{JobsApi$GetJobConfigNamesWithHttpInfo(data_file = NULL, ...)}\if{html}{\out{
}} } @@ -818,7 +882,7 @@ Get Page of jobs with information such as current state and progress (if availab page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -835,7 +899,7 @@ Get Page of jobs with information such as current state and progress (if availab \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -858,7 +922,7 @@ Get Page of jobs with information such as current state and progress (if availab page = 0, size = 20, sort = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -875,7 +939,7 @@ Get Page of jobs with information such as current state and progress (if availab \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1095,7 +1159,7 @@ Start computation for given compounds and with parameters from a stored job-conf job_config_name, request_body, recompute = NULL, - opt_fields = list("command", "progress"), + opt_fields = list(command, progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1112,7 +1176,7 @@ Start computation for given compounds and with parameters from a stored job-conf \item{\code{recompute}}{(optional) enable or disable recompute. If null the stored value will be used.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1135,7 +1199,7 @@ Start computation for given compounds and with parameters from a stored job-conf job_config_name, request_body, recompute = NULL, - opt_fields = list("command", "progress"), + opt_fields = list(command, progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1152,7 +1216,7 @@ Start computation for given compounds and with parameters from a stored job-conf \item{\code{recompute}}{(optional) enable or disable recompute. If null the stored value will be used.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/LcmsSubmissionParameters.Rd b/client-api_r/generated/man/LcmsSubmissionParameters.Rd index 872b1240..860087ca 100644 --- a/client-api_r/generated/man/LcmsSubmissionParameters.Rd +++ b/client-api_r/generated/man/LcmsSubmissionParameters.Rd @@ -33,6 +33,16 @@ df \if{html}{\out{
}} \describe{ \item{\code{alignLCMSRuns}}{Specifies whether LC/MS runs should be aligned character [optional]} + +\item{\code{noiseIntensity}}{Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. numeric [optional]} + +\item{\code{traceMaxMassDeviation}}{Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. \link{Deviation} [optional]} + +\item{\code{alignMaxMassDeviation}}{Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. \link{Deviation} [optional]} + +\item{\code{alignMaxRetentionTimeDeviation}}{Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. numeric [optional]} + +\item{\code{minSNR}}{Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory numeric [optional]} } \if{html}{\out{
}} } @@ -60,7 +70,15 @@ df \subsection{Method \code{new()}}{ Initialize a new LcmsSubmissionParameters class. \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{LcmsSubmissionParameters$new(alignLCMSRuns = TRUE, ...)}\if{html}{\out{
}} +\if{html}{\out{
}}\preformatted{LcmsSubmissionParameters$new( + alignLCMSRuns = TRUE, + noiseIntensity = -1, + traceMaxMassDeviation = NULL, + alignMaxMassDeviation = NULL, + alignMaxRetentionTimeDeviation = -1, + minSNR = 3, + ... +)}\if{html}{\out{
}} } \subsection{Arguments}{ @@ -68,6 +86,16 @@ Initialize a new LcmsSubmissionParameters class. \describe{ \item{\code{alignLCMSRuns}}{Specifies whether LC/MS runs should be aligned. Default to TRUE.} +\item{\code{noiseIntensity}}{Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient.. Default to -1.} + +\item{\code{traceMaxMassDeviation}}{Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace.} + +\item{\code{alignMaxMassDeviation}}{Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data.} + +\item{\code{alignMaxRetentionTimeDeviation}}{Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.. Default to -1.} + +\item{\code{minSNR}}{Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory. Default to 3.} + \item{\code{...}}{Other optional arguments.} } \if{html}{\out{
}} diff --git a/client-api_r/generated/man/LicenseInfo.Rd b/client-api_r/generated/man/LicenseInfo.Rd index d2dad221..0e274492 100644 --- a/client-api_r/generated/man/LicenseInfo.Rd +++ b/client-api_r/generated/man/LicenseInfo.Rd @@ -36,9 +36,9 @@ df \item{\code{userId}}{User ID (uid) of the user account this license information belongs to. character [optional]} -\item{\code{subscription}}{\link{Subscription} [optional]} +\item{\code{subscription}}{The active subscription that was used the requested the information \link{Subscription} [optional]} -\item{\code{consumables}}{\link{SubscriptionConsumables} [optional]} +\item{\code{consumables}}{Status of the consumable resources of the {@link Subscription Subscription}. \link{SubscriptionConsumables} [optional]} \item{\code{terms}}{list(\link{Term}) [optional]} } @@ -85,9 +85,9 @@ Initialize a new LicenseInfo class. \item{\code{userId}}{User ID (uid) of the user account this license information belongs to.} -\item{\code{subscription}}{subscription} +\item{\code{subscription}}{The active subscription that was used the requested the information} -\item{\code{consumables}}{consumables} +\item{\code{consumables}}{Status of the consumable resources of the {@link Subscription Subscription}.} \item{\code{terms}}{terms} diff --git a/client-api_r/generated/man/MsData.Rd b/client-api_r/generated/man/MsData.Rd index 378fdddc..41633ff4 100644 --- a/client-api_r/generated/man/MsData.Rd +++ b/client-api_r/generated/man/MsData.Rd @@ -8,7 +8,7 @@ An \code{R6Class} generator object } \description{ -The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar +The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One extracted isotope pattern (optional) - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar MsData Class } @@ -32,6 +32,8 @@ df \section{Public fields}{ \if{html}{\out{

}} \describe{ +\item{\code{isotopePattern}}{\link{BasicSpectrum} [optional]} + \item{\code{mergedMs1}}{\link{BasicSpectrum} [optional]} \item{\code{mergedMs2}}{\link{BasicSpectrum} [optional]} @@ -67,6 +69,7 @@ df Initialize a new MsData class. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{MsData$new( + isotopePattern = NULL, mergedMs1 = NULL, mergedMs2 = NULL, ms1Spectra = NULL, @@ -78,6 +81,8 @@ Initialize a new MsData class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ +\item{\code{isotopePattern}}{isotopePattern} + \item{\code{mergedMs1}}{mergedMs1} \item{\code{mergedMs2}}{mergedMs2} diff --git a/client-api_r/generated/man/PagedModelRun.Rd b/client-api_r/generated/man/PagedModelRun.Rd new file mode 100644 index 00000000..a5b73699 --- /dev/null +++ b/client-api_r/generated/man/PagedModelRun.Rd @@ -0,0 +1,275 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/paged_model_run.R +\docType{class} +\name{PagedModelRun} +\alias{PagedModelRun} +\title{PagedModelRun} +\format{ +An \code{R6Class} generator object +} +\description{ +PagedModelRun Class + +PagedModelRun Class +} +\details{ +Create a new PagedModelRun +} +\examples{ + +## ------------------------------------------------ +## Method `PagedModelRun$toList` +## ------------------------------------------------ + +# convert array of PagedModelRun (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{content}}{list(\link{Run}) [optional]} + +\item{\code{page}}{\link{PageMetadata} [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-PagedModelRun-new}{\code{PagedModelRun$new()}} +\item \href{#method-PagedModelRun-toJSON}{\code{PagedModelRun$toJSON()}} +\item \href{#method-PagedModelRun-toList}{\code{PagedModelRun$toList()}} +\item \href{#method-PagedModelRun-toSimpleType}{\code{PagedModelRun$toSimpleType()}} +\item \href{#method-PagedModelRun-fromJSON}{\code{PagedModelRun$fromJSON()}} +\item \href{#method-PagedModelRun-toJSONString}{\code{PagedModelRun$toJSONString()}} +\item \href{#method-PagedModelRun-fromJSONString}{\code{PagedModelRun$fromJSONString()}} +\item \href{#method-PagedModelRun-validateJSON}{\code{PagedModelRun$validateJSON()}} +\item \href{#method-PagedModelRun-toString}{\code{PagedModelRun$toString()}} +\item \href{#method-PagedModelRun-isValid}{\code{PagedModelRun$isValid()}} +\item \href{#method-PagedModelRun-getInvalidFields}{\code{PagedModelRun$getInvalidFields()}} +\item \href{#method-PagedModelRun-print}{\code{PagedModelRun$print()}} +\item \href{#method-PagedModelRun-clone}{\code{PagedModelRun$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new PagedModelRun class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$new(content = NULL, page = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{content}}{content} + +\item{\code{page}}{page} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +PagedModelRun as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of PagedModelRun (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert PagedModelRun to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of PagedModelRun +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of PagedModelRun +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PagedModelRun in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of PagedModelRun +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of PagedModelRun +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to PagedModelRun and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of PagedModelRun +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PagedModelRun-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PagedModelRun$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/PeakAnnotation.Rd b/client-api_r/generated/man/PeakAnnotation.Rd index 636a405c..450f7c12 100644 --- a/client-api_r/generated/man/PeakAnnotation.Rd +++ b/client-api_r/generated/man/PeakAnnotation.Rd @@ -48,7 +48,7 @@ df \item{\code{recalibratedMassDeviationPpm}}{Relative mass deviation of the exact mass to the recalibrated peak mass in ppm numeric [optional]} -\item{\code{parentPeak}}{\link{ParentPeak} [optional]} +\item{\code{parentPeak}}{Link to the parent peak connected via the neutral loss from the fragmentation tree. \link{ParentPeak} [optional]} \item{\code{substructureAtoms}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) list(integer) [optional]} @@ -124,7 +124,7 @@ Initialize a new PeakAnnotation class. \item{\code{recalibratedMassDeviationPpm}}{Relative mass deviation of the exact mass to the recalibrated peak mass in ppm} -\item{\code{parentPeak}}{parentPeak} +\item{\code{parentPeak}}{Link to the parent peak connected via the neutral loss from the fragmentation tree.} \item{\code{substructureAtoms}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms)} diff --git a/client-api_r/generated/man/PeakPair.Rd b/client-api_r/generated/man/PeakPair.Rd new file mode 100644 index 00000000..4851c076 --- /dev/null +++ b/client-api_r/generated/man/PeakPair.Rd @@ -0,0 +1,275 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/peak_pair.R +\docType{class} +\name{PeakPair} +\alias{PeakPair} +\title{PeakPair} +\format{ +An \code{R6Class} generator object +} +\description{ +PeakPair Class + +PeakPair Class +} +\details{ +Create a new PeakPair +} +\examples{ + +## ------------------------------------------------ +## Method `PeakPair$toList` +## ------------------------------------------------ + +# convert array of PeakPair (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{queryPeak}}{integer} + +\item{\code{referencePeak}}{integer} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-PeakPair-new}{\code{PeakPair$new()}} +\item \href{#method-PeakPair-toJSON}{\code{PeakPair$toJSON()}} +\item \href{#method-PeakPair-toList}{\code{PeakPair$toList()}} +\item \href{#method-PeakPair-toSimpleType}{\code{PeakPair$toSimpleType()}} +\item \href{#method-PeakPair-fromJSON}{\code{PeakPair$fromJSON()}} +\item \href{#method-PeakPair-toJSONString}{\code{PeakPair$toJSONString()}} +\item \href{#method-PeakPair-fromJSONString}{\code{PeakPair$fromJSONString()}} +\item \href{#method-PeakPair-validateJSON}{\code{PeakPair$validateJSON()}} +\item \href{#method-PeakPair-toString}{\code{PeakPair$toString()}} +\item \href{#method-PeakPair-isValid}{\code{PeakPair$isValid()}} +\item \href{#method-PeakPair-getInvalidFields}{\code{PeakPair$getInvalidFields()}} +\item \href{#method-PeakPair-print}{\code{PeakPair$print()}} +\item \href{#method-PeakPair-clone}{\code{PeakPair$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new PeakPair class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$new(queryPeak, referencePeak, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{queryPeak}}{queryPeak} + +\item{\code{referencePeak}}{referencePeak} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +PeakPair as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of PeakPair (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert PeakPair to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of PeakPair +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of PeakPair +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PeakPair in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of PeakPair +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of PeakPair +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to PeakPair and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of PeakPair +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-PeakPair-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{PeakPair$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/ProjectsApi.Rd b/client-api_r/generated/man/ProjectsApi.Rd index d5107f88..95ac227e 100644 --- a/client-api_r/generated/man/ProjectsApi.Rd +++ b/client-api_r/generated/man/ProjectsApi.Rd @@ -24,11 +24,12 @@ Generated by: https://openapi-generator.tech library(Rsirius) var_project_id <- "project_id_example" # character | unique name/identifier of the project-space to be closed. +var_compact <- FALSE # character | if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (Optional) -#Close project-space and remove it from application +#Close project-space and remove it from the application api_instance <- rsirius_api$new() -api_instance$projects_api$CloseProject(var_project_id) +api_instance$projects_api$CloseProject(var_project_id, compact = var_compact) #################### CreateProject #################### @@ -124,15 +125,15 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | Project-space to import into. -var_input_files <- c(123) # array[data.frame] | (Optional) -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example") # LcmsSubmissionParameters | (Optional) +var_input_files <- c(123) # array[data.frame] | Files to import into project. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. #Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportMsRunData(var_project_id, input_files = var_input_files, parameters = var_parametersdata_file = "result.txt") -result <- api_instance$projects_api$ImportMsRunData(var_project_id, input_files = var_input_files, parameters = var_parameters) +# result <- api_instance$ImportMsRunData(var_project_id, var_input_files, var_parametersdata_file = "result.txt") +result <- api_instance$projects_api$ImportMsRunData(var_project_id, var_input_files, var_parameters) dput(result) @@ -140,16 +141,16 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | Project-space to import into. +var_input_files <- c(123) # array[data.frame] | Files to import into project. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. var_opt_fields <- c("none") # array[character] | Set of optional fields to be included. Use 'none' only to override defaults. (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example") # LcmsSubmissionParameters | (Optional) #Import and Align full MS-Runs from various formats into the specified project as background job. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportMsRunDataAsJob(var_project_id, opt_fields = var_opt_fields, input_files = var_input_files, parameters = var_parametersdata_file = "result.txt") -result <- api_instance$projects_api$ImportMsRunDataAsJob(var_project_id, opt_fields = var_opt_fields, input_files = var_input_files, parameters = var_parameters) +# result <- api_instance$ImportMsRunDataAsJob(var_project_id, var_input_files, var_parameters, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$projects_api$ImportMsRunDataAsJob(var_project_id, var_input_files, var_parameters, opt_fields = var_opt_fields) dput(result) @@ -157,16 +158,16 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to import into. +var_input_files <- c(123) # array[data.frame] | files to import into project var_ignore_formulas <- FALSE # character | (Optional) var_allow_ms1_only <- TRUE # character | (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) #Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportPreprocessedData(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, input_files = var_input_filesdata_file = "result.txt") -result <- api_instance$projects_api$ImportPreprocessedData(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, input_files = var_input_files) +# result <- api_instance$ImportPreprocessedData(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_onlydata_file = "result.txt") +result <- api_instance$projects_api$ImportPreprocessedData(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only) dput(result) @@ -174,17 +175,17 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to import into. +var_input_files <- c(123) # array[data.frame] | var_ignore_formulas <- FALSE # character | (Optional) var_allow_ms1_only <- TRUE # character | (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) #Import ms/ms data from the given format into the specified project-space as background job. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportPreprocessedDataAsJob(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields, input_files = var_input_filesdata_file = "result.txt") -result <- api_instance$projects_api$ImportPreprocessedDataAsJob(var_project_id, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields, input_files = var_input_files) +# result <- api_instance$ImportPreprocessedDataAsJob(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$projects_api$ImportPreprocessedDataAsJob(var_project_id, var_input_files, ignore_formulas = var_ignore_formulas, allow_ms1_only = var_allow_ms1_only, opt_fields = var_opt_fields) dput(result) @@ -265,9 +266,9 @@ Initialize a new ProjectsApi. \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-ProjectsApi-CloseProject}{}}} \subsection{Method \code{CloseProject()}}{ -Close project-space and remove it from application +Close project-space and remove it from the application \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{ProjectsApi$CloseProject(project_id, ...)}\if{html}{\out{
}} +\if{html}{\out{
}}\preformatted{ProjectsApi$CloseProject(project_id, compact = FALSE, ...)}\if{html}{\out{
}} } \subsection{Arguments}{ @@ -275,6 +276,8 @@ Close project-space and remove it from application \describe{ \item{\code{project_id}}{unique name/identifier of the project-space to be closed.} +\item{\code{compact}}{(optional) if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (default value: FALSE)} + \item{\code{...}}{Other optional arguments} } \if{html}{\out{
}} @@ -287,9 +290,9 @@ void \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-ProjectsApi-CloseProjectWithHttpInfo}{}}} \subsection{Method \code{CloseProjectWithHttpInfo()}}{ -Close project-space and remove it from application +Close project-space and remove it from the application \subsection{Usage}{ -\if{html}{\out{
}}\preformatted{ProjectsApi$CloseProjectWithHttpInfo(project_id, ...)}\if{html}{\out{
}} +\if{html}{\out{
}}\preformatted{ProjectsApi$CloseProjectWithHttpInfo(project_id, compact = FALSE, ...)}\if{html}{\out{
}} } \subsection{Arguments}{ @@ -297,6 +300,8 @@ Close project-space and remove it from application \describe{ \item{\code{project_id}}{unique name/identifier of the project-space to be closed.} +\item{\code{compact}}{(optional) if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (default value: FALSE)} + \item{\code{...}}{Other optional arguments} } \if{html}{\out{
}} @@ -314,7 +319,7 @@ Create and open a new project-space at given location and make it accessible via \if{html}{\out{
}}\preformatted{ProjectsApi$CreateProject( project_id, path_to_project = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -327,7 +332,7 @@ Create and open a new project-space at given location and make it accessible via \item{\code{path_to_project}}{(optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -348,7 +353,7 @@ Create and open a new project-space at given location and make it accessible via \if{html}{\out{
}}\preformatted{ProjectsApi$CreateProjectWithHttpInfo( project_id, path_to_project = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -361,7 +366,7 @@ Create and open a new project-space at given location and make it accessible via \item{\code{path_to_project}}{(optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -658,8 +663,8 @@ Import and Align full MS-Runs from various formats into the specified project P \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportMsRunData( project_id, - input_files = NULL, - parameters = NULL, + input_files, + parameters, data_file = NULL, ... )}\if{html}{\out{
}} @@ -670,9 +675,9 @@ Import and Align full MS-Runs from various formats into the specified project P \describe{ \item{\code{project_id}}{Project-space to import into.} -\item{\code{input_files}}{(optional) No description} +\item{\code{input_files}}{Files to import into project.} -\item{\code{parameters}}{(optional) No description} +\item{\code{parameters}}{Parameters for feature alignment and feature finding.} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -692,8 +697,8 @@ Import and Align full MS-Runs from various formats into the specified project P \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportMsRunDataWithHttpInfo( project_id, - input_files = NULL, - parameters = NULL, + input_files, + parameters, data_file = NULL, ... )}\if{html}{\out{
}} @@ -704,9 +709,9 @@ Import and Align full MS-Runs from various formats into the specified project P \describe{ \item{\code{project_id}}{Project-space to import into.} -\item{\code{input_files}}{(optional) No description} +\item{\code{input_files}}{Files to import into project.} -\item{\code{parameters}}{(optional) No description} +\item{\code{parameters}}{Parameters for feature alignment and feature finding.} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -726,9 +731,9 @@ Import and Align full MS-Runs from various formats into the specified project as \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportMsRunDataAsJob( project_id, - opt_fields = list("progress"), - input_files = NULL, - parameters = NULL, + input_files, + parameters, + opt_fields = list(progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -739,11 +744,11 @@ Import and Align full MS-Runs from various formats into the specified project as \describe{ \item{\code{project_id}}{Project-space to import into.} -\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} +\item{\code{input_files}}{Files to import into project.} -\item{\code{input_files}}{(optional) No description} +\item{\code{parameters}}{Parameters for feature alignment and feature finding.} -\item{\code{parameters}}{(optional) No description} +\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -763,9 +768,9 @@ Import and Align full MS-Runs from various formats into the specified project as \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportMsRunDataAsJobWithHttpInfo( project_id, - opt_fields = list("progress"), - input_files = NULL, - parameters = NULL, + input_files, + parameters, + opt_fields = list(progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -776,11 +781,11 @@ Import and Align full MS-Runs from various formats into the specified project as \describe{ \item{\code{project_id}}{Project-space to import into.} -\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} +\item{\code{input_files}}{Files to import into project.} -\item{\code{input_files}}{(optional) No description} +\item{\code{parameters}}{Parameters for feature alignment and feature finding.} -\item{\code{parameters}}{(optional) No description} +\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -800,9 +805,9 @@ Import already preprocessed ms/ms data from various formats into the specified p \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportPreprocessedData( project_id, + input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, - input_files = NULL, data_file = NULL, ... )}\if{html}{\out{
}} @@ -813,12 +818,12 @@ Import already preprocessed ms/ms data from various formats into the specified p \describe{ \item{\code{project_id}}{project-space to import into.} +\item{\code{input_files}}{files to import into project} + \item{\code{ignore_formulas}}{(optional) No description (default value: FALSE)} \item{\code{allow_ms1_only}}{(optional) No description (default value: TRUE)} -\item{\code{input_files}}{(optional) No description} - \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -837,9 +842,9 @@ Import already preprocessed ms/ms data from various formats into the specified p \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportPreprocessedDataWithHttpInfo( project_id, + input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, - input_files = NULL, data_file = NULL, ... )}\if{html}{\out{
}} @@ -850,12 +855,12 @@ Import already preprocessed ms/ms data from various formats into the specified p \describe{ \item{\code{project_id}}{project-space to import into.} +\item{\code{input_files}}{files to import into project} + \item{\code{ignore_formulas}}{(optional) No description (default value: FALSE)} \item{\code{allow_ms1_only}}{(optional) No description (default value: TRUE)} -\item{\code{input_files}}{(optional) No description} - \item{\code{data_file}}{(optional) name of the data file to save the result} \item{\code{...}}{Other optional arguments} @@ -874,10 +879,10 @@ Import ms/ms data from the given format into the specified project-space as back \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportPreprocessedDataAsJob( project_id, + input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, - opt_fields = list("progress"), - input_files = NULL, + opt_fields = list(progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -888,13 +893,13 @@ Import ms/ms data from the given format into the specified project-space as back \describe{ \item{\code{project_id}}{project-space to import into.} +\item{\code{input_files}}{} + \item{\code{ignore_formulas}}{(optional) No description (default value: FALSE)} \item{\code{allow_ms1_only}}{(optional) No description (default value: TRUE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} - -\item{\code{input_files}}{(optional) No description} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -914,10 +919,10 @@ Import ms/ms data from the given format into the specified project-space as back \subsection{Usage}{ \if{html}{\out{
}}\preformatted{ProjectsApi$ImportPreprocessedDataAsJobWithHttpInfo( project_id, + input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, - opt_fields = list("progress"), - input_files = NULL, + opt_fields = list(progress), data_file = NULL, ... )}\if{html}{\out{
}} @@ -928,13 +933,13 @@ Import ms/ms data from the given format into the specified project-space as back \describe{ \item{\code{project_id}}{project-space to import into.} +\item{\code{input_files}}{} + \item{\code{ignore_formulas}}{(optional) No description (default value: FALSE)} \item{\code{allow_ms1_only}}{(optional) No description (default value: TRUE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} - -\item{\code{input_files}}{(optional) No description} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -955,7 +960,7 @@ Open an existing project-space and make it accessible via the given projectId. \if{html}{\out{
}}\preformatted{ProjectsApi$OpenProject( project_id, path_to_project = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -968,7 +973,7 @@ Open an existing project-space and make it accessible via the given projectId. \item{\code{path_to_project}}{(optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -989,7 +994,7 @@ Open an existing project-space and make it accessible via the given projectId. \if{html}{\out{
}}\preformatted{ProjectsApi$OpenProjectWithHttpInfo( project_id, path_to_project = NULL, - opt_fields = list("none"), + opt_fields = list(NULL), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1002,7 +1007,7 @@ Open an existing project-space and make it accessible via the given projectId. \item{\code{path_to_project}}{(optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} +\item{\code{opt_fields}}{(optional) No description (default value: [none])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/QuantTableExperimental.Rd b/client-api_r/generated/man/QuantTableExperimental.Rd new file mode 100644 index 00000000..a4f76ac9 --- /dev/null +++ b/client-api_r/generated/man/QuantTableExperimental.Rd @@ -0,0 +1,304 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/quant_table_experimental.R +\docType{class} +\name{QuantTableExperimental} +\alias{QuantTableExperimental} +\title{QuantTableExperimental} +\format{ +An \code{R6Class} generator object +} +\description{ +EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. + +QuantTableExperimental Class +} +\details{ +Create a new QuantTableExperimental +} +\examples{ + +## ------------------------------------------------ +## Method `QuantTableExperimental$toList` +## ------------------------------------------------ + +# convert array of QuantTableExperimental (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{quantificationMeasure}}{character [optional]} + +\item{\code{rowType}}{character [optional]} + +\item{\code{rowIds}}{list(integer) [optional]} + +\item{\code{columnIds}}{list(integer) [optional]} + +\item{\code{rowNames}}{list(character) [optional]} + +\item{\code{columnNames}}{list(character) [optional]} + +\item{\code{values}}{list(list(numeric)) [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-QuantTableExperimental-new}{\code{QuantTableExperimental$new()}} +\item \href{#method-QuantTableExperimental-toJSON}{\code{QuantTableExperimental$toJSON()}} +\item \href{#method-QuantTableExperimental-toList}{\code{QuantTableExperimental$toList()}} +\item \href{#method-QuantTableExperimental-toSimpleType}{\code{QuantTableExperimental$toSimpleType()}} +\item \href{#method-QuantTableExperimental-fromJSON}{\code{QuantTableExperimental$fromJSON()}} +\item \href{#method-QuantTableExperimental-toJSONString}{\code{QuantTableExperimental$toJSONString()}} +\item \href{#method-QuantTableExperimental-fromJSONString}{\code{QuantTableExperimental$fromJSONString()}} +\item \href{#method-QuantTableExperimental-validateJSON}{\code{QuantTableExperimental$validateJSON()}} +\item \href{#method-QuantTableExperimental-toString}{\code{QuantTableExperimental$toString()}} +\item \href{#method-QuantTableExperimental-isValid}{\code{QuantTableExperimental$isValid()}} +\item \href{#method-QuantTableExperimental-getInvalidFields}{\code{QuantTableExperimental$getInvalidFields()}} +\item \href{#method-QuantTableExperimental-print}{\code{QuantTableExperimental$print()}} +\item \href{#method-QuantTableExperimental-clone}{\code{QuantTableExperimental$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new QuantTableExperimental class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$new( + quantificationMeasure = NULL, + rowType = NULL, + rowIds = NULL, + columnIds = NULL, + rowNames = NULL, + columnNames = NULL, + values = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{quantificationMeasure}}{quantificationMeasure} + +\item{\code{rowType}}{rowType} + +\item{\code{rowIds}}{rowIds} + +\item{\code{columnIds}}{columnIds} + +\item{\code{rowNames}}{rowNames} + +\item{\code{columnNames}}{columnNames} + +\item{\code{values}}{values} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +QuantTableExperimental as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of QuantTableExperimental (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert QuantTableExperimental to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of QuantTableExperimental +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of QuantTableExperimental +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +QuantTableExperimental in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of QuantTableExperimental +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of QuantTableExperimental +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to QuantTableExperimental and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of QuantTableExperimental +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-QuantTableExperimental-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{QuantTableExperimental$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/QuantificationTableExperimental.Rd b/client-api_r/generated/man/QuantificationTableExperimental.Rd deleted file mode 100644 index e3732344..00000000 --- a/client-api_r/generated/man/QuantificationTableExperimental.Rd +++ /dev/null @@ -1,309 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/quantification_table_experimental.R -\docType{class} -\name{QuantificationTableExperimental} -\alias{QuantificationTableExperimental} -\title{QuantificationTableExperimental} -\format{ -An \code{R6Class} generator object -} -\description{ -EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. - -QuantificationTableExperimental Class -} -\details{ -Create a new QuantificationTableExperimental -} -\examples{ - -## ------------------------------------------------ -## Method `QuantificationTableExperimental$toList` -## ------------------------------------------------ - -# convert array of QuantificationTableExperimental (x) to a data frame -\dontrun{ -library(purrr) -library(tibble) -df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() -df -} -} -\section{Public fields}{ -\if{html}{\out{
}} -\describe{ -\item{\code{quantificationType}}{character [optional]} - -\item{\code{rowType}}{character [optional]} - -\item{\code{columnType}}{character [optional]} - -\item{\code{rowIds}}{list(integer) [optional]} - -\item{\code{columnIds}}{list(integer) [optional]} - -\item{\code{rowNames}}{list(character) [optional]} - -\item{\code{columnNames}}{list(character) [optional]} - -\item{\code{values}}{list(list(numeric)) [optional]} -} -\if{html}{\out{
}} -} -\section{Methods}{ -\subsection{Public methods}{ -\itemize{ -\item \href{#method-QuantificationTableExperimental-new}{\code{QuantificationTableExperimental$new()}} -\item \href{#method-QuantificationTableExperimental-toJSON}{\code{QuantificationTableExperimental$toJSON()}} -\item \href{#method-QuantificationTableExperimental-toList}{\code{QuantificationTableExperimental$toList()}} -\item \href{#method-QuantificationTableExperimental-toSimpleType}{\code{QuantificationTableExperimental$toSimpleType()}} -\item \href{#method-QuantificationTableExperimental-fromJSON}{\code{QuantificationTableExperimental$fromJSON()}} -\item \href{#method-QuantificationTableExperimental-toJSONString}{\code{QuantificationTableExperimental$toJSONString()}} -\item \href{#method-QuantificationTableExperimental-fromJSONString}{\code{QuantificationTableExperimental$fromJSONString()}} -\item \href{#method-QuantificationTableExperimental-validateJSON}{\code{QuantificationTableExperimental$validateJSON()}} -\item \href{#method-QuantificationTableExperimental-toString}{\code{QuantificationTableExperimental$toString()}} -\item \href{#method-QuantificationTableExperimental-isValid}{\code{QuantificationTableExperimental$isValid()}} -\item \href{#method-QuantificationTableExperimental-getInvalidFields}{\code{QuantificationTableExperimental$getInvalidFields()}} -\item \href{#method-QuantificationTableExperimental-print}{\code{QuantificationTableExperimental$print()}} -\item \href{#method-QuantificationTableExperimental-clone}{\code{QuantificationTableExperimental$clone()}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-new}{}}} -\subsection{Method \code{new()}}{ -Initialize a new QuantificationTableExperimental class. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$new( - quantificationType = NULL, - rowType = NULL, - columnType = NULL, - rowIds = NULL, - columnIds = NULL, - rowNames = NULL, - columnNames = NULL, - values = NULL, - ... -)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{quantificationType}}{quantificationType} - -\item{\code{rowType}}{rowType} - -\item{\code{columnType}}{columnType} - -\item{\code{rowIds}}{rowIds} - -\item{\code{columnIds}}{columnIds} - -\item{\code{rowNames}}{rowNames} - -\item{\code{columnNames}}{columnNames} - -\item{\code{values}}{values} - -\item{\code{...}}{Other optional arguments.} -} -\if{html}{\out{
}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-toJSON}{}}} -\subsection{Method \code{toJSON()}}{ -Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$toJSON()}\if{html}{\out{
}} -} - -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-toList}{}}} -\subsection{Method \code{toList()}}{ -Convert to a List - -Convert the R6 object to a list to work more easily with other tooling. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$toList()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -QuantificationTableExperimental as a base R list. -} -\subsection{Examples}{ -\if{html}{\out{
}} -\preformatted{# convert array of QuantificationTableExperimental (x) to a data frame -\dontrun{ -library(purrr) -library(tibble) -df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() -df -} -} -\if{html}{\out{
}} - -} - -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-toSimpleType}{}}} -\subsection{Method \code{toSimpleType()}}{ -Convert QuantificationTableExperimental to a base R type -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$toSimpleType()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -A base R type, e.g. a list or numeric/character array. -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-fromJSON}{}}} -\subsection{Method \code{fromJSON()}}{ -Deserialize JSON string into an instance of QuantificationTableExperimental -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$fromJSON(input_json)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{input_json}}{the JSON input} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -the instance of QuantificationTableExperimental -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-toJSONString}{}}} -\subsection{Method \code{toJSONString()}}{ -To JSON String -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$toJSONString(...)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -QuantificationTableExperimental in JSON format -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-fromJSONString}{}}} -\subsection{Method \code{fromJSONString()}}{ -Deserialize JSON string into an instance of QuantificationTableExperimental -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$fromJSONString(input_json)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{input_json}}{the JSON input} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -the instance of QuantificationTableExperimental -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-validateJSON}{}}} -\subsection{Method \code{validateJSON()}}{ -Validate JSON input with respect to QuantificationTableExperimental and throw an exception if invalid -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$validateJSON(input)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{input}}{the JSON input} -} -\if{html}{\out{
}} -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-toString}{}}} -\subsection{Method \code{toString()}}{ -To string (JSON format) -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$toString()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -String representation of QuantificationTableExperimental -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-isValid}{}}} -\subsection{Method \code{isValid()}}{ -Return true if the values in all fields are valid. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$isValid()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -true if the values in all fields are valid. -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-getInvalidFields}{}}} -\subsection{Method \code{getInvalidFields()}}{ -Return a list of invalid fields (if any). -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$getInvalidFields()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -A list of invalid fields (if any). -} -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-print}{}}} -\subsection{Method \code{print()}}{ -Print the object -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$print()}\if{html}{\out{
}} -} - -} -\if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-QuantificationTableExperimental-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{QuantificationTableExperimental$clone(deep = FALSE)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} -} diff --git a/client-api_r/generated/man/Run.Rd b/client-api_r/generated/man/Run.Rd new file mode 100644 index 00000000..5c331f87 --- /dev/null +++ b/client-api_r/generated/man/Run.Rd @@ -0,0 +1,309 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/run.R +\docType{class} +\name{Run} +\alias{Run} +\title{Run} +\format{ +An \code{R6Class} generator object +} +\description{ +Run Class + +Run Class +} +\details{ +Create a new Run +} +\examples{ + +## ------------------------------------------------ +## Method `Run$toList` +## ------------------------------------------------ + +# convert array of Run (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{runId}}{Identifier character [optional]} + +\item{\code{name}}{Informative, human-readable name of this run character [optional]} + +\item{\code{source}}{Source location character [optional]} + +\item{\code{chromatography}}{character [optional]} + +\item{\code{ionization}}{character [optional]} + +\item{\code{fragmentation}}{character [optional]} + +\item{\code{massAnalyzers}}{list(character) [optional]} + +\item{\code{tags}}{Key: tagName, value: tag named list(\link{Tag}) [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-Run-new}{\code{Run$new()}} +\item \href{#method-Run-toJSON}{\code{Run$toJSON()}} +\item \href{#method-Run-toList}{\code{Run$toList()}} +\item \href{#method-Run-toSimpleType}{\code{Run$toSimpleType()}} +\item \href{#method-Run-fromJSON}{\code{Run$fromJSON()}} +\item \href{#method-Run-toJSONString}{\code{Run$toJSONString()}} +\item \href{#method-Run-fromJSONString}{\code{Run$fromJSONString()}} +\item \href{#method-Run-validateJSON}{\code{Run$validateJSON()}} +\item \href{#method-Run-toString}{\code{Run$toString()}} +\item \href{#method-Run-isValid}{\code{Run$isValid()}} +\item \href{#method-Run-getInvalidFields}{\code{Run$getInvalidFields()}} +\item \href{#method-Run-print}{\code{Run$print()}} +\item \href{#method-Run-clone}{\code{Run$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new Run class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$new( + runId = NULL, + name = NULL, + source = NULL, + chromatography = NULL, + ionization = NULL, + fragmentation = NULL, + massAnalyzers = NULL, + tags = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{runId}}{Identifier} + +\item{\code{name}}{Informative, human-readable name of this run} + +\item{\code{source}}{Source location} + +\item{\code{chromatography}}{chromatography} + +\item{\code{ionization}}{ionization} + +\item{\code{fragmentation}}{fragmentation} + +\item{\code{massAnalyzers}}{massAnalyzers} + +\item{\code{tags}}{Key: tagName, value: tag} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +Run as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of Run (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert Run to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of Run +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of Run +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +Run in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of Run +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of Run +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to Run and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of Run +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Run-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Run$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/RunOptField.Rd b/client-api_r/generated/man/RunOptField.Rd new file mode 100644 index 00000000..0395e112 --- /dev/null +++ b/client-api_r/generated/man/RunOptField.Rd @@ -0,0 +1,124 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/run_opt_field.R +\docType{class} +\name{RunOptField} +\alias{RunOptField} +\title{RunOptField} +\format{ +An \code{R6Class} generator object +} +\description{ +RunOptField Class +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-RunOptField-new}{\code{RunOptField$new()}} +\item \href{#method-RunOptField-toJSON}{\code{RunOptField$toJSON()}} +\item \href{#method-RunOptField-fromJSON}{\code{RunOptField$fromJSON()}} +\item \href{#method-RunOptField-toJSONString}{\code{RunOptField$toJSONString()}} +\item \href{#method-RunOptField-fromJSONString}{\code{RunOptField$fromJSONString()}} +\item \href{#method-RunOptField-clone}{\code{RunOptField$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunOptField-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new RunOptField class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunOptField$new(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunOptField-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunOptField$toJSON()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +RunOptField in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunOptField-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of RunOptField +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunOptField$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of RunOptField +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunOptField-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunOptField$toJSONString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +RunOptField in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunOptField-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of RunOptField +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunOptField$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of RunOptField +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunOptField-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunOptField$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/RunsApi.Rd b/client-api_r/generated/man/RunsApi.Rd new file mode 100644 index 00000000..58b0b8c7 --- /dev/null +++ b/client-api_r/generated/man/RunsApi.Rd @@ -0,0 +1,791 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/runs_api.R +\docType{class} +\name{RunsApi} +\alias{RunsApi} +\title{Runs operations} +\format{ +An \code{R6Class} generator object +} +\description{ +RunsApi +} +\details{ +SIRIUS Nightsky API + +REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 + +The version of the OpenAPI document: 3.1 +Generated by: https://openapi-generator.tech +} +\examples{ +\dontrun{ +#################### AddTagsToRunExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to add to. +var_run_id <- "run_id_example" # character | run to add tags to. +var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. + +#[EXPERIMENTAL] Add tags to a run in the project +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddTagsToRunExperimental(var_project_id, var_run_id, var_tagdata_file = "result.txt") +result <- api_instance$runs_api$AddTagsToRunExperimental(var_project_id, var_run_id, var_tag) +dput(result) + + +#################### ComputeFoldChangeForBlankSubtraction #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to compute the fold change in. +var_sample_type_fold_change_request <- SampleTypeFoldChangeRequest$new(c("sampleRunIds_example"), c("blankRunIds_example"), c("controlRunIds_example")) # SampleTypeFoldChangeRequest | request with lists of run IDs that are sample, blank, and control runs +var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) + +#**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$ComputeFoldChangeForBlankSubtraction(var_project_id, var_sample_type_fold_change_request, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$ComputeFoldChangeForBlankSubtraction(var_project_id, var_sample_type_fold_change_request, opt_fields = var_opt_fields) +dput(result) + + +#################### GetRunExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_run_id <- "run_id_example" # character | identifier of run to access. +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +#[EXPERIMENTAL] Get run with the given identifier from the specified project-space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunExperimental(var_project_id, var_run_id, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunExperimental(var_project_id, var_run_id, opt_fields = var_opt_fields) +dput(result) + + +#################### GetRunPageExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +#[EXPERIMENTAL] Get all available runs in the given project-space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunPageExperimental(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunPageExperimental(var_project_id, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) + + +#################### GetRunsByGroupExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | tag group name. +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +#[EXPERIMENTAL] Get runs by tag group +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunsByGroupExperimental(var_project_id, var_group_name, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) + + +#################### GetRunsByTagExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project space to get runs from. +var_filter <- "" # character | tag filter. (Optional) +var_page <- 0 # integer | Zero-based page index (0..N) (Optional) +var_size <- 20 # integer | The size of the page to be returned (Optional) +var_sort <- c("inner_example") # array[character] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (Optional) +var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) + +#[EXPERIMENTAL] Get runs by tag +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetRunsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fieldsdata_file = "result.txt") +result <- api_instance$runs_api$GetRunsByTagExperimental(var_project_id, filter = var_filter, page = var_page, size = var_size, sort = var_sort, opt_fields = var_opt_fields) +dput(result) + + +#################### GetTagsForRunExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to get from. +var_object_id <- "object_id_example" # character | RunId to get tags for. + +#[EXPERIMENTAL] Get all tags associated with this Run +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTagsForRunExperimental(var_project_id, var_object_iddata_file = "result.txt") +result <- api_instance$runs_api$GetTagsForRunExperimental(var_project_id, var_object_id) +dput(result) + + +#################### RemoveTagFromRunExperimental #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_run_id <- "run_id_example" # character | run to delete tag from. +var_tag_name <- "tag_name_example" # character | name of the tag to delete. + +#[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space +api_instance <- rsirius_api$new() + +api_instance$runs_api$RemoveTagFromRunExperimental(var_project_id, var_run_id, var_tag_name) + + +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{Handles the client-server communication.} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-RunsApi-new}{\code{RunsApi$new()}} +\item \href{#method-RunsApi-AddTagsToRunExperimental}{\code{RunsApi$AddTagsToRunExperimental()}} +\item \href{#method-RunsApi-AddTagsToRunExperimentalWithHttpInfo}{\code{RunsApi$AddTagsToRunExperimentalWithHttpInfo()}} +\item \href{#method-RunsApi-ComputeFoldChangeForBlankSubtraction}{\code{RunsApi$ComputeFoldChangeForBlankSubtraction()}} +\item \href{#method-RunsApi-ComputeFoldChangeForBlankSubtractionWithHttpInfo}{\code{RunsApi$ComputeFoldChangeForBlankSubtractionWithHttpInfo()}} +\item \href{#method-RunsApi-GetRunExperimental}{\code{RunsApi$GetRunExperimental()}} +\item \href{#method-RunsApi-GetRunExperimentalWithHttpInfo}{\code{RunsApi$GetRunExperimentalWithHttpInfo()}} +\item \href{#method-RunsApi-GetRunPageExperimental}{\code{RunsApi$GetRunPageExperimental()}} +\item \href{#method-RunsApi-GetRunPageExperimentalWithHttpInfo}{\code{RunsApi$GetRunPageExperimentalWithHttpInfo()}} +\item \href{#method-RunsApi-GetRunsByGroupExperimental}{\code{RunsApi$GetRunsByGroupExperimental()}} +\item \href{#method-RunsApi-GetRunsByGroupExperimentalWithHttpInfo}{\code{RunsApi$GetRunsByGroupExperimentalWithHttpInfo()}} +\item \href{#method-RunsApi-GetRunsByTagExperimental}{\code{RunsApi$GetRunsByTagExperimental()}} +\item \href{#method-RunsApi-GetRunsByTagExperimentalWithHttpInfo}{\code{RunsApi$GetRunsByTagExperimentalWithHttpInfo()}} +\item \href{#method-RunsApi-GetTagsForRunExperimental}{\code{RunsApi$GetTagsForRunExperimental()}} +\item \href{#method-RunsApi-GetTagsForRunExperimentalWithHttpInfo}{\code{RunsApi$GetTagsForRunExperimentalWithHttpInfo()}} +\item \href{#method-RunsApi-RemoveTagFromRunExperimental}{\code{RunsApi$RemoveTagFromRunExperimental()}} +\item \href{#method-RunsApi-RemoveTagFromRunExperimentalWithHttpInfo}{\code{RunsApi$RemoveTagFromRunExperimentalWithHttpInfo()}} +\item \href{#method-RunsApi-clone}{\code{RunsApi$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new RunsApi. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$new(api_client)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{An instance of API client.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-AddTagsToRunExperimental}{}}} +\subsection{Method \code{AddTagsToRunExperimental()}}{ +[EXPERIMENTAL] Add tags to a run in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$AddTagsToRunExperimental( + project_id, + run_id, + tag, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{run_id}}{run to add tags to.} + +\item{\code{tag}}{tags to add.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[Tag] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-AddTagsToRunExperimentalWithHttpInfo}{}}} +\subsection{Method \code{AddTagsToRunExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Add tags to a run in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$AddTagsToRunExperimentalWithHttpInfo( + project_id, + run_id, + tag, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{run_id}}{run to add tags to.} + +\item{\code{tag}}{tags to add.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[Tag]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-ComputeFoldChangeForBlankSubtraction}{}}} +\subsection{Method \code{ComputeFoldChangeForBlankSubtraction()}}{ +**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$ComputeFoldChangeForBlankSubtraction( + project_id, + sample_type_fold_change_request, + opt_fields = list("progress"), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to compute the fold change in.} + +\item{\code{sample_type_fold_change_request}}{request with lists of run IDs that are sample, blank, and control runs} + +\item{\code{opt_fields}}{(optional) job opt fields. (default value: ["progress"])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +Job +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-ComputeFoldChangeForBlankSubtractionWithHttpInfo}{}}} +\subsection{Method \code{ComputeFoldChangeForBlankSubtractionWithHttpInfo()}}{ +**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$ComputeFoldChangeForBlankSubtractionWithHttpInfo( + project_id, + sample_type_fold_change_request, + opt_fields = list("progress"), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to compute the fold change in.} + +\item{\code{sample_type_fold_change_request}}{request with lists of run IDs that are sample, blank, and control runs} + +\item{\code{opt_fields}}{(optional) job opt fields. (default value: ["progress"])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (Job) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunExperimental}{}}} +\subsection{Method \code{GetRunExperimental()}}{ +[EXPERIMENTAL] Get run with the given identifier from the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunExperimental( + project_id, + run_id, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{run_id}}{identifier of run to access.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +Run +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetRunExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get run with the given identifier from the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunExperimentalWithHttpInfo( + project_id, + run_id, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{run_id}}{identifier of run to access.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (Run) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunPageExperimental}{}}} +\subsection{Method \code{GetRunPageExperimental()}}{ +[EXPERIMENTAL] Get all available runs in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunPageExperimental( + project_id, + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PagedModelRun +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunPageExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetRunPageExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get all available runs in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunPageExperimentalWithHttpInfo( + project_id, + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (PagedModelRun) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunsByGroupExperimental}{}}} +\subsection{Method \code{GetRunsByGroupExperimental()}}{ +[EXPERIMENTAL] Get runs by tag group +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunsByGroupExperimental( + project_id, + group_name, + page = 0, + size = 20, + sort = NULL, + opt_fields = list("none"), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{tag group name.} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PagedModelRun +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunsByGroupExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetRunsByGroupExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get runs by tag group +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunsByGroupExperimentalWithHttpInfo( + project_id, + group_name, + page = 0, + size = 20, + sort = NULL, + opt_fields = list("none"), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{tag group name.} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (PagedModelRun) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunsByTagExperimental}{}}} +\subsection{Method \code{GetRunsByTagExperimental()}}{ +[EXPERIMENTAL] Get runs by tag +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunsByTagExperimental( + project_id, + filter = "", + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project space to get runs from.} + +\item{\code{filter}}{(optional) tag filter. (default value: "")} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +PagedModelRun +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetRunsByTagExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetRunsByTagExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get runs by tag +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetRunsByTagExperimentalWithHttpInfo( + project_id, + filter = "", + page = 0, + size = 20, + sort = NULL, + opt_fields = list(), + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project space to get runs from.} + +\item{\code{filter}}{(optional) tag filter. (default value: "")} + +\item{\code{page}}{(optional) Zero-based page index (0..N) (default value: 0)} + +\item{\code{size}}{(optional) The size of the page to be returned (default value: 20)} + +\item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} + +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [])} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (PagedModelRun) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetTagsForRunExperimental}{}}} +\subsection{Method \code{GetTagsForRunExperimental()}}{ +[EXPERIMENTAL] Get all tags associated with this Run +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetTagsForRunExperimental(project_id, object_id, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to get from.} + +\item{\code{object_id}}{RunId to get tags for.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[Tag] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-GetTagsForRunExperimentalWithHttpInfo}{}}} +\subsection{Method \code{GetTagsForRunExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Get all tags associated with this Run +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$GetTagsForRunExperimentalWithHttpInfo( + project_id, + object_id, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to get from.} + +\item{\code{object_id}}{RunId to get tags for.} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[Tag]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-RemoveTagFromRunExperimental}{}}} +\subsection{Method \code{RemoveTagFromRunExperimental()}}{ +[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$RemoveTagFromRunExperimental(project_id, run_id, tag_name, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{run_id}}{run to delete tag from.} + +\item{\code{tag_name}}{name of the tag to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +void +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-RemoveTagFromRunExperimentalWithHttpInfo}{}}} +\subsection{Method \code{RemoveTagFromRunExperimentalWithHttpInfo()}}{ +[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$RemoveTagFromRunExperimentalWithHttpInfo( + project_id, + run_id, + tag_name, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{run_id}}{run to delete tag from.} + +\item{\code{tag_name}}{name of the tag to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (void) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-RunsApi-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{RunsApi$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/SampleTypeFoldChangeRequest.Rd b/client-api_r/generated/man/SampleTypeFoldChangeRequest.Rd new file mode 100644 index 00000000..578a6803 --- /dev/null +++ b/client-api_r/generated/man/SampleTypeFoldChangeRequest.Rd @@ -0,0 +1,284 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sample_type_fold_change_request.R +\docType{class} +\name{SampleTypeFoldChangeRequest} +\alias{SampleTypeFoldChangeRequest} +\title{SampleTypeFoldChangeRequest} +\format{ +An \code{R6Class} generator object +} +\description{ +SampleTypeFoldChangeRequest Class + +SampleTypeFoldChangeRequest Class +} +\details{ +Create a new SampleTypeFoldChangeRequest +} +\examples{ + +## ------------------------------------------------ +## Method `SampleTypeFoldChangeRequest$toList` +## ------------------------------------------------ + +# convert array of SampleTypeFoldChangeRequest (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{sampleRunIds}}{list(character) [optional]} + +\item{\code{blankRunIds}}{list(character) [optional]} + +\item{\code{controlRunIds}}{list(character) [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-SampleTypeFoldChangeRequest-new}{\code{SampleTypeFoldChangeRequest$new()}} +\item \href{#method-SampleTypeFoldChangeRequest-toJSON}{\code{SampleTypeFoldChangeRequest$toJSON()}} +\item \href{#method-SampleTypeFoldChangeRequest-toList}{\code{SampleTypeFoldChangeRequest$toList()}} +\item \href{#method-SampleTypeFoldChangeRequest-toSimpleType}{\code{SampleTypeFoldChangeRequest$toSimpleType()}} +\item \href{#method-SampleTypeFoldChangeRequest-fromJSON}{\code{SampleTypeFoldChangeRequest$fromJSON()}} +\item \href{#method-SampleTypeFoldChangeRequest-toJSONString}{\code{SampleTypeFoldChangeRequest$toJSONString()}} +\item \href{#method-SampleTypeFoldChangeRequest-fromJSONString}{\code{SampleTypeFoldChangeRequest$fromJSONString()}} +\item \href{#method-SampleTypeFoldChangeRequest-validateJSON}{\code{SampleTypeFoldChangeRequest$validateJSON()}} +\item \href{#method-SampleTypeFoldChangeRequest-toString}{\code{SampleTypeFoldChangeRequest$toString()}} +\item \href{#method-SampleTypeFoldChangeRequest-isValid}{\code{SampleTypeFoldChangeRequest$isValid()}} +\item \href{#method-SampleTypeFoldChangeRequest-getInvalidFields}{\code{SampleTypeFoldChangeRequest$getInvalidFields()}} +\item \href{#method-SampleTypeFoldChangeRequest-print}{\code{SampleTypeFoldChangeRequest$print()}} +\item \href{#method-SampleTypeFoldChangeRequest-clone}{\code{SampleTypeFoldChangeRequest$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new SampleTypeFoldChangeRequest class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$new( + sampleRunIds = NULL, + blankRunIds = NULL, + controlRunIds = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{sampleRunIds}}{sampleRunIds} + +\item{\code{blankRunIds}}{blankRunIds} + +\item{\code{controlRunIds}}{controlRunIds} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +SampleTypeFoldChangeRequest as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of SampleTypeFoldChangeRequest (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert SampleTypeFoldChangeRequest to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of SampleTypeFoldChangeRequest +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of SampleTypeFoldChangeRequest +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +SampleTypeFoldChangeRequest in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of SampleTypeFoldChangeRequest +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of SampleTypeFoldChangeRequest +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to SampleTypeFoldChangeRequest and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of SampleTypeFoldChangeRequest +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SampleTypeFoldChangeRequest-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SampleTypeFoldChangeRequest$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/SearchableDatabasesApi.Rd b/client-api_r/generated/man/SearchableDatabasesApi.Rd index e43c9c23..ac146dfc 100644 --- a/client-api_r/generated/man/SearchableDatabasesApi.Rd +++ b/client-api_r/generated/man/SearchableDatabasesApi.Rd @@ -107,15 +107,16 @@ dput(result) library(Rsirius) var_database_id <- "database_id_example" # character | database to import into +var_input_files <- c(123) # array[data.frame] | files to be imported var_buffer_size <- 1000 # integer | (Optional) -var_input_files <- c(123) # array[data.frame] | (Optional) +var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (Optional) #Start import of structure and spectra files into the specified database. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. -# result <- api_instance$ImportIntoDatabase(var_database_id, buffer_size = var_buffer_size, input_files = var_input_filesdata_file = "result.txt") -result <- api_instance$searchable_databases_api$ImportIntoDatabase(var_database_id, buffer_size = var_buffer_size, input_files = var_input_files) +# result <- api_instance$ImportIntoDatabase(var_database_id, var_input_files, buffer_size = var_buffer_size, bio_transformer_parameters = var_bio_transformer_parametersdata_file = "result.txt") +result <- api_instance$searchable_databases_api$ImportIntoDatabase(var_database_id, var_input_files, buffer_size = var_buffer_size, bio_transformer_parameters = var_bio_transformer_parameters) dput(result) @@ -549,8 +550,9 @@ Start import of structure and spectra files into the specified database. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{SearchableDatabasesApi$ImportIntoDatabase( database_id, + input_files, buffer_size = 1000, - input_files = NULL, + bio_transformer_parameters = NULL, data_file = NULL, ... )}\if{html}{\out{
}} @@ -561,9 +563,11 @@ Start import of structure and spectra files into the specified database. \describe{ \item{\code{database_id}}{database to import into} +\item{\code{input_files}}{files to be imported} + \item{\code{buffer_size}}{(optional) No description (default value: 1000)} -\item{\code{input_files}}{(optional) No description} +\item{\code{bio_transformer_parameters}}{(optional) configuration for biotransformer execution. If null, BioTransformer is not applied.} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -583,8 +587,9 @@ Start import of structure and spectra files into the specified database. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{SearchableDatabasesApi$ImportIntoDatabaseWithHttpInfo( database_id, + input_files, buffer_size = 1000, - input_files = NULL, + bio_transformer_parameters = NULL, data_file = NULL, ... )}\if{html}{\out{
}} @@ -595,9 +600,11 @@ Start import of structure and spectra files into the specified database. \describe{ \item{\code{database_id}}{database to import into} +\item{\code{input_files}}{files to be imported} + \item{\code{buffer_size}}{(optional) No description (default value: 1000)} -\item{\code{input_files}}{(optional) No description} +\item{\code{bio_transformer_parameters}}{(optional) configuration for biotransformer execution. If null, BioTransformer is not applied.} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/SecurityContext.Rd b/client-api_r/generated/man/SecurityContext.Rd new file mode 100644 index 00000000..3744fc2b --- /dev/null +++ b/client-api_r/generated/man/SecurityContext.Rd @@ -0,0 +1,271 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/security_context.R +\docType{class} +\name{SecurityContext} +\alias{SecurityContext} +\title{SecurityContext} +\format{ +An \code{R6Class} generator object +} +\description{ +SecurityContext Class + +SecurityContext Class +} +\details{ +Create a new SecurityContext +} +\examples{ + +## ------------------------------------------------ +## Method `SecurityContext$toList` +## ------------------------------------------------ + +# convert array of SecurityContext (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{principal}}{\link{SecurityContextPrincipal} [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-SecurityContext-new}{\code{SecurityContext$new()}} +\item \href{#method-SecurityContext-toJSON}{\code{SecurityContext$toJSON()}} +\item \href{#method-SecurityContext-toList}{\code{SecurityContext$toList()}} +\item \href{#method-SecurityContext-toSimpleType}{\code{SecurityContext$toSimpleType()}} +\item \href{#method-SecurityContext-fromJSON}{\code{SecurityContext$fromJSON()}} +\item \href{#method-SecurityContext-toJSONString}{\code{SecurityContext$toJSONString()}} +\item \href{#method-SecurityContext-fromJSONString}{\code{SecurityContext$fromJSONString()}} +\item \href{#method-SecurityContext-validateJSON}{\code{SecurityContext$validateJSON()}} +\item \href{#method-SecurityContext-toString}{\code{SecurityContext$toString()}} +\item \href{#method-SecurityContext-isValid}{\code{SecurityContext$isValid()}} +\item \href{#method-SecurityContext-getInvalidFields}{\code{SecurityContext$getInvalidFields()}} +\item \href{#method-SecurityContext-print}{\code{SecurityContext$print()}} +\item \href{#method-SecurityContext-clone}{\code{SecurityContext$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new SecurityContext class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$new(principal = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{principal}}{principal} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +SecurityContext as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of SecurityContext (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert SecurityContext to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of SecurityContext +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of SecurityContext +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +SecurityContext in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of SecurityContext +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of SecurityContext +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to SecurityContext and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of SecurityContext +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContext-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContext$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/SecurityContextPrincipal.Rd b/client-api_r/generated/man/SecurityContextPrincipal.Rd new file mode 100644 index 00000000..02825c44 --- /dev/null +++ b/client-api_r/generated/man/SecurityContextPrincipal.Rd @@ -0,0 +1,271 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/security_context_principal.R +\docType{class} +\name{SecurityContextPrincipal} +\alias{SecurityContextPrincipal} +\title{SecurityContextPrincipal} +\format{ +An \code{R6Class} generator object +} +\description{ +SecurityContextPrincipal Class + +SecurityContextPrincipal Class +} +\details{ +Create a new SecurityContextPrincipal +} +\examples{ + +## ------------------------------------------------ +## Method `SecurityContextPrincipal$toList` +## ------------------------------------------------ + +# convert array of SecurityContextPrincipal (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{name}}{character [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-SecurityContextPrincipal-new}{\code{SecurityContextPrincipal$new()}} +\item \href{#method-SecurityContextPrincipal-toJSON}{\code{SecurityContextPrincipal$toJSON()}} +\item \href{#method-SecurityContextPrincipal-toList}{\code{SecurityContextPrincipal$toList()}} +\item \href{#method-SecurityContextPrincipal-toSimpleType}{\code{SecurityContextPrincipal$toSimpleType()}} +\item \href{#method-SecurityContextPrincipal-fromJSON}{\code{SecurityContextPrincipal$fromJSON()}} +\item \href{#method-SecurityContextPrincipal-toJSONString}{\code{SecurityContextPrincipal$toJSONString()}} +\item \href{#method-SecurityContextPrincipal-fromJSONString}{\code{SecurityContextPrincipal$fromJSONString()}} +\item \href{#method-SecurityContextPrincipal-validateJSON}{\code{SecurityContextPrincipal$validateJSON()}} +\item \href{#method-SecurityContextPrincipal-toString}{\code{SecurityContextPrincipal$toString()}} +\item \href{#method-SecurityContextPrincipal-isValid}{\code{SecurityContextPrincipal$isValid()}} +\item \href{#method-SecurityContextPrincipal-getInvalidFields}{\code{SecurityContextPrincipal$getInvalidFields()}} +\item \href{#method-SecurityContextPrincipal-print}{\code{SecurityContextPrincipal$print()}} +\item \href{#method-SecurityContextPrincipal-clone}{\code{SecurityContextPrincipal$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new SecurityContextPrincipal class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$new(name = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{name}}{name} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +SecurityContextPrincipal as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of SecurityContextPrincipal (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert SecurityContextPrincipal to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of SecurityContextPrincipal +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of SecurityContextPrincipal +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +SecurityContextPrincipal in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of SecurityContextPrincipal +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of SecurityContextPrincipal +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to SecurityContextPrincipal and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of SecurityContextPrincipal +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-SecurityContextPrincipal-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{SecurityContextPrincipal$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/Sirius.Rd b/client-api_r/generated/man/Sirius.Rd index b5f358d3..c88f90a4 100644 --- a/client-api_r/generated/man/Sirius.Rd +++ b/client-api_r/generated/man/Sirius.Rd @@ -62,9 +62,9 @@ df \item{\code{detectableElements}}{These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) list(character) [optional]} -\item{\code{ilpTimeout}}{\link{Timeout} [optional]} +\item{\code{ilpTimeout}}{Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint \link{Timeout} [optional]} -\item{\code{useHeuristic}}{\link{UseHeuristic} [optional]} +\item{\code{useHeuristic}}{Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. \link{UseHeuristic} [optional]} \item{\code{injectSpecLibMatchFormulas}}{If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied character [optional]} @@ -156,9 +156,9 @@ Initialize a new Sirius class. \item{\code{detectableElements}}{These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)} -\item{\code{ilpTimeout}}{ilpTimeout} +\item{\code{ilpTimeout}}{Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint} -\item{\code{useHeuristic}}{useHeuristic} +\item{\code{useHeuristic}}{Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically.} \item{\code{injectSpecLibMatchFormulas}}{If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied} diff --git a/client-api_r/generated/man/SpectralLibraryMatch.Rd b/client-api_r/generated/man/SpectralLibraryMatch.Rd index 5c9c7a55..79f904a5 100644 --- a/client-api_r/generated/man/SpectralLibraryMatch.Rd +++ b/client-api_r/generated/man/SpectralLibraryMatch.Rd @@ -36,9 +36,11 @@ df \item{\code{rank}}{integer [optional]} -\item{\code{similarity}}{numeric} +\item{\code{similarity}}{Similarity between query and reference spectrum numeric} -\item{\code{sharedPeaks}}{integer [optional]} +\item{\code{sharedPeaks}}{Number of shared/matched peaks integer [optional]} + +\item{\code{sharedPeakMapping}}{List of paired/matched peak indices. Maps indices of peaks from the query spectrum (mass sorted) to indices of matched peaks in the reference spectrum (mass sorted) list(\link{PeakPair}) [optional]} \item{\code{querySpectrumIndex}}{integer} @@ -54,13 +56,19 @@ df \item{\code{adduct}}{character [optional]} -\item{\code{exactMass}}{character [optional]} +\item{\code{exactMass}}{numeric [optional]} \item{\code{smiles}}{character [optional]} +\item{\code{type}}{character [optional]} + \item{\code{inchiKey}}{character} +\item{\code{referenceSpectrumType}}{character [optional]} + \item{\code{referenceSpectrum}}{\link{BasicSpectrum} [optional]} + +\item{\code{querySpectrumType}}{character [optional]} } \if{html}{\out{

}} } @@ -96,6 +104,7 @@ Initialize a new SpectralLibraryMatch class. specMatchId = NULL, rank = NULL, sharedPeaks = NULL, + sharedPeakMapping = NULL, dbName = NULL, dbId = NULL, splash = NULL, @@ -103,7 +112,10 @@ Initialize a new SpectralLibraryMatch class. adduct = NULL, exactMass = NULL, smiles = NULL, + type = "IDENTITY", + referenceSpectrumType = "SPECTRUM", referenceSpectrum = NULL, + querySpectrumType = NULL, ... )}\if{html}{\out{}} } @@ -111,7 +123,7 @@ Initialize a new SpectralLibraryMatch class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{similarity}}{similarity} +\item{\code{similarity}}{Similarity between query and reference spectrum} \item{\code{querySpectrumIndex}}{querySpectrumIndex} @@ -123,7 +135,9 @@ Initialize a new SpectralLibraryMatch class. \item{\code{rank}}{rank} -\item{\code{sharedPeaks}}{sharedPeaks} +\item{\code{sharedPeaks}}{Number of shared/matched peaks} + +\item{\code{sharedPeakMapping}}{List of paired/matched peak indices. Maps indices of peaks from the query spectrum (mass sorted) to indices of matched peaks in the reference spectrum (mass sorted)} \item{\code{dbName}}{dbName} @@ -139,8 +153,14 @@ Initialize a new SpectralLibraryMatch class. \item{\code{smiles}}{smiles} +\item{\code{type}}{type. Default to "IDENTITY".} + +\item{\code{referenceSpectrumType}}{referenceSpectrumType. Default to "SPECTRUM".} + \item{\code{referenceSpectrum}}{referenceSpectrum} +\item{\code{querySpectrumType}}{querySpectrumType} + \item{\code{...}}{Other optional arguments.} } \if{html}{\out{
}} diff --git a/client-api_r/generated/man/SpectralLibrarySearch.Rd b/client-api_r/generated/man/SpectralLibrarySearch.Rd index 161a0c41..74391f33 100644 --- a/client-api_r/generated/man/SpectralLibrarySearch.Rd +++ b/client-api_r/generated/man/SpectralLibrarySearch.Rd @@ -36,11 +36,21 @@ df \item{\code{spectraSearchDBs}}{Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API. list(character) [optional]} -\item{\code{peakDeviationPpm}}{Maximum allowed mass deviation in ppm for matching peaks. numeric [optional]} - \item{\code{precursorDeviationPpm}}{Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used. numeric [optional]} -\item{\code{scoring}}{Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. character [optional]} +\item{\code{minSimilarity}}{Minimal spectral similarity of a spectral match to be considered a hit. numeric [optional]} + +\item{\code{minNumOfPeaks}}{Minimal number of matching peaks of a spectral match to be considered a hit. integer [optional]} + +\item{\code{enableAnalogueSearch}}{Enable analogue search in addition to the identity spectral library search character [optional]} + +\item{\code{minSimilarityAnalogue}}{Minimal spectral similarity of a spectral match to be considered an analogue hit. numeric [optional]} + +\item{\code{minNumOfPeaksAnalogue}}{Minimal number of matching peaks of a spectral match to be considered an analogue hit. integer [optional]} + +\item{\code{scoring}}{NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. character [optional]} + +\item{\code{peakDeviationPpm}}{NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks. numeric [optional]} } \if{html}{\out{}} } @@ -71,9 +81,14 @@ Initialize a new SpectralLibrarySearch class. \if{html}{\out{

}}\preformatted{SpectralLibrarySearch$new( enabled = NULL, spectraSearchDBs = NULL, - peakDeviationPpm = NULL, precursorDeviationPpm = NULL, + minSimilarity = NULL, + minNumOfPeaks = NULL, + enableAnalogueSearch = NULL, + minSimilarityAnalogue = NULL, + minNumOfPeaksAnalogue = NULL, scoring = NULL, + peakDeviationPpm = NULL, ... )}\if{html}{\out{
}} } @@ -85,11 +100,21 @@ Initialize a new SpectralLibrarySearch class. \item{\code{spectraSearchDBs}}{Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API.} -\item{\code{peakDeviationPpm}}{Maximum allowed mass deviation in ppm for matching peaks.} - \item{\code{precursorDeviationPpm}}{Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.} -\item{\code{scoring}}{Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.} +\item{\code{minSimilarity}}{Minimal spectral similarity of a spectral match to be considered a hit.} + +\item{\code{minNumOfPeaks}}{Minimal number of matching peaks of a spectral match to be considered a hit.} + +\item{\code{enableAnalogueSearch}}{Enable analogue search in addition to the identity spectral library search} + +\item{\code{minSimilarityAnalogue}}{Minimal spectral similarity of a spectral match to be considered an analogue hit.} + +\item{\code{minNumOfPeaksAnalogue}}{Minimal number of matching peaks of a spectral match to be considered an analogue hit.} + +\item{\code{scoring}}{NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.} + +\item{\code{peakDeviationPpm}}{NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks.} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/SpectrumAnnotation.Rd b/client-api_r/generated/man/SpectrumAnnotation.Rd index 06fbfdac..46e8031b 100644 --- a/client-api_r/generated/man/SpectrumAnnotation.Rd +++ b/client-api_r/generated/man/SpectrumAnnotation.Rd @@ -42,9 +42,13 @@ df \item{\code{massDeviationPpm}}{Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm numeric [optional]} -\item{\code{structureAnnotationSmiles}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. Null if substructure annotation not available or not requested. character [optional]} +\item{\code{structureAnnotationSmiles}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore.

Null if substructure annotation not available or not requested. character [optional]} -\item{\code{structureAnnotationScore}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) Null if substructure annotation not available or not requested. numeric [optional]} +\item{\code{structureAnnotationName}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.

Null if substructure annotation not available or not requested. character [optional]} + +\item{\code{structureAnnotationSvg}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refers to this SVG.

Null if substructure annotation not available or not requested. character [optional]} + +\item{\code{structureAnnotationScore}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)

Null if substructure annotation not available or not requested. numeric [optional]} } \if{html}{\out{}} } @@ -79,6 +83,8 @@ Initialize a new SpectrumAnnotation class. massDeviationMz = NULL, massDeviationPpm = NULL, structureAnnotationSmiles = NULL, + structureAnnotationName = NULL, + structureAnnotationSvg = NULL, structureAnnotationScore = NULL, ... )}\if{html}{\out{}} @@ -97,9 +103,13 @@ Initialize a new SpectrumAnnotation class. \item{\code{massDeviationPpm}}{Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm} -\item{\code{structureAnnotationSmiles}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore. Null if substructure annotation not available or not requested.} +\item{\code{structureAnnotationSmiles}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refer to this specific SMILES. If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might not match correctly anymore.

Null if substructure annotation not available or not requested.} + +\item{\code{structureAnnotationName}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.

Null if substructure annotation not available or not requested.} + +\item{\code{structureAnnotationSvg}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation Substructure highlighting (bond and atom indices) refers to this SVG.

Null if substructure annotation not available or not requested.} -\item{\code{structureAnnotationScore}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles) Null if substructure annotation not available or not requested.} +\item{\code{structureAnnotationScore}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.

Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)

Null if substructure annotation not available or not requested.} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/StatisticsTable.Rd b/client-api_r/generated/man/StatisticsTable.Rd new file mode 100644 index 00000000..610ada2b --- /dev/null +++ b/client-api_r/generated/man/StatisticsTable.Rd @@ -0,0 +1,314 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/statistics_table.R +\docType{class} +\name{StatisticsTable} +\alias{StatisticsTable} +\title{StatisticsTable} +\format{ +An \code{R6Class} generator object +} +\description{ +StatisticsTable Class + +StatisticsTable Class +} +\details{ +Create a new StatisticsTable +} +\examples{ + +## ------------------------------------------------ +## Method `StatisticsTable$toList` +## ------------------------------------------------ + +# convert array of StatisticsTable (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{

}} +\describe{ +\item{\code{statisticsType}}{character [optional]} + +\item{\code{aggregationType}}{character [optional]} + +\item{\code{quantificationMeasure}}{character [optional]} + +\item{\code{rowType}}{character [optional]} + +\item{\code{rowIds}}{list(character) [optional]} + +\item{\code{columnNames}}{list(character) [optional]} + +\item{\code{columnLeftGroups}}{list(character) [optional]} + +\item{\code{columnRightGroups}}{list(character) [optional]} + +\item{\code{values}}{list(list(numeric)) [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-StatisticsTable-new}{\code{StatisticsTable$new()}} +\item \href{#method-StatisticsTable-toJSON}{\code{StatisticsTable$toJSON()}} +\item \href{#method-StatisticsTable-toList}{\code{StatisticsTable$toList()}} +\item \href{#method-StatisticsTable-toSimpleType}{\code{StatisticsTable$toSimpleType()}} +\item \href{#method-StatisticsTable-fromJSON}{\code{StatisticsTable$fromJSON()}} +\item \href{#method-StatisticsTable-toJSONString}{\code{StatisticsTable$toJSONString()}} +\item \href{#method-StatisticsTable-fromJSONString}{\code{StatisticsTable$fromJSONString()}} +\item \href{#method-StatisticsTable-validateJSON}{\code{StatisticsTable$validateJSON()}} +\item \href{#method-StatisticsTable-toString}{\code{StatisticsTable$toString()}} +\item \href{#method-StatisticsTable-isValid}{\code{StatisticsTable$isValid()}} +\item \href{#method-StatisticsTable-getInvalidFields}{\code{StatisticsTable$getInvalidFields()}} +\item \href{#method-StatisticsTable-print}{\code{StatisticsTable$print()}} +\item \href{#method-StatisticsTable-clone}{\code{StatisticsTable$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new StatisticsTable class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$new( + statisticsType = NULL, + aggregationType = NULL, + quantificationMeasure = NULL, + rowType = NULL, + rowIds = NULL, + columnNames = NULL, + columnLeftGroups = NULL, + columnRightGroups = NULL, + values = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{statisticsType}}{statisticsType} + +\item{\code{aggregationType}}{aggregationType} + +\item{\code{quantificationMeasure}}{quantificationMeasure} + +\item{\code{rowType}}{rowType} + +\item{\code{rowIds}}{rowIds} + +\item{\code{columnNames}}{columnNames} + +\item{\code{columnLeftGroups}}{columnLeftGroups} + +\item{\code{columnRightGroups}}{columnRightGroups} + +\item{\code{values}}{values} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +StatisticsTable as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of StatisticsTable (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert StatisticsTable to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of StatisticsTable +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of StatisticsTable +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +StatisticsTable in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of StatisticsTable +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of StatisticsTable +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to StatisticsTable and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of StatisticsTable +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-StatisticsTable-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{StatisticsTable$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/StoredJobSubmission.Rd b/client-api_r/generated/man/StoredJobSubmission.Rd index 5e6b5717..4d9fd8b1 100644 --- a/client-api_r/generated/man/StoredJobSubmission.Rd +++ b/client-api_r/generated/man/StoredJobSubmission.Rd @@ -36,7 +36,7 @@ df \item{\code{editable}}{False for predefined configs which are not editable and not removable. character} -\item{\code{jobSubmission}}{\link{JobSubmission}} +\item{\code{jobSubmission}}{The JobSubmission identified by the name \link{JobSubmission}} } \if{html}{\out{}} } @@ -74,7 +74,7 @@ Initialize a new StoredJobSubmission class. \item{\code{editable}}{False for predefined configs which are not editable and not removable.} -\item{\code{jobSubmission}}{jobSubmission} +\item{\code{jobSubmission}}{The JobSubmission identified by the name} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/StructureCandidate.Rd b/client-api_r/generated/man/StructureCandidate.Rd index ebe32da0..b4d9be8d 100644 --- a/client-api_r/generated/man/StructureCandidate.Rd +++ b/client-api_r/generated/man/StructureCandidate.Rd @@ -38,11 +38,13 @@ df \item{\code{structureName}}{character [optional]} -\item{\code{xlogP}}{numeric [optional]} +\item{\code{structureSvg}}{SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter character [optional]} \item{\code{dbLinks}}{List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{DBLink}) [optional]} \item{\code{spectralLibraryMatches}}{List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{SpectralLibraryMatch}) [optional]} + +\item{\code{xlogP}}{numeric [optional]} } \if{html}{\out{}} } @@ -74,9 +76,10 @@ Initialize a new StructureCandidate class. inchiKey = NULL, smiles = NULL, structureName = NULL, - xlogP = NULL, + structureSvg = NULL, dbLinks = NULL, spectralLibraryMatches = NULL, + xlogP = NULL, ... )}\if{html}{\out{}} } @@ -90,12 +93,14 @@ Initialize a new StructureCandidate class. \item{\code{structureName}}{structureName} -\item{\code{xlogP}}{xlogP} +\item{\code{structureSvg}}{SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter} \item{\code{dbLinks}}{List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter} \item{\code{spectralLibraryMatches}}{List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter} +\item{\code{xlogP}}{xlogP} + \item{\code{...}}{Other optional arguments.} } \if{html}{\out{}} diff --git a/client-api_r/generated/man/StructureCandidateFormula.Rd b/client-api_r/generated/man/StructureCandidateFormula.Rd index ce82576c..ad64ff19 100644 --- a/client-api_r/generated/man/StructureCandidateFormula.Rd +++ b/client-api_r/generated/man/StructureCandidateFormula.Rd @@ -38,12 +38,14 @@ df \item{\code{structureName}}{character [optional]} -\item{\code{xlogP}}{numeric [optional]} +\item{\code{structureSvg}}{SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter character [optional]} \item{\code{dbLinks}}{List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{DBLink}) [optional]} \item{\code{spectralLibraryMatches}}{List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{SpectralLibraryMatch}) [optional]} +\item{\code{xlogP}}{numeric [optional]} + \item{\code{rank}}{the overall rank of this candidate among all candidates of this feature integer [optional]} \item{\code{csiScore}}{CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates numeric [optional]} @@ -52,7 +54,7 @@ df \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional]} -\item{\code{fingerprint}}{\link{BinaryFingerprint} [optional]} +\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional]} \item{\code{molecularFormula}}{Molecular formula of this candidate character [optional]} @@ -90,9 +92,10 @@ Initialize a new StructureCandidateFormula class. inchiKey = NULL, smiles = NULL, structureName = NULL, - xlogP = NULL, + structureSvg = NULL, dbLinks = NULL, spectralLibraryMatches = NULL, + xlogP = NULL, rank = NULL, csiScore = NULL, tanimotoSimilarity = NULL, @@ -114,12 +117,14 @@ Initialize a new StructureCandidateFormula class. \item{\code{structureName}}{structureName} -\item{\code{xlogP}}{xlogP} +\item{\code{structureSvg}}{SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter} \item{\code{dbLinks}}{List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter} \item{\code{spectralLibraryMatches}}{List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter} +\item{\code{xlogP}}{xlogP} + \item{\code{rank}}{the overall rank of this candidate among all candidates of this feature} \item{\code{csiScore}}{CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates} @@ -128,7 +133,7 @@ Initialize a new StructureCandidateFormula class. \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.} -\item{\code{fingerprint}}{fingerprint} +\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter} \item{\code{molecularFormula}}{Molecular formula of this candidate} diff --git a/client-api_r/generated/man/StructureCandidateScored.Rd b/client-api_r/generated/man/StructureCandidateScored.Rd index cd31bd05..81d06dbc 100644 --- a/client-api_r/generated/man/StructureCandidateScored.Rd +++ b/client-api_r/generated/man/StructureCandidateScored.Rd @@ -38,12 +38,14 @@ df \item{\code{structureName}}{character [optional]} -\item{\code{xlogP}}{numeric [optional]} +\item{\code{structureSvg}}{SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter character [optional]} \item{\code{dbLinks}}{List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{DBLink}) [optional]} \item{\code{spectralLibraryMatches}}{List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter list(\link{SpectralLibraryMatch}) [optional]} +\item{\code{xlogP}}{numeric [optional]} + \item{\code{rank}}{the overall rank of this candidate among all candidates of this feature integer [optional]} \item{\code{csiScore}}{CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates numeric [optional]} @@ -52,7 +54,7 @@ df \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional]} -\item{\code{fingerprint}}{\link{BinaryFingerprint} [optional]} +\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional]} } \if{html}{\out{}} } @@ -84,9 +86,10 @@ Initialize a new StructureCandidateScored class. inchiKey = NULL, smiles = NULL, structureName = NULL, - xlogP = NULL, + structureSvg = NULL, dbLinks = NULL, spectralLibraryMatches = NULL, + xlogP = NULL, rank = NULL, csiScore = NULL, tanimotoSimilarity = NULL, @@ -105,12 +108,14 @@ Initialize a new StructureCandidateScored class. \item{\code{structureName}}{structureName} -\item{\code{xlogP}}{xlogP} +\item{\code{structureSvg}}{SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter} \item{\code{dbLinks}}{List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter} \item{\code{spectralLibraryMatches}}{List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter} +\item{\code{xlogP}}{xlogP} + \item{\code{rank}}{the overall rank of this candidate among all candidates of this feature} \item{\code{csiScore}}{CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates} @@ -119,7 +124,7 @@ Initialize a new StructureCandidateScored class. \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.} -\item{\code{fingerprint}}{fingerprint} +\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/Subscription.Rd b/client-api_r/generated/man/Subscription.Rd index e4ef7f63..913c0b0e 100644 --- a/client-api_r/generated/man/Subscription.Rd +++ b/client-api_r/generated/man/Subscription.Rd @@ -61,6 +61,8 @@ df \item{\code{tos}}{character [optional]} \item{\code{pp}}{character [optional]} + +\item{\code{allowedFeatures}}{\link{AllowedFeatures} [optional]} } \if{html}{\out{}} } @@ -104,6 +106,7 @@ Initialize a new Subscription class. name = NULL, tos = NULL, pp = NULL, + allowedFeatures = NULL, ... )}\if{html}{\out{}} } @@ -141,6 +144,8 @@ Initialize a new Subscription class. \item{\code{pp}}{pp} +\item{\code{allowedFeatures}}{allowedFeatures} + \item{\code{...}}{Other optional arguments.} } \if{html}{\out{}} diff --git a/client-api_r/generated/man/Tag.Rd b/client-api_r/generated/man/Tag.Rd new file mode 100644 index 00000000..d90aab75 --- /dev/null +++ b/client-api_r/generated/man/Tag.Rd @@ -0,0 +1,275 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tag.R +\docType{class} +\name{Tag} +\alias{Tag} +\title{Tag} +\format{ +An \code{R6Class} generator object +} +\description{ +Tag Class + +Tag Class +} +\details{ +Create a new Tag +} +\examples{ + +## ------------------------------------------------ +## Method `Tag$toList` +## ------------------------------------------------ + +# convert array of Tag (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{tagName}}{Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. character} + +\item{\code{value}}{\link{AnyType} [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-Tag-new}{\code{Tag$new()}} +\item \href{#method-Tag-toJSON}{\code{Tag$toJSON()}} +\item \href{#method-Tag-toList}{\code{Tag$toList()}} +\item \href{#method-Tag-toSimpleType}{\code{Tag$toSimpleType()}} +\item \href{#method-Tag-fromJSON}{\code{Tag$fromJSON()}} +\item \href{#method-Tag-toJSONString}{\code{Tag$toJSONString()}} +\item \href{#method-Tag-fromJSONString}{\code{Tag$fromJSONString()}} +\item \href{#method-Tag-validateJSON}{\code{Tag$validateJSON()}} +\item \href{#method-Tag-toString}{\code{Tag$toString()}} +\item \href{#method-Tag-isValid}{\code{Tag$isValid()}} +\item \href{#method-Tag-getInvalidFields}{\code{Tag$getInvalidFields()}} +\item \href{#method-Tag-print}{\code{Tag$print()}} +\item \href{#method-Tag-clone}{\code{Tag$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new Tag class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$new(tagName, value = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{tagName}}{Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition.} + +\item{\code{value}}{value} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +Tag as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of Tag (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert Tag to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of Tag +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of Tag +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +Tag in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of Tag +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of Tag +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to Tag and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of Tag +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-Tag-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{Tag$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/TagDefinition.Rd b/client-api_r/generated/man/TagDefinition.Rd new file mode 100644 index 00000000..8d5eab3c --- /dev/null +++ b/client-api_r/generated/man/TagDefinition.Rd @@ -0,0 +1,309 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tag_definition.R +\docType{class} +\name{TagDefinition} +\alias{TagDefinition} +\title{TagDefinition} +\format{ +An \code{R6Class} generator object +} +\description{ +TagDefinition Class + +TagDefinition Class +} +\details{ +Create a new TagDefinition +} +\examples{ + +## ------------------------------------------------ +## Method `TagDefinition$toList` +## ------------------------------------------------ + +# convert array of TagDefinition (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{tagName}}{Name of this tag defined by this definition (key) character} + +\item{\code{description}}{A human-readable description about the purpose of this tag. character [optional]} + +\item{\code{tagType}}{A simple string based identifier to specify the type/scope/purpose of this tag. character [optional]} + +\item{\code{valueType}}{character} + +\item{\code{possibleValues}}{list(\link{AnyType}) [optional]} + +\item{\code{minValue}}{\link{AnyType} [optional]} + +\item{\code{maxValue}}{\link{AnyType} [optional]} + +\item{\code{editable}}{character [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-TagDefinition-new}{\code{TagDefinition$new()}} +\item \href{#method-TagDefinition-toJSON}{\code{TagDefinition$toJSON()}} +\item \href{#method-TagDefinition-toList}{\code{TagDefinition$toList()}} +\item \href{#method-TagDefinition-toSimpleType}{\code{TagDefinition$toSimpleType()}} +\item \href{#method-TagDefinition-fromJSON}{\code{TagDefinition$fromJSON()}} +\item \href{#method-TagDefinition-toJSONString}{\code{TagDefinition$toJSONString()}} +\item \href{#method-TagDefinition-fromJSONString}{\code{TagDefinition$fromJSONString()}} +\item \href{#method-TagDefinition-validateJSON}{\code{TagDefinition$validateJSON()}} +\item \href{#method-TagDefinition-toString}{\code{TagDefinition$toString()}} +\item \href{#method-TagDefinition-isValid}{\code{TagDefinition$isValid()}} +\item \href{#method-TagDefinition-getInvalidFields}{\code{TagDefinition$getInvalidFields()}} +\item \href{#method-TagDefinition-print}{\code{TagDefinition$print()}} +\item \href{#method-TagDefinition-clone}{\code{TagDefinition$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new TagDefinition class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$new( + tagName, + valueType, + description = NULL, + tagType = NULL, + possibleValues = NULL, + minValue = NULL, + maxValue = NULL, + editable = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{tagName}}{Name of this tag defined by this definition (key)} + +\item{\code{valueType}}{valueType} + +\item{\code{description}}{A human-readable description about the purpose of this tag.} + +\item{\code{tagType}}{A simple string based identifier to specify the type/scope/purpose of this tag.} + +\item{\code{possibleValues}}{possibleValues} + +\item{\code{minValue}}{minValue} + +\item{\code{maxValue}}{maxValue} + +\item{\code{editable}}{editable} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +TagDefinition as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of TagDefinition (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert TagDefinition to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of TagDefinition +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of TagDefinition +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +TagDefinition in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of TagDefinition +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of TagDefinition +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to TagDefinition and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of TagDefinition +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinition-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinition$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/TagDefinitionImport.Rd b/client-api_r/generated/man/TagDefinitionImport.Rd new file mode 100644 index 00000000..277faa04 --- /dev/null +++ b/client-api_r/generated/man/TagDefinitionImport.Rd @@ -0,0 +1,304 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tag_definition_import.R +\docType{class} +\name{TagDefinitionImport} +\alias{TagDefinitionImport} +\title{TagDefinitionImport} +\format{ +An \code{R6Class} generator object +} +\description{ +TagDefinitionImport Class + +TagDefinitionImport Class +} +\details{ +Create a new TagDefinitionImport +} +\examples{ + +## ------------------------------------------------ +## Method `TagDefinitionImport$toList` +## ------------------------------------------------ + +# convert array of TagDefinitionImport (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{tagName}}{Name of this tag defined by this definition (key) character} + +\item{\code{description}}{A human-readable description about the purpose of this tag. character [optional]} + +\item{\code{tagType}}{A simple string based identifier to specify the type/scope/purpose of this tag. character [optional]} + +\item{\code{valueType}}{character} + +\item{\code{possibleValues}}{list(\link{AnyType}) [optional]} + +\item{\code{minValue}}{\link{AnyType} [optional]} + +\item{\code{maxValue}}{\link{AnyType} [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-TagDefinitionImport-new}{\code{TagDefinitionImport$new()}} +\item \href{#method-TagDefinitionImport-toJSON}{\code{TagDefinitionImport$toJSON()}} +\item \href{#method-TagDefinitionImport-toList}{\code{TagDefinitionImport$toList()}} +\item \href{#method-TagDefinitionImport-toSimpleType}{\code{TagDefinitionImport$toSimpleType()}} +\item \href{#method-TagDefinitionImport-fromJSON}{\code{TagDefinitionImport$fromJSON()}} +\item \href{#method-TagDefinitionImport-toJSONString}{\code{TagDefinitionImport$toJSONString()}} +\item \href{#method-TagDefinitionImport-fromJSONString}{\code{TagDefinitionImport$fromJSONString()}} +\item \href{#method-TagDefinitionImport-validateJSON}{\code{TagDefinitionImport$validateJSON()}} +\item \href{#method-TagDefinitionImport-toString}{\code{TagDefinitionImport$toString()}} +\item \href{#method-TagDefinitionImport-isValid}{\code{TagDefinitionImport$isValid()}} +\item \href{#method-TagDefinitionImport-getInvalidFields}{\code{TagDefinitionImport$getInvalidFields()}} +\item \href{#method-TagDefinitionImport-print}{\code{TagDefinitionImport$print()}} +\item \href{#method-TagDefinitionImport-clone}{\code{TagDefinitionImport$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new TagDefinitionImport class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$new( + tagName, + valueType, + description = NULL, + tagType = NULL, + possibleValues = NULL, + minValue = NULL, + maxValue = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{tagName}}{Name of this tag defined by this definition (key)} + +\item{\code{valueType}}{valueType} + +\item{\code{description}}{A human-readable description about the purpose of this tag.} + +\item{\code{tagType}}{A simple string based identifier to specify the type/scope/purpose of this tag.} + +\item{\code{possibleValues}}{possibleValues} + +\item{\code{minValue}}{minValue} + +\item{\code{maxValue}}{maxValue} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +TagDefinitionImport as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of TagDefinitionImport (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert TagDefinitionImport to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of TagDefinitionImport +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of TagDefinitionImport +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +TagDefinitionImport in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of TagDefinitionImport +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of TagDefinitionImport +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to TagDefinitionImport and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of TagDefinitionImport +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagDefinitionImport-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagDefinitionImport$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/TagGroup.Rd b/client-api_r/generated/man/TagGroup.Rd new file mode 100644 index 00000000..2827dea8 --- /dev/null +++ b/client-api_r/generated/man/TagGroup.Rd @@ -0,0 +1,279 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tag_group.R +\docType{class} +\name{TagGroup} +\alias{TagGroup} +\title{TagGroup} +\format{ +An \code{R6Class} generator object +} +\description{ +TagGroup Class + +TagGroup Class +} +\details{ +Create a new TagGroup +} +\examples{ + +## ------------------------------------------------ +## Method `TagGroup$toList` +## ------------------------------------------------ + +# convert array of TagGroup (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{groupName}}{Name of this Grouping query. character [optional]} + +\item{\code{luceneQuery}}{Query used to group the entities in lucene format. character [optional]} + +\item{\code{groupType}}{character [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-TagGroup-new}{\code{TagGroup$new()}} +\item \href{#method-TagGroup-toJSON}{\code{TagGroup$toJSON()}} +\item \href{#method-TagGroup-toList}{\code{TagGroup$toList()}} +\item \href{#method-TagGroup-toSimpleType}{\code{TagGroup$toSimpleType()}} +\item \href{#method-TagGroup-fromJSON}{\code{TagGroup$fromJSON()}} +\item \href{#method-TagGroup-toJSONString}{\code{TagGroup$toJSONString()}} +\item \href{#method-TagGroup-fromJSONString}{\code{TagGroup$fromJSONString()}} +\item \href{#method-TagGroup-validateJSON}{\code{TagGroup$validateJSON()}} +\item \href{#method-TagGroup-toString}{\code{TagGroup$toString()}} +\item \href{#method-TagGroup-isValid}{\code{TagGroup$isValid()}} +\item \href{#method-TagGroup-getInvalidFields}{\code{TagGroup$getInvalidFields()}} +\item \href{#method-TagGroup-print}{\code{TagGroup$print()}} +\item \href{#method-TagGroup-clone}{\code{TagGroup$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new TagGroup class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$new(groupName = NULL, luceneQuery = NULL, groupType = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{groupName}}{Name of this Grouping query.} + +\item{\code{luceneQuery}}{Query used to group the entities in lucene format.} + +\item{\code{groupType}}{groupType} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +TagGroup as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of TagGroup (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert TagGroup to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of TagGroup +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of TagGroup +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +TagGroup in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of TagGroup +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of TagGroup +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to TagGroup and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of TagGroup +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagGroup-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagGroup$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/TagsApi.Rd b/client-api_r/generated/man/TagsApi.Rd new file mode 100644 index 00000000..2763ba2b --- /dev/null +++ b/client-api_r/generated/man/TagsApi.Rd @@ -0,0 +1,729 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/tags_api.R +\docType{class} +\name{TagsApi} +\alias{TagsApi} +\title{Tags operations} +\format{ +An \code{R6Class} generator object +} +\description{ +TagsApi +} +\details{ +SIRIUS Nightsky API + +REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 + +The version of the OpenAPI document: 3.1 +Generated by: https://openapi-generator.tech +} +\examples{ +\dontrun{ +#################### AddGroup #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to add to. +var_group_name <- "group_name_example" # character | name of the new group +var_filter <- "filter_example" # character | filter query to create the group +var_type <- "type_example" # character | type of the group + +#[EXPERIMENTAL] Group tags in the project +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddGroup(var_project_id, var_group_name, var_filter, var_typedata_file = "result.txt") +result <- api_instance$tags_api$AddGroup(var_project_id, var_group_name, var_filter, var_type) +dput(result) + + +#################### AddPossibleValuesToTagDefinition #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to add to. +var_tag_name <- "tag_name_example" # character | the tag definition to add the values to +var_request_body <- c(TODO) # array[AnyType] | + +#[EXPERIMENTAL] Add a possible value to the tag definition in the project +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$AddPossibleValuesToTagDefinition(var_project_id, var_tag_name, var_request_bodydata_file = "result.txt") +result <- api_instance$tags_api$AddPossibleValuesToTagDefinition(var_project_id, var_tag_name, var_request_body) +dput(result) + + +#################### CreateTags #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to add to. +var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(TODO), TODO, TODO)) # array[TagDefinitionImport] | the tag definitions to be created + +#[EXPERIMENTAL] Add tags to the project +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$CreateTags(var_project_id, var_tag_definition_importdata_file = "result.txt") +result <- api_instance$tags_api$CreateTags(var_project_id, var_tag_definition_import) +dput(result) + + +#################### DeleteGroup #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_group_name <- "group_name_example" # character | name of group to delete. + +#[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +api_instance <- rsirius_api$new() + +api_instance$tags_api$DeleteGroup(var_project_id, var_group_name) + + +#################### DeleteTag #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to delete from. +var_tag_name <- "tag_name_example" # character | name of the tag definition to delete. + +#[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +api_instance <- rsirius_api$new() + +api_instance$tags_api$DeleteTag(var_project_id, var_tag_name) + + +#################### GetGroupByName #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_group_name <- "group_name_example" # character | name of the group + +#[EXPERIMENTAL] Get tag group by name in the given project-space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetGroupByName(var_project_id, var_group_namedata_file = "result.txt") +result <- api_instance$tags_api$GetGroupByName(var_project_id, var_group_name) +dput(result) + + +#################### GetGroups #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_group_type <- "group_type_example" # character | type of the group (Optional) + +#[EXPERIMENTAL] Get all tag based groups in the given project-space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetGroups(var_project_id, group_type = var_group_typedata_file = "result.txt") +result <- api_instance$tags_api$GetGroups(var_project_id, group_type = var_group_type) +dput(result) + + +#################### GetTag #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_tag_name <- "tag_name_example" # character | name of the tag + +#[EXPERIMENTAL] Get tag definition by its name in the given project-space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTag(var_project_id, var_tag_namedata_file = "result.txt") +result <- api_instance$tags_api$GetTag(var_project_id, var_tag_name) +dput(result) + + +#################### GetTags #################### + +library(Rsirius) +var_project_id <- "project_id_example" # character | project-space to read from. +var_tag_type <- "tag_type_example" # character | scope of the tag (optional) (Optional) + +#[EXPERIMENTAL] Get all tag definitions in the given project-space +api_instance <- rsirius_api$new() + +# to save the result into a file, simply add the optional `data_file` parameter, e.g. +# result <- api_instance$GetTags(var_project_id, tag_type = var_tag_typedata_file = "result.txt") +result <- api_instance$tags_api$GetTags(var_project_id, tag_type = var_tag_type) +dput(result) + + +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{Handles the client-server communication.} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-TagsApi-new}{\code{TagsApi$new()}} +\item \href{#method-TagsApi-AddGroup}{\code{TagsApi$AddGroup()}} +\item \href{#method-TagsApi-AddGroupWithHttpInfo}{\code{TagsApi$AddGroupWithHttpInfo()}} +\item \href{#method-TagsApi-AddPossibleValuesToTagDefinition}{\code{TagsApi$AddPossibleValuesToTagDefinition()}} +\item \href{#method-TagsApi-AddPossibleValuesToTagDefinitionWithHttpInfo}{\code{TagsApi$AddPossibleValuesToTagDefinitionWithHttpInfo()}} +\item \href{#method-TagsApi-CreateTags}{\code{TagsApi$CreateTags()}} +\item \href{#method-TagsApi-CreateTagsWithHttpInfo}{\code{TagsApi$CreateTagsWithHttpInfo()}} +\item \href{#method-TagsApi-DeleteGroup}{\code{TagsApi$DeleteGroup()}} +\item \href{#method-TagsApi-DeleteGroupWithHttpInfo}{\code{TagsApi$DeleteGroupWithHttpInfo()}} +\item \href{#method-TagsApi-DeleteTag}{\code{TagsApi$DeleteTag()}} +\item \href{#method-TagsApi-DeleteTagWithHttpInfo}{\code{TagsApi$DeleteTagWithHttpInfo()}} +\item \href{#method-TagsApi-GetGroupByName}{\code{TagsApi$GetGroupByName()}} +\item \href{#method-TagsApi-GetGroupByNameWithHttpInfo}{\code{TagsApi$GetGroupByNameWithHttpInfo()}} +\item \href{#method-TagsApi-GetGroups}{\code{TagsApi$GetGroups()}} +\item \href{#method-TagsApi-GetGroupsWithHttpInfo}{\code{TagsApi$GetGroupsWithHttpInfo()}} +\item \href{#method-TagsApi-GetTag}{\code{TagsApi$GetTag()}} +\item \href{#method-TagsApi-GetTagWithHttpInfo}{\code{TagsApi$GetTagWithHttpInfo()}} +\item \href{#method-TagsApi-GetTags}{\code{TagsApi$GetTags()}} +\item \href{#method-TagsApi-GetTagsWithHttpInfo}{\code{TagsApi$GetTagsWithHttpInfo()}} +\item \href{#method-TagsApi-clone}{\code{TagsApi$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new TagsApi. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$new(api_client)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{api_client}}{An instance of API client.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-AddGroup}{}}} +\subsection{Method \code{AddGroup()}}{ +[EXPERIMENTAL] Group tags in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$AddGroup(project_id, group_name, filter, type, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{group_name}}{name of the new group} + +\item{\code{filter}}{filter query to create the group} + +\item{\code{type}}{type of the group} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +TagGroup +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-AddGroupWithHttpInfo}{}}} +\subsection{Method \code{AddGroupWithHttpInfo()}}{ +[EXPERIMENTAL] Group tags in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$AddGroupWithHttpInfo( + project_id, + group_name, + filter, + type, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{group_name}}{name of the new group} + +\item{\code{filter}}{filter query to create the group} + +\item{\code{type}}{type of the group} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (TagGroup) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-AddPossibleValuesToTagDefinition}{}}} +\subsection{Method \code{AddPossibleValuesToTagDefinition()}}{ +[EXPERIMENTAL] Add a possible value to the tag definition in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$AddPossibleValuesToTagDefinition( + project_id, + tag_name, + request_body, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{tag_name}}{the tag definition to add the values to} + +\item{\code{request_body}}{} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +TagDefinition +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-AddPossibleValuesToTagDefinitionWithHttpInfo}{}}} +\subsection{Method \code{AddPossibleValuesToTagDefinitionWithHttpInfo()}}{ +[EXPERIMENTAL] Add a possible value to the tag definition in the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$AddPossibleValuesToTagDefinitionWithHttpInfo( + project_id, + tag_name, + request_body, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{tag_name}}{the tag definition to add the values to} + +\item{\code{request_body}}{} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (TagDefinition) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-CreateTags}{}}} +\subsection{Method \code{CreateTags()}}{ +[EXPERIMENTAL] Add tags to the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$CreateTags(project_id, tag_definition_import, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{tag_definition_import}}{the tag definitions to be created} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[TagDefinition] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-CreateTagsWithHttpInfo}{}}} +\subsection{Method \code{CreateTagsWithHttpInfo()}}{ +[EXPERIMENTAL] Add tags to the project +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$CreateTagsWithHttpInfo( + project_id, + tag_definition_import, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to add to.} + +\item{\code{tag_definition_import}}{the tag definitions to be created} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[TagDefinition]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-DeleteGroup}{}}} +\subsection{Method \code{DeleteGroup()}}{ +[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$DeleteGroup(project_id, group_name, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{name of group to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +void +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-DeleteGroupWithHttpInfo}{}}} +\subsection{Method \code{DeleteGroupWithHttpInfo()}}{ +[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$DeleteGroupWithHttpInfo(project_id, group_name, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{group_name}}{name of group to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (void) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-DeleteTag}{}}} +\subsection{Method \code{DeleteTag()}}{ +[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$DeleteTag(project_id, tag_name, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{tag_name}}{name of the tag definition to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +void +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-DeleteTagWithHttpInfo}{}}} +\subsection{Method \code{DeleteTagWithHttpInfo()}}{ +[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$DeleteTagWithHttpInfo(project_id, tag_name, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to delete from.} + +\item{\code{tag_name}}{name of the tag definition to delete.} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (void) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetGroupByName}{}}} +\subsection{Method \code{GetGroupByName()}}{ +[EXPERIMENTAL] Get tag group by name in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetGroupByName(project_id, group_name, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{group_name}}{name of the group} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +TagGroup +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetGroupByNameWithHttpInfo}{}}} +\subsection{Method \code{GetGroupByNameWithHttpInfo()}}{ +[EXPERIMENTAL] Get tag group by name in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetGroupByNameWithHttpInfo( + project_id, + group_name, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{group_name}}{name of the group} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (TagGroup) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetGroups}{}}} +\subsection{Method \code{GetGroups()}}{ +[EXPERIMENTAL] Get all tag based groups in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetGroups(project_id, group_type = NULL, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{group_type}}{(optional) type of the group} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[TagGroup] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetGroupsWithHttpInfo}{}}} +\subsection{Method \code{GetGroupsWithHttpInfo()}}{ +[EXPERIMENTAL] Get all tag based groups in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetGroupsWithHttpInfo( + project_id, + group_type = NULL, + data_file = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{group_type}}{(optional) type of the group} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[TagGroup]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetTag}{}}} +\subsection{Method \code{GetTag()}}{ +[EXPERIMENTAL] Get tag definition by its name in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetTag(project_id, tag_name, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{tag_name}}{name of the tag} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +TagDefinition +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetTagWithHttpInfo}{}}} +\subsection{Method \code{GetTagWithHttpInfo()}}{ +[EXPERIMENTAL] Get tag definition by its name in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetTagWithHttpInfo(project_id, tag_name, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{tag_name}}{name of the tag} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (TagDefinition) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetTags}{}}} +\subsection{Method \code{GetTags()}}{ +[EXPERIMENTAL] Get all tag definitions in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetTags(project_id, tag_type = NULL, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{tag_type}}{(optional) scope of the tag (optional)} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +array[TagDefinition] +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-GetTagsWithHttpInfo}{}}} +\subsection{Method \code{GetTagsWithHttpInfo()}}{ +[EXPERIMENTAL] Get all tag definitions in the given project-space +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$GetTagsWithHttpInfo(project_id, tag_type = NULL, data_file = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{project_id}}{project-space to read from.} + +\item{\code{tag_type}}{(optional) scope of the tag (optional)} + +\item{\code{data_file}}{(optional) name of the data file to save the result} + +\item{\code{...}}{Other optional arguments} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +API response (array[TagDefinition]) with additional information such as HTTP status code, headers +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-TagsApi-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{TagsApi$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/TraceExperimental.Rd b/client-api_r/generated/man/TraceExperimental.Rd index dbbb2c8e..f2d543c9 100644 --- a/client-api_r/generated/man/TraceExperimental.Rd +++ b/client-api_r/generated/man/TraceExperimental.Rd @@ -40,6 +40,8 @@ df \item{\code{label}}{character [optional]} +\item{\code{color}}{character [optional]} + \item{\code{intensities}}{list(numeric) [optional]} \item{\code{annotations}}{list(\link{TraceAnnotationExperimental}) [optional]} @@ -83,6 +85,7 @@ Initialize a new TraceExperimental class. sampleId = NULL, sampleName = NULL, label = NULL, + color = NULL, intensities = NULL, annotations = NULL, mz = NULL, @@ -104,6 +107,8 @@ Initialize a new TraceExperimental class. \item{\code{label}}{label} +\item{\code{color}}{color} + \item{\code{intensities}}{intensities} \item{\code{annotations}}{annotations} diff --git a/client-api_r/generated/man/WebServerNamespace.Rd b/client-api_r/generated/man/WebServerNamespace.Rd new file mode 100644 index 00000000..263f94ab --- /dev/null +++ b/client-api_r/generated/man/WebServerNamespace.Rd @@ -0,0 +1,271 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/web_server_namespace.R +\docType{class} +\name{WebServerNamespace} +\alias{WebServerNamespace} +\title{WebServerNamespace} +\format{ +An \code{R6Class} generator object +} +\description{ +WebServerNamespace Class + +WebServerNamespace Class +} +\details{ +Create a new WebServerNamespace +} +\examples{ + +## ------------------------------------------------ +## Method `WebServerNamespace$toList` +## ------------------------------------------------ + +# convert array of WebServerNamespace (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{value}}{character [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-WebServerNamespace-new}{\code{WebServerNamespace$new()}} +\item \href{#method-WebServerNamespace-toJSON}{\code{WebServerNamespace$toJSON()}} +\item \href{#method-WebServerNamespace-toList}{\code{WebServerNamespace$toList()}} +\item \href{#method-WebServerNamespace-toSimpleType}{\code{WebServerNamespace$toSimpleType()}} +\item \href{#method-WebServerNamespace-fromJSON}{\code{WebServerNamespace$fromJSON()}} +\item \href{#method-WebServerNamespace-toJSONString}{\code{WebServerNamespace$toJSONString()}} +\item \href{#method-WebServerNamespace-fromJSONString}{\code{WebServerNamespace$fromJSONString()}} +\item \href{#method-WebServerNamespace-validateJSON}{\code{WebServerNamespace$validateJSON()}} +\item \href{#method-WebServerNamespace-toString}{\code{WebServerNamespace$toString()}} +\item \href{#method-WebServerNamespace-isValid}{\code{WebServerNamespace$isValid()}} +\item \href{#method-WebServerNamespace-getInvalidFields}{\code{WebServerNamespace$getInvalidFields()}} +\item \href{#method-WebServerNamespace-print}{\code{WebServerNamespace$print()}} +\item \href{#method-WebServerNamespace-clone}{\code{WebServerNamespace$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new WebServerNamespace class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$new(value = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{value}}{value} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +WebServerNamespace as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of WebServerNamespace (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert WebServerNamespace to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of WebServerNamespace +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of WebServerNamespace +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +WebServerNamespace in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of WebServerNamespace +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of WebServerNamespace +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to WebServerNamespace and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of WebServerNamespace +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-WebServerNamespace-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{WebServerNamespace$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/Zodiac.Rd b/client-api_r/generated/man/Zodiac.Rd index e844e306..ac268683 100644 --- a/client-api_r/generated/man/Zodiac.Rd +++ b/client-api_r/generated/man/Zodiac.Rd @@ -40,9 +40,13 @@ df \item{\code{runInTwoSteps}}{As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. character [optional]} -\item{\code{edgeFilterThresholds}}{\link{ZodiacEdgeFilterThresholds} [optional]} +\item{\code{edgeFilterThresholds}}{thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. \link{ZodiacEdgeFilterThresholds} [optional]} -\item{\code{gibbsSamplerParameters}}{\link{ZodiacEpochs} [optional]} +\item{\code{gibbsSamplerParameters}}{iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. \link{ZodiacEpochs} [optional]} + +\item{\code{librarySearchAnchors}}{Configure the use of identity spectral library search results as anchors in ZODIAC network \link{ZodiacLibraryScoring} [optional]} + +\item{\code{analogueSearchAnchors}}{Configure the use of analogue spectral library search results as anchors in ZODIAC network \link{ZodiacAnalogueNodes} [optional]} } \if{html}{\out{}} } @@ -77,6 +81,8 @@ Initialize a new Zodiac class. runInTwoSteps = NULL, edgeFilterThresholds = NULL, gibbsSamplerParameters = NULL, + librarySearchAnchors = NULL, + analogueSearchAnchors = NULL, ... )}\if{html}{\out{}} } @@ -92,9 +98,13 @@ Initialize a new Zodiac class. \item{\code{runInTwoSteps}}{As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.} -\item{\code{edgeFilterThresholds}}{edgeFilterThresholds} +\item{\code{edgeFilterThresholds}}{thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to.} + +\item{\code{gibbsSamplerParameters}}{iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs.} + +\item{\code{librarySearchAnchors}}{Configure the use of identity spectral library search results as anchors in ZODIAC network} -\item{\code{gibbsSamplerParameters}}{gibbsSamplerParameters} +\item{\code{analogueSearchAnchors}}{Configure the use of analogue spectral library search results as anchors in ZODIAC network} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/ZodiacAnalogueNodes.Rd b/client-api_r/generated/man/ZodiacAnalogueNodes.Rd new file mode 100644 index 00000000..314bef3f --- /dev/null +++ b/client-api_r/generated/man/ZodiacAnalogueNodes.Rd @@ -0,0 +1,284 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/zodiac_analogue_nodes.R +\docType{class} +\name{ZodiacAnalogueNodes} +\alias{ZodiacAnalogueNodes} +\title{ZodiacAnalogueNodes} +\format{ +An \code{R6Class} generator object +} +\description{ +ZodiacAnalogueNodes Class + +ZodiacAnalogueNodes Class +} +\details{ +Create a new ZodiacAnalogueNodes +} +\examples{ + +## ------------------------------------------------ +## Method `ZodiacAnalogueNodes$toList` +## ------------------------------------------------ + +# convert array of ZodiacAnalogueNodes (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{enabled}}{character [optional]} + +\item{\code{minSimilarity}}{numeric [optional]} + +\item{\code{minSharedPeaks}}{integer [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-ZodiacAnalogueNodes-new}{\code{ZodiacAnalogueNodes$new()}} +\item \href{#method-ZodiacAnalogueNodes-toJSON}{\code{ZodiacAnalogueNodes$toJSON()}} +\item \href{#method-ZodiacAnalogueNodes-toList}{\code{ZodiacAnalogueNodes$toList()}} +\item \href{#method-ZodiacAnalogueNodes-toSimpleType}{\code{ZodiacAnalogueNodes$toSimpleType()}} +\item \href{#method-ZodiacAnalogueNodes-fromJSON}{\code{ZodiacAnalogueNodes$fromJSON()}} +\item \href{#method-ZodiacAnalogueNodes-toJSONString}{\code{ZodiacAnalogueNodes$toJSONString()}} +\item \href{#method-ZodiacAnalogueNodes-fromJSONString}{\code{ZodiacAnalogueNodes$fromJSONString()}} +\item \href{#method-ZodiacAnalogueNodes-validateJSON}{\code{ZodiacAnalogueNodes$validateJSON()}} +\item \href{#method-ZodiacAnalogueNodes-toString}{\code{ZodiacAnalogueNodes$toString()}} +\item \href{#method-ZodiacAnalogueNodes-isValid}{\code{ZodiacAnalogueNodes$isValid()}} +\item \href{#method-ZodiacAnalogueNodes-getInvalidFields}{\code{ZodiacAnalogueNodes$getInvalidFields()}} +\item \href{#method-ZodiacAnalogueNodes-print}{\code{ZodiacAnalogueNodes$print()}} +\item \href{#method-ZodiacAnalogueNodes-clone}{\code{ZodiacAnalogueNodes$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new ZodiacAnalogueNodes class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$new( + enabled = NULL, + minSimilarity = NULL, + minSharedPeaks = NULL, + ... +)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{enabled}}{enabled} + +\item{\code{minSimilarity}}{minSimilarity} + +\item{\code{minSharedPeaks}}{minSharedPeaks} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +ZodiacAnalogueNodes as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of ZodiacAnalogueNodes (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert ZodiacAnalogueNodes to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of ZodiacAnalogueNodes +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of ZodiacAnalogueNodes +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +ZodiacAnalogueNodes in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of ZodiacAnalogueNodes +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of ZodiacAnalogueNodes +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to ZodiacAnalogueNodes and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of ZodiacAnalogueNodes +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacAnalogueNodes-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacAnalogueNodes$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/ZodiacLibraryScoring.Rd b/client-api_r/generated/man/ZodiacLibraryScoring.Rd new file mode 100644 index 00000000..24a20b07 --- /dev/null +++ b/client-api_r/generated/man/ZodiacLibraryScoring.Rd @@ -0,0 +1,275 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/zodiac_library_scoring.R +\docType{class} +\name{ZodiacLibraryScoring} +\alias{ZodiacLibraryScoring} +\title{ZodiacLibraryScoring} +\format{ +An \code{R6Class} generator object +} +\description{ +ZodiacLibraryScoring Class + +ZodiacLibraryScoring Class +} +\details{ +Create a new ZodiacLibraryScoring +} +\examples{ + +## ------------------------------------------------ +## Method `ZodiacLibraryScoring$toList` +## ------------------------------------------------ + +# convert array of ZodiacLibraryScoring (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\section{Public fields}{ +\if{html}{\out{
}} +\describe{ +\item{\code{enabled}}{character [optional]} + +\item{\code{minSimilarity}}{numeric [optional]} +} +\if{html}{\out{
}} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-ZodiacLibraryScoring-new}{\code{ZodiacLibraryScoring$new()}} +\item \href{#method-ZodiacLibraryScoring-toJSON}{\code{ZodiacLibraryScoring$toJSON()}} +\item \href{#method-ZodiacLibraryScoring-toList}{\code{ZodiacLibraryScoring$toList()}} +\item \href{#method-ZodiacLibraryScoring-toSimpleType}{\code{ZodiacLibraryScoring$toSimpleType()}} +\item \href{#method-ZodiacLibraryScoring-fromJSON}{\code{ZodiacLibraryScoring$fromJSON()}} +\item \href{#method-ZodiacLibraryScoring-toJSONString}{\code{ZodiacLibraryScoring$toJSONString()}} +\item \href{#method-ZodiacLibraryScoring-fromJSONString}{\code{ZodiacLibraryScoring$fromJSONString()}} +\item \href{#method-ZodiacLibraryScoring-validateJSON}{\code{ZodiacLibraryScoring$validateJSON()}} +\item \href{#method-ZodiacLibraryScoring-toString}{\code{ZodiacLibraryScoring$toString()}} +\item \href{#method-ZodiacLibraryScoring-isValid}{\code{ZodiacLibraryScoring$isValid()}} +\item \href{#method-ZodiacLibraryScoring-getInvalidFields}{\code{ZodiacLibraryScoring$getInvalidFields()}} +\item \href{#method-ZodiacLibraryScoring-print}{\code{ZodiacLibraryScoring$print()}} +\item \href{#method-ZodiacLibraryScoring-clone}{\code{ZodiacLibraryScoring$clone()}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-new}{}}} +\subsection{Method \code{new()}}{ +Initialize a new ZodiacLibraryScoring class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$new(enabled = NULL, minSimilarity = NULL, ...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{enabled}}{enabled} + +\item{\code{minSimilarity}}{minSimilarity} + +\item{\code{...}}{Other optional arguments.} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-toJSON}{}}} +\subsection{Method \code{toJSON()}}{ +Convert to an R object. This method is deprecated. Use `toSimpleType()` instead. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$toJSON()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-toList}{}}} +\subsection{Method \code{toList()}}{ +Convert to a List + +Convert the R6 object to a list to work more easily with other tooling. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$toList()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +ZodiacLibraryScoring as a base R list. +} +\subsection{Examples}{ +\if{html}{\out{
}} +\preformatted{# convert array of ZodiacLibraryScoring (x) to a data frame +\dontrun{ +library(purrr) +library(tibble) +df <- x |> map(\(y)y$toList()) |> map(as_tibble) |> list_rbind() +df +} +} +\if{html}{\out{
}} + +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-toSimpleType}{}}} +\subsection{Method \code{toSimpleType()}}{ +Convert ZodiacLibraryScoring to a base R type +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$toSimpleType()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A base R type, e.g. a list or numeric/character array. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-fromJSON}{}}} +\subsection{Method \code{fromJSON()}}{ +Deserialize JSON string into an instance of ZodiacLibraryScoring +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$fromJSON(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of ZodiacLibraryScoring +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-toJSONString}{}}} +\subsection{Method \code{toJSONString()}}{ +To JSON String +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$toJSONString(...)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{...}}{Parameters passed to `jsonlite::toJSON`} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +ZodiacLibraryScoring in JSON format +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-fromJSONString}{}}} +\subsection{Method \code{fromJSONString()}}{ +Deserialize JSON string into an instance of ZodiacLibraryScoring +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$fromJSONString(input_json)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input_json}}{the JSON input} +} +\if{html}{\out{
}} +} +\subsection{Returns}{ +the instance of ZodiacLibraryScoring +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-validateJSON}{}}} +\subsection{Method \code{validateJSON()}}{ +Validate JSON input with respect to ZodiacLibraryScoring and throw an exception if invalid +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$validateJSON(input)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{input}}{the JSON input} +} +\if{html}{\out{
}} +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-toString}{}}} +\subsection{Method \code{toString()}}{ +To string (JSON format) +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$toString()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +String representation of ZodiacLibraryScoring +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-isValid}{}}} +\subsection{Method \code{isValid()}}{ +Return true if the values in all fields are valid. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$isValid()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +true if the values in all fields are valid. +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-getInvalidFields}{}}} +\subsection{Method \code{getInvalidFields()}}{ +Return a list of invalid fields (if any). +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$getInvalidFields()}\if{html}{\out{
}} +} + +\subsection{Returns}{ +A list of invalid fields (if any). +} +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-print}{}}} +\subsection{Method \code{print()}}{ +Print the object +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$print()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-ZodiacLibraryScoring-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{ZodiacLibraryScoring$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/client-api_r/generated/man/rsirius_api.Rd b/client-api_r/generated/man/rsirius_api.Rd index ce20d11e..9f838a18 100644 --- a/client-api_r/generated/man/rsirius_api.Rd +++ b/client-api_r/generated/man/rsirius_api.Rd @@ -33,11 +33,13 @@ Do not edit the class manually. \item{\code{actuator_api}}{an instance of ActuatorApi} +\item{\code{compound_statistics_api}}{an instance of CompoundStatisticsApi} + \item{\code{compounds_api}}{an instance of CompoundsApi} -\item{\code{features_api}}{an instance of FeaturesApi} +\item{\code{feature_statistics_api}}{an instance of FeatureStatisticsApi} -\item{\code{gui_api}}{an instance of GuiApi} +\item{\code{features_api}}{an instance of FeaturesApi} \item{\code{info_api}}{an instance of InfoApi} @@ -47,7 +49,11 @@ Do not edit the class manually. \item{\code{projects_api}}{an instance of ProjectsApi} +\item{\code{runs_api}}{an instance of RunsApi} + \item{\code{searchable_databases_api}}{an instance of SearchableDatabasesApi} + +\item{\code{tags_api}}{an instance of TagsApi} } \if{html}{\out{}} } diff --git a/client-api_r/generated/tests/testthat/test_compounds_api.R b/client-api_r/generated/tests/testthat/test_compounds_api.R index 2d774d96..84e031c2 100644 --- a/client-api_r/generated/tests/testthat/test_compounds_api.R +++ b/client-api_r/generated/tests/testthat/test_compounds_api.R @@ -127,25 +127,4 @@ test_that("GetCompoundsPaged", { withr::defer(projects_api$CloseProject(project_id)) withr::defer(unlink(project_dir, recursive=TRUE)) -}) - -test_that("GetTraces", { - # tests for GetTraces - # base path: http://localhost:8080 - # @param project_id character - # @param compound_id character - # @return [TraceSet] - -# TODO feature has no trace -# project_id <- "GetTraces" -# project_dir <- paste(Sys.getenv("HOME"), "GetTraces", sep="/") -# projects_api$CreateProject(project_id, project_dir) -# api_instance$AddCompounds(project_id, compound_import) -# compound_id <- api_instance$GetCompounds(project_id)[[1]]$compoundId -# -# response <- api_instance$GetTraces(project_id, compound_id) -# expect_true(inherits(response, "TraceSet")) -# -# withr::defer(projects_api$CloseProject(project_id)) -# withr::defer(unlink(project_dir, recursive=TRUE)) -}) +}) \ No newline at end of file diff --git a/client-api_r/generated/tests/testthat/test_features_api.R b/client-api_r/generated/tests/testthat/test_features_api.R index c7ad114c..95aa4b79 100644 --- a/client-api_r/generated/tests/testthat/test_features_api.R +++ b/client-api_r/generated/tests/testthat/test_features_api.R @@ -483,24 +483,6 @@ test_that("GetMsData", { withr::defer(projects_api$CloseProject(project_id)) }) -test_that("GetQuantification", { - # tests for GetQuantification - # base path: http://localhost:8080 - # @param project_id character - # @param aligned_feature_id character - # @param type character (optional) - # @return [QuantificationTable] - - project_id <- "GetQuantification" - projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - - response <- api_instance$GetQuantificationExperimental(project_id, aligned_feature_id) - expect_true(inherits(response, "QuantificationTableExperimental")) - - withr::defer(projects_api$CloseProject(project_id)) -}) - test_that("GetSpectralLibraryMatch", { # tests for GetSpectralLibraryMatch # base path: http://localhost:8080 @@ -598,37 +580,6 @@ test_that("GetSpectralLibraryMatchesSummary", { withr::defer(projects_api$CloseProject(project_id)) }) -test_that("GetStructureAnnotatedMsData", { - # tests for GetStructureAnnotatedMsData - # base path: http://localhost:8080 - # Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. - # Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available. - # @param project_id character project-space to read from. - # @param aligned_feature_id character feature (aligned over runs) the formula result belongs to. - # @param formula_id character identifier of the requested formula result - # @param inchi_key character 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation - # @return [AnnotatedMsMsData] - - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") -}) - -test_that("GetStructureAnnotatedSpectrum", { - # tests for GetStructureAnnotatedSpectrum - # base path: http://localhost:8080 - # Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. - # Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree is available. - # @param project_id character project-space to read from. - # @param aligned_feature_id character feature (aligned over runs) the formula result belongs to. - # @param formula_id character identifier of the requested formula result - # @param inchi_key character 2d InChIKey of the structure candidate to be used to annotate the spectrum annotation - # @param spectrum_index integer index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (optional) - # @return [AnnotatedSpectrum] - - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") -}) - test_that("GetStructureCandidates", { # tests for GetStructureCandidates # base path: http://localhost:8080 @@ -719,21 +670,4 @@ test_that("GetStructureCandidatesPaged", { expect_true(inherits(response, "PagedModelStructureCandidateFormula")) withr::defer(projects_api$CloseProject(project_id)) -}) - -test_that("GetTraces1", { - # tests for GetTraces1 - # base path: http://localhost:8080 - # @param project_id character - # @param aligned_feature_id character - # @return [TraceSet] - - project_id <- "GetTraces" - projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - - response <- api_instance$GetTracesExperimental(project_id, aligned_feature_id) - expect_true(inherits(response, "TraceSetExperimental")) - - withr::defer(projects_api$CloseProject(project_id)) -}) +}) \ No newline at end of file diff --git a/client-api_r/generated/tests/testthat/test_jobs_api.R b/client-api_r/generated/tests/testthat/test_jobs_api.R index 9a487298..91439fea 100644 --- a/client-api_r/generated/tests/testthat/test_jobs_api.R +++ b/client-api_r/generated/tests/testthat/test_jobs_api.R @@ -72,6 +72,18 @@ test_that("DeleteJobs", { withr::defer(unlink(project_dir, recursive=TRUE)) }) +test_that("GetCommand", { + # tests for GetCommand + # base path: http://localhost:39109 + # Get a CLI command for the given job configuration. + # Get a CLI command for the given job configuration. + # @param job_submission JobSubmission + # @return [array[character]] + + # uncomment below to test the operation + #expect_equal(result, "EXPECTED_RESULT") +}) + test_that("GetDefaultJobConfig", { # tests for GetDefaultJobConfig # base path: http://localhost:8080 @@ -120,6 +132,17 @@ test_that("GetJobConfig", { #expect_equal(result, "EXPECTED_RESULT") }) +test_that("GetJobConfigNames", { + # tests for GetJobConfigNames + # base path: http://localhost:39109 + # [DEPRECATED] Get all (non-default) job configuration names + # [DEPRECATED] Get all (non-default) job configuration names <p> [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. + # @return [array[character]] + + # uncomment below to test the operation + #expect_equal(result, "EXPECTED_RESULT") +}) + test_that("GetJobConfigs", { # tests for GetJobConfigs # base path: http://localhost:8080 diff --git a/client-api_r/generated/tests/testthat/test_projects_api.R b/client-api_r/generated/tests/testthat/test_projects_api.R index c91bd1c4..fea4aa2e 100644 --- a/client-api_r/generated/tests/testthat/test_projects_api.R +++ b/client-api_r/generated/tests/testthat/test_projects_api.R @@ -22,6 +22,21 @@ test_that("CloseProject", { #expect_equal(result, "EXPECTED_RESULT") }) +test_that("CopyProject", { + # tests for CopyProject + # base path: http://localhost:39109 + # DEPRECATED: this endpoint is based on local file paths and will likely be removed in future versions of this API. + # [DEPRECATED] Move an existing (opened) project-space to another location. <p> [DEPRECATED] this endpoint is based on local file paths and will likely be removed in future versions of this API. + # @param project_id character unique name/identifier of the project-space that shall be copied. + # @param path_to_copied_project character target location where the source project will be copied to. + # @param copy_project_id character optional id/mame of the newly created project (copy). If given the project will be opened. (optional) + # @param opt_fields array[character] (optional) + # @return [ProjectInfo] + + # uncomment below to test the operation + #expect_equal(result, "EXPECTED_RESULT") +}) + test_that("CreateProject", { # tests for CreateProject # base path: http://localhost:8080 From 28f812a6facedeaf319d9b634eb7d82ab51c7b88 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 10:54:33 +0200 Subject: [PATCH 04/76] Auto-Updated OpenAPI Clients (#163) Co-authored-by: github-actions[bot] --- .updater/api/packageVersion.txt | 2 +- client-api_python/generated/PySirius/__init__.py | 2 +- client-api_python/generated/PySirius/api_client.py | 2 +- client-api_python/generated/PySirius/configuration.py | 2 +- client-api_python/generated/PySirius/sirius_api.py | 2 +- client-api_python/generated/README.md | 2 +- client-api_python/generated/pyproject.toml | 2 +- client-api_python/generated/setup.py | 2 +- client-api_r/generated/DESCRIPTION | 2 +- client-api_r/generated/R/api_client.R | 2 +- client-api_r/generated/README.md | 8 ++++---- 11 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.updater/api/packageVersion.txt b/.updater/api/packageVersion.txt index f3b5af39..dc0208ab 100644 --- a/.updater/api/packageVersion.txt +++ b/.updater/api/packageVersion.txt @@ -1 +1 @@ -6.1.1 +6.3.1 diff --git a/client-api_python/generated/PySirius/__init__.py b/client-api_python/generated/PySirius/__init__.py index fe9c6e25..7afb6234 100644 --- a/client-api_python/generated/PySirius/__init__.py +++ b/client-api_python/generated/PySirius/__init__.py @@ -12,7 +12,7 @@ """ # noqa: E501 -__version__ = "6.1.1" +__version__ = "6.3.1" # import apis into sdk package from PySirius.api.actuator_api import ActuatorApi diff --git a/client-api_python/generated/PySirius/api_client.py b/client-api_python/generated/PySirius/api_client.py index 40f9fff0..8d51a620 100644 --- a/client-api_python/generated/PySirius/api_client.py +++ b/client-api_python/generated/PySirius/api_client.py @@ -86,7 +86,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/6.1.1/python' + self.user_agent = 'OpenAPI-Generator/6.3.1/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/client-api_python/generated/PySirius/configuration.py b/client-api_python/generated/PySirius/configuration.py index a45650bd..4d000aa1 100644 --- a/client-api_python/generated/PySirius/configuration.py +++ b/client-api_python/generated/PySirius/configuration.py @@ -492,7 +492,7 @@ def to_debug_report(self) -> str: "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 3.1\n"\ - "SDK Package Version: 6.1.1".\ + "SDK Package Version: 6.3.1".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/client-api_python/generated/PySirius/sirius_api.py b/client-api_python/generated/PySirius/sirius_api.py index 75ad5fe7..7a9b7a46 100644 --- a/client-api_python/generated/PySirius/sirius_api.py +++ b/client-api_python/generated/PySirius/sirius_api.py @@ -8,7 +8,7 @@ class PySiriusAPI: def __init__(self, api_client): self.api_client = api_client - + def get_client(self): return self.api_client diff --git a/client-api_python/generated/README.md b/client-api_python/generated/README.md index b05174c5..8658b129 100644 --- a/client-api_python/generated/README.md +++ b/client-api_python/generated/README.md @@ -4,7 +4,7 @@ REST API that provides the full functionality of SIRIUS and its web services as This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 3.1 -- Package version: 6.1.1 +- Package version: 6.3.1 - Generator version: 7.10.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen diff --git a/client-api_python/generated/pyproject.toml b/client-api_python/generated/pyproject.toml index 35e10a56..bbe7c89c 100644 --- a/client-api_python/generated/pyproject.toml +++ b/client-api_python/generated/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "PySirius" -version = "6.1.1" +version = "6.3.1" description = "SIRIUS Nightsky API" authors = ["OpenAPI Generator Community "] license = "NoLicense" diff --git a/client-api_python/generated/setup.py b/client-api_python/generated/setup.py index 88504349..a35658d6 100644 --- a/client-api_python/generated/setup.py +++ b/client-api_python/generated/setup.py @@ -19,7 +19,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "PySirius" -VERSION = "6.1.1" +VERSION = "6.3.1" PYTHON_REQUIRES = ">= 3.8" REQUIRES = [ "urllib3 >= 1.25.3, < 3.0.0", diff --git a/client-api_r/generated/DESCRIPTION b/client-api_r/generated/DESCRIPTION index a6780db0..4a64d12f 100644 --- a/client-api_r/generated/DESCRIPTION +++ b/client-api_r/generated/DESCRIPTION @@ -1,6 +1,6 @@ Package: Rsirius Title: R Package Client for SIRIUS Nightsky API -Version: 6.1.1 +Version: 6.3.1 Author: person("OpenAPI Generator community", email = "team@openapitools.org", role = c("aut", "cre")) Maintainer: OpenAPI Generator community Description: REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 diff --git a/client-api_r/generated/R/api_client.R b/client-api_r/generated/R/api_client.R index 8aa87282..9d873c19 100644 --- a/client-api_r/generated/R/api_client.R +++ b/client-api_r/generated/R/api_client.R @@ -38,7 +38,7 @@ ApiClient <- R6::R6Class( # base path of all requests base_path = "http://localhost:8080", # user agent in the HTTP request - user_agent = "OpenAPI-Generator/6.1.1/r", + user_agent = "OpenAPI-Generator/6.3.1/r", # default headers in the HTTP request default_headers = NULL, # username (HTTP basic authentication) diff --git a/client-api_r/generated/README.md b/client-api_r/generated/README.md index 90ee3556..7ace8da4 100644 --- a/client-api_r/generated/README.md +++ b/client-api_r/generated/README.md @@ -6,7 +6,7 @@ REST API that provides the full functionality of SIRIUS and its web services as This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI spec](https://openapis.org) from a remote server, you can easily generate an API client. - API version: 3.1 -- Package version: 6.1.1 +- Package version: 6.3.1 - Generator version: 7.10.0 - Build package: org.openapitools.codegen.languages.RClientCodegen @@ -28,8 +28,8 @@ install.packages("base64enc") git clone https://github.com/GIT_USER_ID/GIT_REPO_ID cd GIT_REPO_ID R CMD build . -R CMD check Rsirius_6.1.1.tar.gz --no-manual -R CMD INSTALL --preclean Rsirius_6.1.1.tar.gz +R CMD check Rsirius_6.3.1.tar.gz --no-manual +R CMD INSTALL --preclean Rsirius_6.3.1.tar.gz ``` ### Install the package @@ -47,7 +47,7 @@ install_github("GIT_USER_ID/GIT_REPO_ID") To install the package from a local file: ```R -install.packages("Rsirius_6.1.1.tar.gz", repos = NULL, type = "source") +install.packages("Rsirius_6.3.1.tar.gz", repos = NULL, type = "source") ``` ### Usage From c1a6fbdfaefae949118b4f6f0ba8a9b6a35265eb Mon Sep 17 00:00:00 2001 From: joXemMx Date: Tue, 23 Sep 2025 11:41:22 +0200 Subject: [PATCH 05/76] adapt tests to work with new api --- client-api_python/generated/test/test_acceptance.py | 10 ++++------ .../generated/test/test_searchable_databases_api.py | 10 +++++++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/client-api_python/generated/test/test_acceptance.py b/client-api_python/generated/test/test_acceptance.py index 25537a88..0a939689 100644 --- a/client-api_python/generated/test/test_acceptance.py +++ b/client-api_python/generated/test/test_acceptance.py @@ -2,7 +2,7 @@ import os import time -from PySirius import SiriusSDK, AlignedFeatureOptField, FragmentationTree, FormulaCandidate +from PySirius import SiriusSDK, AlignedFeatureOptField, FragmentationTree, FormulaCandidate, JobState # a general purpose acceptance test that tests basic packe behaviour and can be used as blueprint for testing packages in CI/CD pipelines class TestAcceptance(unittest.TestCase): @@ -37,16 +37,14 @@ def test_simple_computation(self): job = api.jobs().start_job(project_id=ps_info.project_id, job_submission=job_sub) while True: - if api.jobs().get_job(ps_info.project_id, job.id).progress.state != 'DONE': - time.sleep(10) + if api.jobs().get_job(ps_info.project_id, job.id).progress.state is not JobState.DONE: + time.sleep(1) else: break - formula_candidate = api.features().get_aligned_feature(ps_info.project_id, feature_id, [AlignedFeatureOptField.TOPANNOTATIONS]).top_annotations.formula_annotation + formula_candidate = api.features().get_aligned_feature(ps_info.project_id, feature_id, opt_fields=["topAnnotations"]).top_annotations.formula_annotation tree = api.features().get_frag_tree(ps_info.project_id, feature_id, formula_candidate.formula_id) - print(tree.to_json()) - self.assertIsInstance(formula_candidate, FormulaCandidate) self.assertIsInstance(tree, FragmentationTree) self.assertEqual("C15H10O6", formula_candidate.molecular_formula) diff --git a/client-api_python/generated/test/test_searchable_databases_api.py b/client-api_python/generated/test/test_searchable_databases_api.py index d9bf7f59..dadec62a 100644 --- a/client-api_python/generated/test/test_searchable_databases_api.py +++ b/client-api_python/generated/test/test_searchable_databases_api.py @@ -15,21 +15,25 @@ from PySirius.api.searchable_databases_api import SearchableDatabasesApi from PySirius.exceptions import ServiceException from PySirius.models.searchable_database import SearchableDatabase +from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters + class TestSearchableDatabasesApi(unittest.TestCase): """SearchableDatabasesApi unit test stubs""" def setUp(self) -> None: - self.dbs = SiriusSDK().attach_or_start_sirius().databases() + self.api = SiriusSDK().attach_or_start_sirius() + self.dbs = self.api.databases() self.database_id = 'create_database' - self.create_response = self.dbs.create_database(self.database_id) + database_parameters = SearchableDatabaseParameters(display_name="test_db", location=f"{os.environ.get('HOME')}/test_db") + self.create_response = self.dbs.create_database(self.database_id, database_parameters) path_to_demo_data = f"{os.environ.get('HOME')}/sirius-client-openAPI/.updater/clientTests/Data" self.test_file = path_to_demo_data + "/Kaempferol.ms" def tearDown(self) -> None: - self.dbs.remove_database(self.database_id) + self.dbs.remove_database(self.database_id, True) def test_add_databases(self) -> None: """Test case for add_databases From 92852a44394868bbe6cb652aca967300c3f8fc13 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Tue, 23 Sep 2025 14:45:10 +0200 Subject: [PATCH 06/76] fill in missing tests --- .../generated/test/test_compounds_api.py | 5 +- .../generated/test/test_features_api.py | 114 +++++++++++------- .../generated/test/test_jobs_api.py | 38 +++--- .../generated/test/test_projects_api.py | 36 +++--- .../test/test_searchable_databases_api.py | 31 +++-- 5 files changed, 129 insertions(+), 95 deletions(-) diff --git a/client-api_python/generated/test/test_compounds_api.py b/client-api_python/generated/test/test_compounds_api.py index a4e7141f..bc4b983d 100644 --- a/client-api_python/generated/test/test_compounds_api.py +++ b/client-api_python/generated/test/test_compounds_api.py @@ -60,7 +60,7 @@ def setUp(self) -> None: compound_import_instance = CompoundImport.from_json(json.dumps(compound_import_json)) compound_import = [compound_import_instance] - self.api.compounds().add_compounds(self.project_id, compound_import) + self.add_response = self.api.compounds().add_compounds(self.project_id, compound_import) def tearDown(self) -> None: self.api.projects().close_project(self.project_id) @@ -71,7 +71,8 @@ def test_add_compounds(self) -> None: Import Compounds and its contained features. """ - pass + self.assertIsInstance(self.add_response, list) + self.assertIsInstance(self.add_response[0], Compound) def test_delete_compound(self) -> None: diff --git a/client-api_python/generated/test/test_features_api.py b/client-api_python/generated/test/test_features_api.py index 19a3e4db..c71cdc7d 100644 --- a/client-api_python/generated/test/test_features_api.py +++ b/client-api_python/generated/test/test_features_api.py @@ -10,12 +10,15 @@ import os import unittest +import json from PySirius import SiriusSDK, PagedModelAlignedFeature, PagedModelStructureCandidateScored, \ PagedModelStructureCandidateFormula, PagedModelFormulaCandidate, QuantTableExperimental, \ PagedModelSpectralLibraryMatch, TraceSetExperimental from PySirius.models.aligned_feature import AlignedFeature from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData +from PySirius.models.ms_data import MsData +from PySirius.models.feature_import import FeatureImport from PySirius.models.annotated_spectrum import AnnotatedSpectrum from PySirius.models.canopus_prediction import CanopusPrediction from PySirius.models.compound_classes import CompoundClasses @@ -37,7 +40,7 @@ def setUp(self) -> None: self.path_to_project = f"{os.environ.get('HOME')}/tomato_small.sirius" # check if test project already open -> allows to run tests in independent calls. if self.api.projects().get_project_without_preload_content(self.project_id).status == 404: - self.api.projects().open_project(self.project_id, self.path_to_project) + self.project_info = self.api.projects().open_project(self.project_id, self.path_to_project) # the single one ID with MSNovelist results computed self.aligned_feature_id = "586487307819356741" @@ -52,46 +55,52 @@ def test_add_aligned_features(self) -> None: Import (aligned) features into the project. """ - # # equals test_add_compounds - # simple_peak_json = { - # "mz": 1.23, - # "intensity": 1.23 - # } - # - # basic_spectrum_json = { - # "precursorMz": 1.23, - # "peaks": [ - # simple_peak_json - # ] - # } - # - # feature_import_json = { - # "name": "testfeature", - # "featureId": "testfeature", - # "ionMass": 1.23, - # "adduct": "[M+?]+", - # "ms1Spectra": [ - # basic_spectrum_json - # ], - # "ms2Spectra": [ - # basic_spectrum_json - # ] - # } - # - # feature_import_instance = FeatureImport.from_json(json.dumps(feature_import_json)) - # feature_import = [feature_import_instance] - # response = self.api.features().add_aligned_features(self.project_id, feature_import) - # self.api.features().delete_aligned_feature(self.project_id, response[0].aligned_feature_id) - # - # self.assertIsInstance(response, list) - # self.assertIsInstance(response[0], AlignedFeature) + project_info = self.api.projects().create_project(project_id="delete-project") + project_id = project_info.project_id + try: + simple_peak_json = { + "mz": 1.23, + "intensity": 1.23 + } + + basic_spectrum_json = { + "precursorMz": 1.23, + "peaks": [ + simple_peak_json + ] + } + + feature_import_json = { + "name": "testfeature", + "featureId": "testfeature", + "ionMass": 1.23, + "charge": 1, + "adduct": "[M+?]+", + "ms1Spectra": [ + basic_spectrum_json + ], + "ms2Spectra": [ + basic_spectrum_json + ] + } + + feature_import_instance = FeatureImport.from_json(json.dumps(feature_import_json)) + feature_import = [feature_import_instance] + response = self.api.features().add_aligned_features(project_id, feature_import) + self.api.features().delete_aligned_feature(project_id, response[0].aligned_feature_id) + + self.assertIsInstance(response, list) + self.assertIsInstance(response[0], AlignedFeature) + finally: + self.api.projects().close_project(project_id) + os.remove(project_info.location) def test_delete_aligned_feature(self) -> None: """Test case for delete_aligned_feature Delete feature (aligned over runs) with the given identifier from the specified project-space. """ - project_info = self.api.projects().create_project(project_id="delete-project") + project_info = self.api.projects().create_project(project_id="delete-feature-project") project_id = project_info.project_id try: path_to_demo_data = f"{os.environ.get('HOME')}/sirius-client-openAPI/.updater/clientTests/Data" @@ -122,7 +131,30 @@ def test_delete_aligned_features(self) -> None: Delete feature (aligned over runs) with the given identifier from the specified project-space. """ - pass + project_info = self.api.projects().create_project(project_id="delete-features-project") + project_id = project_info.project_id + try: + path_to_demo_data = f"{os.environ.get('HOME')}/sirius-client-openAPI/.updater/clientTests/Data" + preproc_ms2_file_1 = path_to_demo_data + "/Kaempferol.ms" + preproc_ms2_file_2 = path_to_demo_data + "/laudanosine.mgf" + input_files = [preproc_ms2_file_1, preproc_ms2_file_2] + import_result = self.api.projects().import_preprocessed_data(project_id, input_files=input_files) + feature_ids = import_result.affected_aligned_feature_ids + + response_before = self.api.features().get_aligned_features(project_id) + self.api.features().delete_aligned_features(project_id, feature_ids) + response_after = self.api.features().get_aligned_features(project_id) + + self.assertIsInstance(response_before, list) + self.assertIsInstance(response_before[0], AlignedFeature) + + self.assertIsInstance(response_after, list) + self.assertEqual(len(response_after), 0) + + self.assertEqual(len(response_before) - len(response_after), 2) + finally: + self.api.projects().close_project(project_id) + os.remove(project_info.location) def test_get_aligned_feature(self) -> None: """Test case for get_aligned_feature @@ -285,17 +317,15 @@ def test_get_ms_data(self) -> None: Mass Spec data (input data) for the given 'alignedFeatureId' . """ - # # pydantic_core._pydantic_core.ValidationError: 1 validation error for MsData - # # ms1Spectra - # # Input should be a valid list [type=list_type, input_value=None, input_type=NoneType] - # response = self.api.features().get_ms_data(self.project_id, self.aligned_feature_id) - # self.assertIsInstance(response, MsData) + response = self.api.features().get_ms_data(self.project_id, self.aligned_feature_id) + self.assertIsInstance(response, MsData) def test_get_spectral_library_match(self) -> None: """Test case for get_spectral_library_match List of spectral library matches for the given 'alignedFeatureId'. """ + # TODO have to library match in projectspace pass def test_get_spectral_library_matches(self) -> None: @@ -305,6 +335,7 @@ def test_get_spectral_library_matches(self) -> None: """ response = self.api.features().get_spectral_library_matches(self.project_id, self.aligned_feature_id) self.assertIsInstance(response, list) + # TODO have to library match in projectspace # self.assertIsInstance(response[0], SpectralLibraryMatch) def test_get_spectral_library_matches_paged(self) -> None: @@ -360,5 +391,6 @@ def test_get_structure_candidates_paged(self) -> None: response = self.api.features().get_structure_candidates_paged(self.project_id, self.aligned_feature_id) self.assertIsInstance(response, PagedModelStructureCandidateFormula) + if __name__ == '__main__': unittest.main() diff --git a/client-api_python/generated/test/test_jobs_api.py b/client-api_python/generated/test/test_jobs_api.py index 7c38e9bf..8c70112c 100644 --- a/client-api_python/generated/test/test_jobs_api.py +++ b/client-api_python/generated/test/test_jobs_api.py @@ -17,6 +17,7 @@ import PySirius from PySirius import PySiriusAPI, SiriusSDK, StoredJobSubmission from PySirius.models.job import Job +from PySirius.models.job_state import JobState from PySirius.models.paged_model_job import PagedModelJob from PySirius.models.job_submission import JobSubmission @@ -49,11 +50,9 @@ def test_delete_job(self) -> None: Delete job. """ response_before = self.api.jobs().get_jobs(self.project_id) - print(response_before) self.api.jobs().delete_job(self.project_id, response_before[0].id, cancel_if_running=True, await_deletion=True) for i in range(0,1000): if len(self.api.jobs().get_jobs(self.project_id)) > 0: - print(self.api.jobs().get_jobs(self.project_id)) time.sleep(0.1) else: break response_after = self.api.jobs().get_jobs(self.project_id) @@ -101,7 +100,10 @@ def test_get_command(self) -> None: Get a CLI command for the given job configuration. """ - pass + config = self.api.jobs().get_default_job_config() + response = self.api.jobs().get_command(config) + self.assertIsInstance(response, list) + self.assertIsInstance(response[0], str) def test_get_default_job_config(self) -> None: """Test case for get_default_job_config @@ -134,13 +136,6 @@ def test_get_job_config(self) -> None: self.assertIsInstance(response, StoredJobSubmission) - def test_get_job_config_names(self) -> None: - """Test case for get_job_config_names - - [DEPRECATED] Get all (non-default) job configuration names - """ - pass - def test_get_job_configs(self) -> None: """Test case for get_job_configs @@ -215,11 +210,14 @@ def test_start_job(self) -> None: } job_submission = JobSubmission.from_json(json.dumps(job_submission_json)) response = self.api.jobs().start_job(self.project_id, job_submission) - # time.sleep(3) + + while True: + if self.api.jobs().get_job(self.project_id, response.id).progress.state is not JobState.DONE: + time.sleep(1) + else: + break self.assertIsInstance(response, Job) - # # TODO find substitute for this line for SIRIUS6 - # self.assertTrue(os.path.exists(self.path_to_project + "/" + aligned_feature_id + "/scores")) def test_start_job_from_config(self) -> None: """Test case for start_job_from_config @@ -241,15 +239,17 @@ def test_start_job_from_config(self) -> None: sirius_json } job_submission = JobSubmission.from_json(json.dumps(job_submission_json)) - self.api.jobs().save_job_config(config_name, job_submission) + self.api.jobs().save_job_config(config_name, job_submission, True) response = self.api.jobs().start_job_from_config(self.project_id, config_name, [aligned_feature_id]) - # time.sleep(3) - self.api.jobs().delete_job_config(config_name) - self.assertIsInstance(response, Job) - # # TODO find substitute for this line for SIRIUS6 - # self.assertTrue(os.path.exists(self.path_to_project + "/" + aligned_feature_id + "/scores")) + while True: + if self.api.jobs().get_job(self.project_id, response.id).progress.state is not JobState.DONE: + time.sleep(1) + else: + break + self.api.jobs().delete_job_config(config_name) + self.assertIsInstance(response, Job) if __name__ == '__main__': unittest.main() diff --git a/client-api_python/generated/test/test_projects_api.py b/client-api_python/generated/test/test_projects_api.py index 74b0e7e4..359d837d 100644 --- a/client-api_python/generated/test/test_projects_api.py +++ b/client-api_python/generated/test/test_projects_api.py @@ -48,14 +48,14 @@ def test_close_project(self) -> None: Close project-space and remove it from application """ - pass - - def test_copy_project(self) -> None: - """Test case for copy_project - - DEPRECATED: this endpoint is based on local file paths and will likely be removed in future versions of this API. - """ - pass + project_info = self.api.projects().create_project(project_id="test-close-project") + try: + before = len(self.projects.get_projects()) + self.api.projects().close_project(project_info.project_id) + after = len(self.projects.get_projects()) + self.assertEqual(before, after+1) + finally: + os.remove(project_info.location) def test_create_project(self) -> None: """Test case for create_project @@ -110,20 +110,24 @@ def test_import_ms_run_data(self) -> None: Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) """ - input_files = [self.full_ms_file] - parameters = LcmsSubmissionParameters(align_lcms_runs=False) - response = self.projects.import_ms_run_data(project_id=self.project_id, parameters=parameters, input_files=input_files) - self.assertIsInstance(response, ImportResult) + # TODO this still has API side issues + # input_files = [self.full_ms_file] + # parameters = LcmsSubmissionParameters(align_lcms_runs=False) + # response = self.projects.import_ms_run_data(project_id=self.project_id, parameters=parameters, input_files=input_files) + # self.assertIsInstance(response, ImportResult) + pass def test_import_ms_run_data_as_job(self) -> None: """Test case for import_ms_run_data_as_job Import and Align full MS-Runs from various formats into the specified project as background job. """ - input_files = [self.full_ms_file] - parameters = LcmsSubmissionParameters(align_lcms_runs=False) - response = self.projects.import_ms_run_data_as_job(project_id=self.project_id, parameters=parameters, input_files=input_files) - self.assertIsInstance(response, Job) + # TODO this still has API side issues + # input_files = [self.full_ms_file] + # parameters = LcmsSubmissionParameters(align_lcms_runs=False) + # response = self.projects.import_ms_run_data_as_job(project_id=self.project_id, parameters=parameters, input_files=input_files) + # self.assertIsInstance(response, Job) + pass def test_import_preprocessed_data(self) -> None: """Test case for import_preprocessed_data diff --git a/client-api_python/generated/test/test_searchable_databases_api.py b/client-api_python/generated/test/test_searchable_databases_api.py index dadec62a..c596879a 100644 --- a/client-api_python/generated/test/test_searchable_databases_api.py +++ b/client-api_python/generated/test/test_searchable_databases_api.py @@ -26,8 +26,8 @@ def setUp(self) -> None: self.api = SiriusSDK().attach_or_start_sirius() self.dbs = self.api.databases() self.database_id = 'create_database' - database_parameters = SearchableDatabaseParameters(display_name="test_db", location=f"{os.environ.get('HOME')}/test_db") - self.create_response = self.dbs.create_database(self.database_id, database_parameters) + self.database_parameters = SearchableDatabaseParameters(display_name="test_db", location=f"{os.environ.get('HOME')}/test_db.siriusdb") + self.create_response = self.dbs.create_database(self.database_id, self.database_parameters) path_to_demo_data = f"{os.environ.get('HOME')}/sirius-client-openAPI/.updater/clientTests/Data" self.test_file = path_to_demo_data + "/Kaempferol.ms" @@ -35,13 +35,6 @@ def setUp(self) -> None: def tearDown(self) -> None: self.dbs.remove_database(self.database_id, True) - def test_add_databases(self) -> None: - """Test case for add_databases - - """ - # DEPRECATED - pass - def test_create_database(self) -> None: """Test case for create_database @@ -91,19 +84,23 @@ def test_remove_database(self) -> None: """Test case for remove_database """ - pass + remove_database_id = 'remove_database' + database_parameters = SearchableDatabaseParameters(display_name="test_remove_db", + location=f"{os.environ.get('HOME')}/test_remove_db") + self.create_response = self.dbs.create_database(remove_database_id, database_parameters) + before = len(self.dbs.get_databases()) + self.dbs.remove_database(remove_database_id, True) + after = len(self.dbs.get_databases()) + self.assertEqual(before, after+1) def test_update_database(self) -> None: """Test case for update_database """ - try: - response = self.dbs.update_database_with_http_info(self.database_id) - # self.assertIsInstance(response, SearchableDatabase) - except ServiceException as ex: - # Updating Custom databases is not yet supported - self.assertTrue('UnsupportedOperationException' in ex.body, 'UnsupportedOperationException not found!') - self.assertEqual(ex.status, 500, 'Status is not 500!') + # TODO not yet supported + # response = self.dbs.update_database(self.database_id) + # self.assertIsInstance(response, SearchableDatabase) + pass if __name__ == '__main__': unittest.main() From e9ed9903be3d85e0103b19eded92d12b507483ee Mon Sep 17 00:00:00 2001 From: joXemMx Date: Thu, 25 Sep 2025 19:24:06 +0200 Subject: [PATCH 07/76] adjust all R tests, add R acceptance test --- .../tests/testthat/test_acceptance.R | 44 ++++++++ .../tests/testthat/test_actuator_api.R | 4 +- .../tests/testthat/test_compounds_api.R | 16 +-- .../tests/testthat/test_features_api.R | 94 ++++++++-------- .../generated/tests/testthat/test_info_api.R | 4 +- .../generated/tests/testthat/test_jobs_api.R | 102 ++++++++++++------ .../testthat/test_login_and_account_api.R | 4 +- .../tests/testthat/test_projects_api.R | 62 +++++------ .../testthat/test_searchable_databases_api.R | 53 +++++---- 9 files changed, 235 insertions(+), 148 deletions(-) create mode 100644 client-api_r/generated/tests/testthat/test_acceptance.R diff --git a/client-api_r/generated/tests/testthat/test_acceptance.R b/client-api_r/generated/tests/testthat/test_acceptance.R new file mode 100644 index 00000000..9ac7e495 --- /dev/null +++ b/client-api_r/generated/tests/testthat/test_acceptance.R @@ -0,0 +1,44 @@ +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate + +context("Test Acceptance") +options(warn=-1) + +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$jobs_api +features_api <- api$features_api +projects_api <- api$projects_api +path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") +input_file = paste(path_to_demo_data, "Kaempferol.ms", sep="/") + +test_that("Test Acceptance", { + project_id <- "AcceptanceTest" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) + Sys.sleep(1) + + job_submission <- api_instance$GetDefaultJobConfig() + job_submission$zodiacParams$enabled <- FALSE + job_submission$fingerprintPredictionParams$enabled <- FALSE + job_submission$canopusParams$enabled <- FALSE + job_submission$structureDbSearchParams$enabled <- FALSE + job_submission$msNovelistParams$enabled <- FALSE + job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) + + response <- api_instance$StartJob(project_id, job_submission) + while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { + Sys.sleep(1) + } + + formula_candidate <- features_api$GetAlignedFeature(project_id, job_submission$alignedFeatureIds[[1]], opt_fields=list("topAnnotations"))$topAnnotations$formulaAnnotation + tree <- features_api$GetFragTree(project_id, job_submission$alignedFeatureIds[[1]], formula_candidate$formulaId) + + expect_true(inherits(formula_candidate, "FormulaCandidate")) + expect_true(inherits(tree, "FragmentationTree")) + expect_equal("C15H10O6", formula_candidate$molecularFormula) + + withr::defer(projects_api$CloseProject(project_id)) + withr::defer(unlink(project_dir, recursive=TRUE)) +}) diff --git a/client-api_r/generated/tests/testthat/test_actuator_api.R b/client-api_r/generated/tests/testthat/test_actuator_api.R index 651368c3..f46e1746 100644 --- a/client-api_r/generated/tests/testthat/test_actuator_api.R +++ b/client-api_r/generated/tests/testthat/test_actuator_api.R @@ -3,7 +3,9 @@ context("Test ActuatorApi") -api_instance <- ActuatorApi$new() +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$actuator_api test_that("Health", { # tests for Health diff --git a/client-api_r/generated/tests/testthat/test_compounds_api.R b/client-api_r/generated/tests/testthat/test_compounds_api.R index 84e031c2..c5863b04 100644 --- a/client-api_r/generated/tests/testthat/test_compounds_api.R +++ b/client-api_r/generated/tests/testthat/test_compounds_api.R @@ -3,8 +3,10 @@ context("Test CompoundsApi") -api_instance <- CompoundsApi$new() -projects_api <- ProjectsApi$new() +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$compounds_api +projects_api <- api$projects_api basic_spectrum <- c(BasicSpectrum$new(peaks = c(SimplePeak$new(1.23, 4.56)), precursorMz = 1.23)) feature_import <- c(FeatureImport$new(ionMass = 1.23, charge = 1, ms1Spectra = basic_spectrum, ms2Spectra = basic_spectrum)) @@ -22,7 +24,7 @@ test_that("AddCompounds", { # @return [array[Compound]] project_id <- "AddCompounds" - project_dir <- paste(Sys.getenv("HOME"), "AddCompounds", sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) response <- api_instance$AddCompounds(project_id, compound_import) @@ -43,7 +45,7 @@ test_that("DeleteCompound", { # @return [Void] project_id <- "DeleteCompound" - project_dir <- paste(Sys.getenv("HOME"), "DeleteCompound", sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) api_instance$AddCompounds(project_id, compound_import) compound_id <- api_instance$GetCompounds(project_id)[[1]]$compoundId @@ -70,7 +72,7 @@ test_that("GetCompound", { # @return [Compound] project_id <- "GetCompound" - project_dir <- paste(Sys.getenv("HOME"), "GetCompound", sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) api_instance$AddCompounds(project_id, compound_import) compound_id <- api_instance$GetCompounds(project_id)[[1]]$compoundId @@ -93,7 +95,7 @@ test_that("GetCompounds", { # @return [array[Compound]] project_id <- "GetCompounds" - project_dir <- paste(Sys.getenv("HOME"), "GetCompounds", sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) api_instance$AddCompounds(project_id, compound_import) @@ -119,7 +121,7 @@ test_that("GetCompoundsPaged", { # @return [PageCompound] project_id <- "GetCompoundsPaged" - project_dir <- paste(Sys.getenv("HOME"), "GetCompoundsPaged", sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) response <- api_instance$GetCompoundsPaged(project_id) diff --git a/client-api_r/generated/tests/testthat/test_features_api.R b/client-api_r/generated/tests/testthat/test_features_api.R index 95aa4b79..efbb9880 100644 --- a/client-api_r/generated/tests/testthat/test_features_api.R +++ b/client-api_r/generated/tests/testthat/test_features_api.R @@ -4,13 +4,16 @@ context("Test FeaturesApi") options(warn=-1) -api_instance <- FeaturesApi$new() -projects_api <- ProjectsApi$new() +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$features_api +projects_api <- api$projects_api path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") preproc_ms2_file_1 = paste(path_to_demo_data, "Kaempferol.ms", sep="/") preproc_ms2_file_2 = paste(path_to_demo_data, "laudanosine.mgf", sep="/") +aligned_feature_id <- "586487307819356741" tomato_project <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep="/") basic_spectrum <- c(BasicSpectrum$new(peaks = c(SimplePeak$new(1.23, 4.56)), precursorMz = 1.23)) feature_import <- c(FeatureImport$new(name = "testfeature", feature_id = "testfeature", ionMass = 1.23, adduct = "[M+?]+", ms1Spectra = basic_spectrum, ms2Spectra = basic_spectrum)) @@ -31,8 +34,17 @@ test_that("AddAlignedFeatures", { # @param opt_fields array[AlignedFeatureOptField] set of optional fields to be included. Use 'none' to override defaults. (optional) # @return [array[AlignedFeature]] - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") + project_id <- "AddAlignedFeatures" + + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + project_info <- projects_api$CreateProject(project_id, project_dir) + + response <- api_instance$AddAlignedFeatures(project_id, feature_import) + + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "AlignedFeature")) + withr::defer(projects_api$CloseProject(project_id)) + withr::defer(delete_if_exists(project_info$location)) }) test_that("DeleteAlignedFeature", { @@ -48,7 +60,7 @@ test_that("DeleteAlignedFeature", { # we create a new project since we cannot just add data to an existing # project that is of different data type like tomato - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") project_info <- projects_api$CreateProject(project_id, project_dir) var_input_files <- preproc_ms2_file_1 @@ -73,8 +85,24 @@ test_that("DeleteAlignedFeatures", { # @param request_body array[character] # @return [Void] - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") + project_id <- "DeleteAlignedFeatures" + + # we create a new project since we cannot just add data to an existing + # project that is of different data type like tomato + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + project_info <- projects_api$CreateProject(project_id, project_dir) + + var_input_files <- preproc_ms2_file_1 + import <- projects_api$ImportPreprocessedData(project_id, input_files=var_input_files) + feature_id <- import$affectedAlignedFeatureIds[[1]] + + response_before <- api_instance$GetAlignedFeatures(project_id) + api_instance$DeleteAlignedFeatures(project_id, list(feature_id)) + response_after <- api_instance$GetAlignedFeatures(project_id) + + expect_equal(length(response_before) - length(response_after), 1) + withr::defer(projects_api$CloseProject(project_id)) + withr::defer(delete_if_exists(project_info$location)) }) test_that("GetAlignedFeature", { @@ -86,12 +114,10 @@ test_that("GetAlignedFeature", { # @param aligned_feature_id character identifier of feature (aligned over runs) to access. # @param opt_fields array[AlignedFeatureOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [AlignedFeature] - - project_id <- "GetAlignedFeature" + project_id <- "GetAlignedFeatures" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - response <- api_instance$GetAlignedFeature(project_id, aligned_feature_id, c("none")) + response <- api_instance$GetAlignedFeature(project_id, aligned_feature_id) expect_true(inherits(response, "AlignedFeature")) withr::defer(projects_api$CloseProject(project_id)) @@ -148,7 +174,6 @@ test_that("GetBestMatchingCompoundClasses", { project_id <- "GetFormulaCandidate" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <-api_instance$GetBestMatchingCompoundClasses(project_id, aligned_feature_id, formula_id) @@ -169,7 +194,6 @@ test_that("GetCanopusPrediction", { project_id <- "GetCanopusPrediction" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <-api_instance$GetCanopusPrediction(project_id, aligned_feature_id, formula_id) @@ -190,8 +214,7 @@ test_that("GetDeNovoStructureCandidates", { project_id <- "GetDeNovoStructureCandidatesByFormula" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- "586487307819356741" - + response <- api_instance$GetDeNovoStructureCandidates(project_id, aligned_feature_id) expect_true(inherits(response, "list")) expect_true(inherits(response[[1]], "StructureCandidateFormula")) @@ -212,7 +235,6 @@ test_that("GetDeNovoStructureCandidatesByFormula", { project_id <- "GetDeNovoStructureCandidatesByFormula" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- "586487307819356741" formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <- api_instance$GetDeNovoStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id) @@ -238,7 +260,6 @@ test_that("GetDeNovoStructureCandidatesByFormulaPaged", { project_id <- "GetDeNovoStructureCandidatesByFormulaPaged" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- "586487307819356741" formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <- api_instance$GetDeNovoStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id) @@ -262,8 +283,7 @@ test_that("GetDeNovoStructureCandidatesPaged", { project_id <- "GetDeNovoStructureCandidatesPaged" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- "586487307819356741" - + response <- api_instance$GetDeNovoStructureCandidatesPaged(project_id, aligned_feature_id) expect_true(inherits(response, "PagedModelStructureCandidateFormula")) @@ -282,7 +302,6 @@ test_that("GetFingerprintPrediction", { project_id <- "GetFingerprintPrediction" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <-api_instance$GetFingerprintPrediction(project_id, aligned_feature_id, formula_id) @@ -304,7 +323,6 @@ test_that("GetFormulaAnnotatedMsMsData", { project_id <- "GetFormulaAnnotatedMsMsData" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <-api_instance$GetFormulaAnnotatedMsMsData(project_id, aligned_feature_id, formula_id) @@ -326,7 +344,6 @@ test_that("GetFormulaAnnotatedSpectrum", { project_id <- "GetFormulaAnnotatedSpectrum" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <-api_instance$GetFormulaAnnotatedSpectrum(project_id, aligned_feature_id, formula_id) @@ -348,7 +365,6 @@ test_that("GetFormulaCandidate", { project_id <- "GetFormulaCandidate" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <-api_instance$GetFormulaCandidate(project_id, aligned_feature_id, formula_id) @@ -369,8 +385,7 @@ test_that("GetFormulaCandidates", { project_id <- "GetFormulaCandidates" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - + response <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id) expect_true(inherits(response, "list")) expect_true(inherits(response[[1]], "FormulaCandidate")) @@ -393,8 +408,7 @@ test_that("GetFormulaCandidatesPaged", { project_id <- "GetFormulaCandidatesPaged" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - + response <- api_instance$GetFormulaCandidatesPaged(project_id, aligned_feature_id) expect_true(inherits(response, "PagedModelFormulaCandidate")) @@ -413,7 +427,6 @@ test_that("GetFragTree", { project_id <- "GetFragTree" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <- api_instance$GetFragTree(project_id, aligned_feature_id, formula_id) @@ -434,7 +447,6 @@ test_that("GetIsotopePatternAnnotation", { project_id <- "GetIsotopePatternAnnotation" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <- api_instance$GetIsotopePatternAnnotation(project_id, aligned_feature_id, formula_id) @@ -455,7 +467,6 @@ test_that("GetLipidAnnotation", { project_id <- "GetLipidAnnotation" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <- api_instance$GetLipidAnnotation(project_id, aligned_feature_id, formula_id) @@ -475,8 +486,7 @@ test_that("GetMsData", { project_id <- "GetMsData" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - + response <- api_instance$GetMsData(project_id, aligned_feature_id) expect_true(inherits(response, "MsData")) @@ -497,8 +507,7 @@ test_that("GetSpectralLibraryMatch", { # # TODO seems like there are none # project_id <- "GetSpectralLibraryMatch" # projects_api$OpenProject(project_id, tomato_project) -# aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId -# match_id <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id)[[1]]$matchId +# # match_id <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id)[[1]]$matchId # # response <- api_instance$GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id) # expect_true(inherits(response, "list")) @@ -523,8 +532,7 @@ test_that("GetSpectralLibraryMatches", { # # TODO seems like there are none # project_id <- "GetSpectralLibraryMatches" # projects_api$OpenProject(project_id, tomato_project) -# aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId -# +# # # response <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id) # expect_true(inherits(response, "list")) # expect_true(inherits(response[[1]], "SpectralLibraryMatch")) @@ -550,8 +558,7 @@ test_that("GetSpectralLibraryMatchesPaged", { project_id <- "GetSpectralLibraryMatchesPaged" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - + response <- api_instance$GetSpectralLibraryMatchesPaged(project_id, aligned_feature_id) expect_true(inherits(response, "PagedModelSpectralLibraryMatch")) @@ -572,8 +579,7 @@ test_that("GetSpectralLibraryMatchesSummary", { project_id <- "GetSpectralLibraryMatchesSummary" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - + response <- api_instance$GetSpectralLibraryMatchesSummary(project_id, aligned_feature_id) expect_true(inherits(response, "SpectralLibraryMatchSummary")) @@ -592,8 +598,7 @@ test_that("GetStructureCandidates", { project_id <- "GetStructureCandidates" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - + response <- api_instance$GetStructureCandidates(project_id, aligned_feature_id) expect_true(inherits(response, "list")) expect_true(inherits(response[[1]], "StructureCandidateFormula")) @@ -614,7 +619,6 @@ test_that("GetStructureCandidatesByFormula", { project_id <- "GetStructureCandidatesByFormula" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <- api_instance$GetStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id) @@ -640,7 +644,6 @@ test_that("GetStructureCandidatesByFormulaPaged", { project_id <- "GetStructureCandidatesByFormulaPaged" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId response <- api_instance$GetStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id) @@ -664,8 +667,7 @@ test_that("GetStructureCandidatesPaged", { project_id <- "GetStructureCandidatesPaged" projects_api$OpenProject(project_id, tomato_project) - aligned_feature_id <- api_instance$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId - + response <- api_instance$GetStructureCandidatesPaged(project_id, aligned_feature_id) expect_true(inherits(response, "PagedModelStructureCandidateFormula")) diff --git a/client-api_r/generated/tests/testthat/test_info_api.R b/client-api_r/generated/tests/testthat/test_info_api.R index 7f8b8887..45b367d5 100644 --- a/client-api_r/generated/tests/testthat/test_info_api.R +++ b/client-api_r/generated/tests/testthat/test_info_api.R @@ -3,7 +3,9 @@ context("Test InfoApi") -api_instance <- InfoApi$new() +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$info_api test_that("GetConnectionCheck", { # tests for GetConnectionCheck diff --git a/client-api_r/generated/tests/testthat/test_jobs_api.R b/client-api_r/generated/tests/testthat/test_jobs_api.R index 91439fea..8dab55a4 100644 --- a/client-api_r/generated/tests/testthat/test_jobs_api.R +++ b/client-api_r/generated/tests/testthat/test_jobs_api.R @@ -4,9 +4,11 @@ context("Test JobsApi") options(warn=-1) -api_instance <- JobsApi$new() -features_api <- FeaturesApi$new() -projects_api <- ProjectsApi$new() +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$jobs_api +features_api <- api$features_api +projects_api <- api$projects_api path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") input_file = paste(path_to_demo_data, "Kaempferol.ms", sep="/") @@ -23,7 +25,7 @@ test_that("DeleteJob", { # @return [Void] project_id <- "DeleteJob" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) @@ -44,8 +46,21 @@ test_that("DeleteJobConfig", { # @param name character name of the job-config to delete # @return [Void] - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") +# project_id <- "DeleteJobConfig" +# project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") +# projects_api$CreateProject(project_id, project_dir) +# +# config_name <- project_id +# config <- api_instance$GetDefaultJobConfig(TRUE) +# api_instance$SaveJobConfig(config_name, config, override_existing=TRUE) +# +# response_before <- api_instance$GetJobConfigs(project_id) +# api_instance$DeleteJobConfig(config_name) +# response_after <- api_instance$GetJobConfigs(project_id) +# expect_equal(length(response_before), length(response_after)+1) +# +# withr::defer(projects_api$CloseProject(project_id)) +# withr::defer(unlink(project_dir, recursive=TRUE)) }) test_that("DeleteJobs", { @@ -59,7 +74,7 @@ test_that("DeleteJobs", { # @return [Void] project_id <- "DeleteJob" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) @@ -80,8 +95,11 @@ test_that("GetCommand", { # @param job_submission JobSubmission # @return [array[character]] - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") + default_config <- api_instance$GetDefaultJobConfig(TRUE) + response <- api_instance$GetCommand(default_config) + + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "character")) }) test_that("GetDefaultJobConfig", { @@ -107,7 +125,7 @@ test_that("GetJob", { # @return [Job] project_id <- "GetJob" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) job_id <- api_instance$GetJobs(project_id)[[1]]$id @@ -128,19 +146,14 @@ test_that("GetJobConfig", { # @param include_config_map character if true the generic configmap will be part of the output (optional) # @return [JobSubmission] - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") -}) + config_name <- "GetJobConfig" + job_submission <- api_instance$GetDefaultJobConfig(TRUE) + api_instance$SaveJobConfig(config_name, job_submission, TRUE) -test_that("GetJobConfigNames", { - # tests for GetJobConfigNames - # base path: http://localhost:39109 - # [DEPRECATED] Get all (non-default) job configuration names - # [DEPRECATED] Get all (non-default) job configuration names <p> [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. - # @return [array[character]] + response <- api_instance$GetJobConfig(config_name) - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") + expect_true(inherits(response, "StoredJobSubmission")) + expect_equal(response$name, config_name) }) test_that("GetJobConfigs", { @@ -156,6 +169,7 @@ test_that("GetJobConfigs", { api_instance$SaveJobConfig(config_name, job_submission, TRUE) response <- api_instance$GetJobConfigs() + expect_true(inherits(response, "list")) expect_true(inherits(response[[1]], "StoredJobSubmission")) }) @@ -170,7 +184,7 @@ test_that("GetJobs", { # @return [array[Job]] project_id <- "GetJobs" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) @@ -195,7 +209,7 @@ test_that("GetJobsPaged", { # @return [PageJob] project_id <- "GetJobsPaged" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) @@ -214,7 +228,7 @@ test_that("HasJobs", { # @return [character] project_id <- "HasJobs" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) @@ -240,7 +254,6 @@ test_that("SaveJobConfig", { response <- api_instance$SaveJobConfig(config_name, job_submission, TRUE) expect_true(inherits(response, "StoredJobSubmission")) expect_equal(response$name, config_name) - # todo add check whether config can be requested }) test_that("StartJob", { @@ -254,21 +267,24 @@ test_that("StartJob", { # @return [Job] project_id <- "StartJob" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") projects_api$CreateProject(project_id, project_dir) - projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) Sys.sleep(1) - + job_submission <- api_instance$GetDefaultJobConfig() - job_submission$zodiacParams$enabled <- FALSE job_submission$fingerprintPredictionParams$enabled <- FALSE job_submission$canopusParams$enabled <- FALSE job_submission$structureDbSearchParams$enabled <- FALSE job_submission$msNovelistParams$enabled <- FALSE job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) - + response <- api_instance$StartJob(project_id, job_submission) + while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { + Sys.sleep(1) + } + expect_true(inherits(response, "Job")) withr::defer(projects_api$CloseProject(project_id)) @@ -287,6 +303,28 @@ test_that("StartJobFromConfig", { # @param opt_fields array[JobOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [Job] - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") + project_id <- "StartJobFromConfig" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) + Sys.sleep(1) + + job_submission <- api_instance$GetDefaultJobConfig() + job_submission$zodiacParams$enabled <- FALSE + job_submission$fingerprintPredictionParams$enabled <- FALSE + job_submission$canopusParams$enabled <- FALSE + job_submission$structureDbSearchParams$enabled <- FALSE + job_submission$msNovelistParams$enabled <- FALSE + job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) + + api_instance$SaveJobConfig(project_id, job_submission, TRUE) + response <- api_instance$StartJobFromConfig(project_id, project_id, job_submission$alignedFeatureIds) + while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { + Sys.sleep(1) + } + + expect_true(inherits(response, "Job")) + + withr::defer(projects_api$CloseProject(project_id)) + withr::defer(unlink(project_dir, recursive=TRUE)) }) diff --git a/client-api_r/generated/tests/testthat/test_login_and_account_api.R b/client-api_r/generated/tests/testthat/test_login_and_account_api.R index 4857d494..222f1aa3 100644 --- a/client-api_r/generated/tests/testthat/test_login_and_account_api.R +++ b/client-api_r/generated/tests/testthat/test_login_and_account_api.R @@ -3,7 +3,9 @@ context("Test LoginAndAccountApi") -api_instance <- LoginAndAccountApi$new() +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$login_and_account_api test_that("GetAccountInfo", { # tests for GetAccountInfo diff --git a/client-api_r/generated/tests/testthat/test_projects_api.R b/client-api_r/generated/tests/testthat/test_projects_api.R index fea4aa2e..3042e8d0 100644 --- a/client-api_r/generated/tests/testthat/test_projects_api.R +++ b/client-api_r/generated/tests/testthat/test_projects_api.R @@ -3,7 +3,9 @@ context("Test ProjectsApi") -api_instance <- ProjectsApi$new() +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$projects_api path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") preproc_ms2_file_1 = paste(path_to_demo_data, "Kaempferol.ms", sep="/") preproc_ms2_file_2 = paste(path_to_demo_data, "laudanosine.mgf", sep="/") @@ -18,23 +20,17 @@ test_that("CloseProject", { # @param project_id character unique name/identifier of the project-space to be closed. # @return [Void] - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") -}) + project_id <- "CloseProject" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") -test_that("CopyProject", { - # tests for CopyProject - # base path: http://localhost:39109 - # DEPRECATED: this endpoint is based on local file paths and will likely be removed in future versions of this API. - # [DEPRECATED] Move an existing (opened) project-space to another location. <p> [DEPRECATED] this endpoint is based on local file paths and will likely be removed in future versions of this API. - # @param project_id character unique name/identifier of the project-space that shall be copied. - # @param path_to_copied_project character target location where the source project will be copied to. - # @param copy_project_id character optional id/mame of the newly created project (copy). If given the project will be opened. (optional) - # @param opt_fields array[character] (optional) - # @return [ProjectInfo] + api_instance$CreateProject(project_id, project_dir) + response_before <- api_instance$GetProjects() + api_instance$CloseProject(project_id) + response_after <- api_instance$GetProjects() - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") + expect_equal(length(response_before), length(response_after)+1) + + withr::defer(unlink(project_dir, recursive=TRUE)) }) test_that("CreateProject", { @@ -47,7 +43,7 @@ test_that("CreateProject", { # @return [ProjectInfo] project_id <- "CreateProject" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") response <- api_instance$CreateProject(project_id, project_dir) expect_true(inherits(response, "ProjectInfo")) @@ -120,7 +116,7 @@ test_that("GetProject", { # @return [ProjectInfo] project_id <- "GetProject" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") api_instance$CreateProject(project_id, project_dir) response <- api_instance$GetProject(project_id) @@ -138,7 +134,7 @@ test_that("GetProjects", { # @return [array[ProjectInfo]] project_id <- "GetProjects" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") api_instance$CreateProject(project_id, project_dir) response <- api_instance$GetProjects() @@ -162,7 +158,7 @@ test_that("ImportMsRunData", { # Request processing failed: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.ms.frontend.subtools.lcms_align.DataSmoothing.ordinal()" because "filter" is null # project_id <- "ImportMsRunData" -# project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") +# project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") # api_instance$CreateProject(project_id, project_dir) # # var_input_files <- full_ms_file @@ -186,17 +182,17 @@ test_that("ImportMsRunDataAsJob", { # @param input_files array[data.frame] (optional) # @return [Job] - project_id <- "ImportMsRunDataAsJob" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") - api_instance$CreateProject(project_id, project_dir) - - var_input_files <- full_ms_file - var_parameters <- LcmsSubmissionParameters$new(TRUE)$toJSONString() - response <- api_instance$ImportMsRunDataAsJob(project_id, parameters=var_parameters, input_files=var_input_files) - expect_true(inherits(response, "Job")) - - withr::defer(api_instance$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) +# project_id <- "ImportMsRunDataAsJob" +# project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") +# api_instance$CreateProject(project_id, project_dir) +# +# var_input_files <- full_ms_file +# var_parameters <- LcmsSubmissionParameters$new(TRUE)$toJSONString() +# response <- api_instance$ImportMsRunDataAsJob(project_id, parameters=var_parameters, input_files=var_input_files) +# expect_true(inherits(response, "Job")) +# +# withr::defer(api_instance$CloseProject(project_id)) +# withr::defer(unlink(project_dir, recursive=TRUE)) }) test_that("ImportPreprocessedData", { @@ -211,7 +207,7 @@ test_that("ImportPreprocessedData", { # @return [ImportResult] project_id <- "ImportPreprocessedData" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") api_instance$CreateProject(project_id, project_dir) var_input_files <- preproc_ms2_file_1 @@ -235,7 +231,7 @@ test_that("ImportPreprocessedDataAsJob", { # @return [Job] project_id <- "ImportPreprocessedDataAsJob" - project_dir <- paste(Sys.getenv("HOME"), project_id, sep="/") + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") api_instance$CreateProject(project_id, project_dir) var_input_files <- preproc_ms2_file_1 diff --git a/client-api_r/generated/tests/testthat/test_searchable_databases_api.R b/client-api_r/generated/tests/testthat/test_searchable_databases_api.R index 2da62672..5cdf2d51 100644 --- a/client-api_r/generated/tests/testthat/test_searchable_databases_api.R +++ b/client-api_r/generated/tests/testthat/test_searchable_databases_api.R @@ -3,19 +3,13 @@ context("Test SearchableDatabasesApi") -api_instance <- SearchableDatabasesApi$new() -path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") +sdk = SiriusSDK$new() +api = sdk$attach_to_sirius() +api_instance <- api$searchable_databases_api +home_dir <- Sys.getenv("HOME") +path_to_demo_data <- paste(home_dir, "sirius-client-openAPI/.updater/clientTests/Data", sep="/") test_file = paste(path_to_demo_data, "Kaempferol.ms", sep="/") -test_that("AddDatabases", { - # tests for AddDatabases - # base path: http://localhost:8080 - # @param request_body array[character] - # @return [array[SearchableDatabase]] - - # uncomment below to test the operation - #expect_equal(result, "EXPECTED_RESULT") -}) test_that("CreateDatabase", { # tests for CreateDatabase @@ -25,11 +19,12 @@ test_that("CreateDatabase", { # @return [SearchableDatabase] db_name <- "CreateDatabase" + db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) - response <- api_instance$CreateDatabase(db_name) + response <- api_instance$CreateDatabase(db_name, db_params) expect_true(inherits(response, "SearchableDatabase")) - withr::defer(api_instance$RemoveDatabase(db_name)) + withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) }) test_that("GetCustomDatabases", { @@ -39,13 +34,14 @@ test_that("GetCustomDatabases", { # @return [array[SearchableDatabase]] db_name <- "GetCustomDatabases" - api_instance$CreateDatabase(db_name) + db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) + api_instance$CreateDatabase(db_name, db_params) response <- api_instance$GetCustomDatabases() expect_true(inherits(response, "list")) expect_true(inherits(response[[1]], "SearchableDatabase")) - withr::defer(api_instance$RemoveDatabase(db_name)) + withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) }) test_that("GetDatabase", { @@ -56,12 +52,13 @@ test_that("GetDatabase", { # @return [SearchableDatabase] db_name <- "GetDatabase" - api_instance$CreateDatabase(db_name) + db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) + api_instance$CreateDatabase(db_name, db_params) response <- api_instance$GetDatabase(db_name) expect_true(inherits(response, "SearchableDatabase")) - withr::defer(api_instance$RemoveDatabase(db_name)) + withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) }) test_that("GetDatabases", { @@ -96,14 +93,15 @@ test_that("ImportIntoDatabase", { # @param input_files array[data.frame] (optional) # @return [SearchableDatabase] -# # TODO broken -# db_name <- "ImportIntoDatabase" -# api_instance$CreateDatabase(db_name) -# -# response <- api_instance$ImportIntoDatabase(db_name, input_files=c(test_file)) -# expect_true(inherits(response, "SearchableDatabase")) -# -# withr::defer(api_instance$RemoveDatabase(db_name)) + # TODO broken + db_name <- "ImportIntoDatabase" + db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) + api_instance$CreateDatabase(db_name, db_params) + + response <- api_instance$ImportIntoDatabase(db_name, input_files=c(test_file)) + expect_true(inherits(response, "SearchableDatabase")) + + withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) }) test_that("RemoveDatabase", { @@ -114,9 +112,10 @@ test_that("RemoveDatabase", { # @return [Void] db_name <- "RemoveDatabase" - api_instance$CreateDatabase(db_name) + db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) + api_instance$CreateDatabase(db_name, db_params) - response <- api_instance$RemoveDatabase(db_name) + response <- api_instance$RemoveDatabase(db_name, TRUE) expect_true(is.null(response)) }) From 29cdea7dc3efd6eb4637fe3023dcc4230a2008b7 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Thu, 25 Sep 2025 19:28:35 +0200 Subject: [PATCH 08/76] hacked solutions for now to make the tests pass, has to be adjusted in templates and api spec! --- client-api_r/generated/R/features_api.R | 8 ++++++-- client-api_r/generated/R/jobs_api.R | 16 ++++++++++------ client-api_r/generated/R/projects_api.R | 8 ++++---- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/client-api_r/generated/R/features_api.R b/client-api_r/generated/R/features_api.R index fea4cdeb..5ca56184 100644 --- a/client-api_r/generated/R/features_api.R +++ b/client-api_r/generated/R/features_api.R @@ -1285,8 +1285,12 @@ FeaturesApi <- R6::R6Class( if (!is.null(`request_body`)) { body.items <- paste(unlist(lapply(`request_body`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL diff --git a/client-api_r/generated/R/jobs_api.R b/client-api_r/generated/R/jobs_api.R index 59f5fef2..509988f7 100644 --- a/client-api_r/generated/R/jobs_api.R +++ b/client-api_r/generated/R/jobs_api.R @@ -740,7 +740,7 @@ JobsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return Job - GetJob = function(project_id, job_id, opt_fields = list(progress), data_file = NULL, ...) { + GetJob = function(project_id, job_id, opt_fields = list("progress"), data_file = NULL, ...) { local_var_response <- self$GetJobWithHttpInfo(project_id, job_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -763,7 +763,7 @@ JobsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - GetJobWithHttpInfo = function(project_id, job_id, opt_fields = list(progress), data_file = NULL, ...) { + GetJobWithHttpInfo = function(project_id, job_id, opt_fields = list("progress"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1704,7 +1704,7 @@ JobsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return Job - StartJobFromConfig = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list(command, progress), data_file = NULL, ...) { + StartJobFromConfig = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command", "progress"), data_file = NULL, ...) { local_var_response <- self$StartJobFromConfigWithHttpInfo(project_id, job_config_name, request_body, recompute, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1729,7 +1729,7 @@ JobsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - StartJobFromConfigWithHttpInfo = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list(command, progress), data_file = NULL, ...) { + StartJobFromConfigWithHttpInfo = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command", "progress"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1771,8 +1771,12 @@ JobsApi <- R6::R6Class( if (!is.null(`request_body`)) { body.items <- paste(unlist(lapply(`request_body`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL diff --git a/client-api_r/generated/R/projects_api.R b/client-api_r/generated/R/projects_api.R index daa53450..ab568b7f 100644 --- a/client-api_r/generated/R/projects_api.R +++ b/client-api_r/generated/R/projects_api.R @@ -1043,7 +1043,7 @@ ProjectsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return Job - ImportMsRunDataAsJob = function(project_id, input_files, parameters, opt_fields = list(progress), data_file = NULL, ...) { + ImportMsRunDataAsJob = function(project_id, input_files, parameters, opt_fields = list("progress"), data_file = NULL, ...) { local_var_response <- self$ImportMsRunDataAsJobWithHttpInfo(project_id, input_files, parameters, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1067,7 +1067,7 @@ ProjectsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - ImportMsRunDataAsJobWithHttpInfo = function(project_id, input_files, parameters, opt_fields = list(progress), data_file = NULL, ...) { + ImportMsRunDataAsJobWithHttpInfo = function(project_id, input_files, parameters, opt_fields = list("progress"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1280,7 +1280,7 @@ ProjectsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return Job - ImportPreprocessedDataAsJob = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list(progress), data_file = NULL, ...) { + ImportPreprocessedDataAsJob = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list("progress"), data_file = NULL, ...) { local_var_response <- self$ImportPreprocessedDataAsJobWithHttpInfo(project_id, input_files, ignore_formulas, allow_ms1_only, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1305,7 +1305,7 @@ ProjectsApi <- R6::R6Class( #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - ImportPreprocessedDataAsJobWithHttpInfo = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list(progress), data_file = NULL, ...) { + ImportPreprocessedDataAsJobWithHttpInfo = function(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = list("progress"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() From 6ac2c2b896c96fa1105f92a0e09219ba6702c746 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Sun, 28 Sep 2025 20:09:38 +0200 Subject: [PATCH 09/76] add api.mustache from generator version 7.10 (commit wing328/openapi-generator@071540f55a6a69471a118446dc05e76a59de0940) --- client-api_r/templates/r/api.mustache | 645 ++++++++++++++++++++++++++ 1 file changed, 645 insertions(+) create mode 100644 client-api_r/templates/r/api.mustache diff --git a/client-api_r/templates/r/api.mustache b/client-api_r/templates/r/api.mustache new file mode 100644 index 00000000..9c27b40e --- /dev/null +++ b/client-api_r/templates/r/api.mustache @@ -0,0 +1,645 @@ +{{>partial_header}} +{{#operations}} +#' @docType class +#' @title {{baseName}} operations +#' @description {{{description}}}{{^description}}{{{classname}}}{{/description}} +#' @format An \code{R6Class} generator object +#' @field api_client Handles the client-server communication. +#' +#' @examples +#' \dontrun{ +{{#operation}} +#' #################### {{operationId}} #################### +#' +#' library({{{packageName}}}) +{{#allParams}} +#' var_{{{paramName}}} <- {{{vendorExtensions.x-r-example}}} # {{{dataType}}} | {{{description}}}{{^required}} (Optional){{/required}} +{{/allParams}} +#' +{{#summary}} +#' #{{{.}}} +{{/summary}} +{{#generateWrapper}} +#' api_instance <- {{#lambda.lowercase}}{{{packageName}}}{{/lambda.lowercase}}_api$new() +{{/generateWrapper}} +{{^generateWrapper}} +#' api_instance <- {{{classname}}}$new() +{{/generateWrapper}} +{{#hasAuthMethods}} +{{#authMethods}} +#' +{{#isBasic}} +{{#isBasicBasic}} +#' # Configure HTTP basic authorization: {{{name}}} +#' api_instance$api_client$username <- Sys.getenv("USERNAME") +#' api_instance$api_client$password <- Sys.getenv("PASSWORD") +{{/isBasicBasic}} +{{#isBasicBearer}} +#' # Configure HTTP bearer authorization: {{{name}}} +#' api_instance$api_client$bearer_token <- Sys.getenv("BEARER_TOKEN") +{{/isBasicBearer}} +{{/isBasic}} +{{#isApiKey}} +#' # Configure API key authorization: {{{name}}} +#' api_instance$api_client$api_keys["{{{keyParamName}}}"] <- Sys.getenv("API_KEY") +{{/isApiKey}} +{{#isOAuth}} +#' # Configure OAuth2 access token for authorization: {{{name}}} +#' api_instance$api_client$access_token <- Sys.getenv("ACCESS_TOKEN") +{{/isOAuth}} +{{/authMethods}} +{{/hasAuthMethods}} +#' +{{#returnExceptionOnFailure}} +{{#useRlangExceptionHandling}} +#' result <- tryCatch( +#' {{#returnType}} +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # api_instance{{#generateWrapper}}${{#lambda.snakecase}}{{{classname}}}{{/lambda.snakecase}}{{/generateWrapper}}${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}data_file = "result.txt"), +#' {{#vendorExtensions.x-streaming}} +#' # this endpoint supports data streaming via a callback function using the optional `stream_callback` parameter, e.g. +#' # api_instance{{#generateWrapper}}${{#lambda.snakecase}}{{{classname}}}{{/lambda.snakecase}}{{/generateWrapper}}${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}stream_callback = function(x){ print(length(x)) }), +#' {{/vendorExtensions.x-streaming}} +#' {{/returnType}} +#' api_instance{{#generateWrapper}}${{#lambda.snakecase}}{{{classname}}}{{/lambda.snakecase}}{{/generateWrapper}}${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}), +#' ApiException = function(ex) ex +#' ) +#' # In case of error, print the error object +#' if (!is.null(result$ApiException)) { +#' print("Exception occurs when calling `{{{operationId}}}`:") +#' dput(result$ApiException$toString()) +#' {{#errorObjectType}} +#' # error object +#' dput(result$ApiException$error_object$toJSONString()) +#' {{/errorObjectType}} +#' }{{#returnType}} else { +#' # deserialized response object +#' print("The response is ...") +#' dput(result$toString()) +#' } +{{/returnType}} +#' +{{^returnType}} +#' # This endpoint doesn't return data +{{/returnType}} +{{/useRlangExceptionHandling}} +{{/returnExceptionOnFailure}} +{{^useRlangExceptionHandling}} +{{#returnType}} +#' # to save the result into a file, simply add the optional `data_file` parameter, e.g. +#' # result <- api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}data_file = "result.txt") +{{/returnType}} +{{#vendorExtensions.x-streaming}} +#' # this endpoint supports data streaming via a callback function using the optional `stream_callback` parameter, e.g. +#' # api_instance${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}{{#allParams}}{{#-first}}, {{/-first}}{{/allParams}}stream_callback = function(x){ print(length(x)) }) +{{/vendorExtensions.x-streaming}} +#' {{#returnType}}result <- {{/returnType}}api_instance{{#generateWrapper}}${{#lambda.snakecase}}{{{classname}}}{{/lambda.snakecase}}{{/generateWrapper}}${{{operationId}}}({{#requiredParams}}var_{{{paramName}}}{{^-last}}, {{/-last}}{{/requiredParams}}{{#optionalParams}}{{#-first}}{{#requiredParams.0}}, {{/requiredParams.0}}{{/-first}}{{{paramName}}} = var_{{{paramName}}}{{^-last}}, {{/-last}}{{/optionalParams}}) +{{#returnType}} +#' dput(result) +{{/returnType}} +{{/useRlangExceptionHandling}} +#' +#' +{{/operation}} +#' } +#' @importFrom R6 R6Class +#' @importFrom base64enc base64encode +{{#useRlangExceptionHandling}} +#' @importFrom rlang abort +{{/useRlangExceptionHandling}} +#' @export +{{classname}} <- R6::R6Class( + "{{classname}}", + public = list( + api_client = NULL, + + #' @description + #' Initialize a new {{{classname}}}. + #' + #' @param api_client An instance of API client. + initialize = function(api_client) { + if (!missing(api_client)) { + self$api_client <- api_client + } else { + self$api_client <- ApiClient$new() + } + }, + {{#operation}} + + #' @description + #' {{{description}}}{{^description}}{{{summary}}}{{/description}} + #' + {{#requiredParams}} + #' @param {{{paramName}}} {{{description}}} + {{/requiredParams}} + {{#optionalParams}} + #' @param {{{paramName}}} (optional) {{{description}}}{{^description}}No description{{/description}}{{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} + {{/optionalParams}} + {{#vendorExtensions.x-streaming}} + #' @param stream_callback (optional) callback function to process the data stream + {{/vendorExtensions.x-streaming}} + {{#returnType}} + #' @param data_file (optional) name of the data file to save the result + {{/returnType}} + #' @param ... Other optional arguments + #' + #' @return {{{returnType}}}{{^returnType}}void{{/returnType}} + {{{operationId}}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}} = {{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback = NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, {{/returnType}}...) { + local_var_response <- self${{{operationId}}}{{WithHttpInfo}}({{#allParams}}{{paramName}}, {{/allParams}}{{#vendorExtensions.x-streaming}}stream_callback = stream_callback, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = data_file, {{/returnType}}...) + {{#vendorExtensions.x-streaming}} + if (typeof(stream_callback) == "closure") { # return void if streaming is enabled + return(invisible(NULL)) + } + + {{/vendorExtensions.x-streaming}} + if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { + local_var_response$content + } else if (local_var_response$status_code >= 300 && local_var_response$status_code <= 399) { + local_var_response + } else if (local_var_response$status_code >= 400 && local_var_response$status_code <= 499) { + local_var_response + } else if (local_var_response$status_code >= 500 && local_var_response$status_code <= 599) { + local_var_response + } + }, + + #' @description + #' {{{description}}}{{^description}}{{{summary}}}{{/description}} + #' + {{#requiredParams}} + #' @param {{{paramName}}} {{{description}}} + {{/requiredParams}} + {{#optionalParams}} + #' @param {{{paramName}}} (optional) {{{description}}}{{^description}}No description{{/description}}{{#defaultValue}} (default value: {{{.}}}){{/defaultValue}} + {{/optionalParams}} + {{#vendorExtensions.x-streaming}} + #' @param stream_callback (optional) callback function to process the data stream + {{/vendorExtensions.x-streaming}} + {{#returnType}} + #' @param data_file (optional) name of the data file to save the result + {{/returnType}} + #' @param ... Other optional arguments + #' + #' @return API response ({{{returnType}}}{{^returnType}}void{{/returnType}}) with additional information such as HTTP status code, headers + {{{operationId}}}{{WithHttpInfo}} = function({{#requiredParams}}{{paramName}}, {{/requiredParams}}{{#optionalParams}}{{paramName}} = {{^defaultValue}}NULL{{/defaultValue}}{{{defaultValue}}}, {{/optionalParams}}{{#vendorExtensions.x-streaming}}stream_callback = NULL, {{/vendorExtensions.x-streaming}}{{#returnType}}data_file = NULL, {{/returnType}}...) { + args <- list(...) + query_params <- list() + header_params <- c() + form_params <- list() + file_params <- list() + local_var_body <- NULL + oauth_scopes <- NULL + is_oauth <- FALSE + + {{#requiredParams}} + if (missing(`{{paramName}}`)) { + {{#useDefaultExceptionHandling}} + stop("Missing required parameter `{{{paramName}}}`.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Missing required parameter `{{{paramName}}}`.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Missing required parameter `{{{paramName}}}`.")) + {{/useRlangExceptionHandling}} + } + + {{/requiredParams}} + {{#allParams}} + {{#maxLength}} + if (nchar(`{{paramName}}`) > {{maxLength}}) { + {{#useDefaultExceptionHandling}} + stop("Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, must be smaller than or equal to {{maxLength}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, must be smaller than or equal to {{maxLength}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid length for ${{paramName}} when calling {{classname}}.{{operationId}}, must be smaller than or equal to {{maxLength}}.")) + {{/useRlangExceptionHandling}} + } + {{/maxLength}} + {{#minLength}} + if (nchar(`{{paramName}}`) < {{minLength}}) { + {{#useDefaultExceptionHandling}} + stop("Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, must be bigger than or equal to {{minLength}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, must be bigger than or equal to {{minLength}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, must be bigger than or equal to {{minLength}}.")) + {{/useRlangExceptionHandling}} + } + {{/minLength}} + {{#maximum}} + if (`{{paramName}}` >{{#exclusiveMaximum}}={{/exclusiveMaximum}} {{maximum}}) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must be smaller than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}{{maximum}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must be smaller than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}{{maximum}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must be smaller than {{^exclusiveMaximum}}or equal to {{/exclusiveMaximum}}{{maximum}}.")) + {{/useRlangExceptionHandling}} + } + {{/maximum}} + {{#minimum}} + if (`{{paramName}}` <{{#exclusiveMinimum}}={{/exclusiveMinimum}} {{minimum}}) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must be bigger than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}{{minimum}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must be bigger than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}{{minimum}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must be bigger than {{^exclusiveMinimum}}or equal to {{/exclusiveMinimum}}{{minimum}}.")) + {{/useRlangExceptionHandling}} + } + {{/minimum}} + {{#pattern}} + if (!str_detect(`{{paramName}}`, "{{{pattern}}}")) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must conform to the pattern {{{pattern}}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must conform to the pattern {{{pattern}}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}, must conform to the pattern {{{pattern}}}.")) + {{/useRlangExceptionHandling}} + } + {{/pattern}} + {{#maxItems}} + if (length(`{{paramName}}`) > {{maxItems}}) { + {{#useDefaultExceptionHandling}} + stop("Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, number of items must be less than or equal to {{maxItems}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, number of items must be less than or equal to {{maxItems}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, number of items must be less than or equal to {{maxItems}}.")) + {{/useRlangExceptionHandling}} + } + {{/maxItems}} + {{#minItems}} + if (length(`{{paramName}}`) < {{minItems}}) { + {{#useDefaultExceptionHandling}} + stop("Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, number of items must be greater than or equal to {{minItems}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, number of items must be greater than or equal to {{minItems}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid length for `{{paramName}}` when calling {{classname}}${{operationId}}, number of items must be greater than or equal to {{minItems}}.")) + {{/useRlangExceptionHandling}} + } + {{/minItems}} + + {{/allParams}} + {{#headerParams}} + header_params["{{baseName}}"] <- `{{paramName}}` + + {{/headerParams}} + {{#queryParams}} + {{#isArray}} + {{#uniqueItems}} + # check if items are unique + if (!identical(`{{{paramName}}}`, unique(`{{{paramName}}}`))) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for {{{paramName}}} when calling {{classname}}${{operationId}}. Items must be unique.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Items must be unique.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Items must be unique.")) + {{/useRlangExceptionHandling}} + } + {{#isExplode}} + # explore + for (query_item in `{{{paramName}}}`) { + {{#items}} + {{#isEnum}} + # validate enum values + if (!is.null(query_item) && !(query_item %in% c({{#_enum}}"{{{.}}}"{{^-last}}, {{/-last}}{{/_enum}}))) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for {{{paramName}}} when calling {{classname}}${{operationId}}. Must be {{_enum}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.")) + {{/useRlangExceptionHandling}} + } + {{/isEnum}} + {{/items}} + query_params[["{{{baseName}}}"]] <- c(query_params[["{{{baseName}}}"]], list(`{{{baseName}}}` = query_item)) + } + {{/isExplode}} + {{^isExplode}} + # no explore + {{#items}} + {{#isEnum}} + # validate enum values + for (query_item in `{{{paramName}}}`) { + if (!is.null(query_item) && !(query_item %in% c({{#_enum}}"{{{.}}}"{{^-last}}, {{/-last}}{{/_enum}}))) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for {{{paramName}}} when calling {{classname}}${{operationId}}. Must be {{_enum}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.")) + {{/useRlangExceptionHandling}} + } + } + {{/isEnum}} + {{/items}} + query_params[["{{{baseName}}}"]] <- I(paste(lapply(`{{{paramName}}}`, URLencode, reserved = TRUE), collapse = ",")) + {{/isExplode}} + {{/uniqueItems}} + {{^uniqueItems}} + {{#isExplode}} + # explore + for (query_item in `{{{paramName}}}`) { + {{#items}} + {{#isEnum}} + # validate enum values + if (!is.null(query_item) && !(query_item %in% c({{#_enum}}"{{{.}}}"{{^-last}}, {{/-last}}{{/_enum}}))) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for {{{paramName}}} when calling {{classname}}${{operationId}}. Must be {{_enum}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.")) + {{/useRlangExceptionHandling}} + } + {{/isEnum}} + {{/items}} + query_params[["{{{baseName}}}"]] <- c(query_params[["{{{baseName}}}"]], list(`{{{baseName}}}` = query_item)) + } + {{/isExplode}} + {{^isExplode}} + # no explore + {{#items}} + {{#isEnum}} + # validate enum values + for (query_item in `{{{paramName}}}`) { + if (!is.null(query_item) && !(query_item %in% c({{#_enum}}"{{{.}}}"{{^-last}}, {{/-last}}{{/_enum}}))) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for {{{paramName}}} when calling {{classname}}${{operationId}}. Must be {{_enum}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.")) + {{/useRlangExceptionHandling}} + } + } + {{/isEnum}} + {{/items}} + query_params[["{{{baseName}}}"]] <- I(paste(lapply(`{{{paramName}}}`, URLencode, reserved = TRUE), collapse = ",")) + {{/isExplode}} + {{/uniqueItems}} + {{/isArray}} + {{^isArray}} + {{#isEnum}} + if (!is.null(`{{paramName}}`) && !(`{{paramName}}` %in% c({{#_enum}}"{{{.}}}"{{^-last}}, {{/-last}}{{/_enum}}))) { + {{#useDefaultExceptionHandling}} + stop("Invalid value for {{{paramName}}} when calling {{classname}}${{operationId}}. Must be {{_enum}}.") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.", + .subclass = "ApiException", + ApiException = ApiException$new(status = 0, + reason = "Invalid value for `{{paramName}}` when calling {{classname}}${{operationId}}. Must be {{_enum}}.")) + {{/useRlangExceptionHandling}} + } + {{/isEnum}} + query_params[["{{baseName}}"]] <- `{{paramName}}` + {{/isArray}} + + {{/queryParams}} + {{#hasFormParams}} + {{#formParams}} + {{^isFile}} + form_params["{{baseName}}"] <- `{{paramName}}` + {{/isFile}} + {{#isFile}} + {{^isHttr2}} + file_params["{{baseName}}"] <- httr::upload_file(`{{paramName}}`) + {{/isHttr2}} + {{#isHttr2}} + file_params[["{{{baseName}}}"]] <- curl::form_file(`{{paramName}}`) + {{/isHttr2}} + {{/isFile}} + {{/formParams}} + {{/hasFormParams}} + {{#hasBodyParam}} + {{#bodyParams}} + if (!is.null(`{{paramName}}`)) { + {{#isArray}} + body.items <- paste(unlist(lapply(`{{paramName}}`, function(param) { + param$toJSONString() + })), collapse = ",") + local_var_body <- paste0("[", body.items, "]") + {{/isArray}} + {{^isArray}} + local_var_body <- `{{paramName}}`$toJSONString() + {{/isArray}} + } else { + body <- NULL + } + + {{/bodyParams}} + {{/hasBodyParam}} + local_var_url_path <- "{{{path}}}" + {{#hasPathParams}} + {{#pathParams}} + if (!missing(`{{paramName}}`)) { + {{=< >=}} + <#isArray> + local_var_url_path <- gsub("\\{\\}", paste(URLencode(as.character(``), reserved = TRUE), collapse= ",", sep=""), local_var_url_path) + + <^isArray> + local_var_url_path <- gsub("\\{\\}", URLencode(as.character(``), reserved = TRUE), local_var_url_path) + + <={{ }}=> + } + + {{/pathParams}} + {{/hasPathParams}} + {{#authMethods}} + {{#isBasic}} + {{#isBasicBasic}} + # HTTP basic auth + if (!is.null(self$api_client$username) || !is.null(self$api_client$password)) { + header_params["Authorization"] <- paste("Basic", base64enc::base64encode(charToRaw(paste(self$api_client$username, self$api_client$password, sep = ":")))) + } + {{/isBasicBasic}} + {{#isBasicBearer}} + # Bearer token + if (!is.null(self$api_client$bearer_token)) { + header_params["Authorization"] <- paste("Bearer", self$api_client$bearer_token, sep = " ") + } + {{/isBasicBearer}} + {{/isBasic}} + {{#isApiKey}} + # API key authentication + {{#isKeyInHeader}} + if ("{{{keyParamName}}}" %in% names(self$api_client$api_keys) && nchar(self$api_client$api_keys["{{{keyParamName}}}"]) > 0) { + header_params["{{keyParamName}}"] <- paste(unlist(self$api_client$api_keys["{{keyParamName}}"]), collapse = "") + } + {{/isKeyInHeader}} + {{#isKeyInQuery}} + if ("{{{keyParamName}}}" %in% names(self$api_client$api_keys) && nchar(self$api_client$api_keys["{{{keyParamName}}}"]) > 0) { + query_params["{{keyParamName}}"] <- paste(unlist(self$api_client$api_keys["{{keyParamName}}"]), collapse = "") + } + {{/isKeyInQuery}} + {{/isApiKey}} + {{#isOAuth}} + # OAuth-related settings + is_oauth <- TRUE + oauth_scopes <- "{{#scopes}}{{scope}}{{^-last}} {{/-last}}{{/scopes}}" + {{/isOAuth}} + {{/authMethods}} + + # The Accept request HTTP header + local_var_accepts <- list({{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}}) + + # The Content-Type representation header + local_var_content_types <- list({{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}}) + + local_var_resp <- self$api_client$CallApi(url = paste0(self$api_client$base_path, local_var_url_path), + method = "{{httpMethod}}", + query_params = query_params, + header_params = header_params, + form_params = form_params, + file_params = file_params, + accepts = local_var_accepts, + content_types = local_var_content_types, + body = local_var_body, + is_oauth = is_oauth, + oauth_scopes = oauth_scopes, + {{#vendorExtensions.x-streaming}} + stream_callback = stream_callback, + {{/vendorExtensions.x-streaming}} + ...) + + {{#vendorExtensions.x-streaming}} + if (typeof(stream_callback) == "closure") { # return void if streaming is enabled + return(invisible(NULL)) + } + + {{/vendorExtensions.x-streaming}} + if (local_var_resp$status_code >= 200 && local_var_resp$status_code <= 299) { + {{#returnType}} + {{#isPrimitiveType}} + local_var_content <- local_var_resp$response + local_var_resp, "text", encoding = "UTF-8", simplifyVector = FALSE + ) + # save response in a file + if (!is.null(data_file)) { + write(local_var_content, data_file) + } + + ApiResponse$new(content,resp) + {{/isPrimitiveType}} + {{^isPrimitiveType}} + # save response in a file + if (!is.null(data_file)) { + write(local_var_resp$response, data_file) + } + + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "{{returnType}}", loadNamespace("{{packageName}}")), + error = function(e) { + {{#useDefaultExceptionHandling}} + stop("Failed to deserialize response") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = local_var_resp)) + {{/useRlangExceptionHandling}} + } + ) + local_var_resp$content <- deserialized_resp_obj + {{/isPrimitiveType}} + {{/returnType}} + {{^returnType}} + {{! Returning the ApiResponse object with NULL object when the endpoint doesn't return anything}} + local_var_resp$content <- NULL + {{/returnType}} + local_var_resp + } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { + {{#returnExceptionOnFailure}} + local_var_error_msg <- local_var_resp$response + if (local_var_error_msg == "") { + local_var_error_msg <- paste("Server returned ", local_var_resp$status_code, " response status code.") + } + {{#useDefaultExceptionHandling}} + stop(local_var_error_msg) + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = local_var_error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = local_var_resp)) + {{/useRlangExceptionHandling}} + {{/returnExceptionOnFailure}} + {{^returnExceptionOnFailure}} + ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) + {{/returnExceptionOnFailure}} + } else if (local_var_resp$status_code >= 400 && local_var_resp$status_code <= 499) { + {{#returnExceptionOnFailure}} + local_var_error_msg <- local_var_resp$response + if (local_var_error_msg == "") { + local_var_error_msg <- "Api client exception encountered." + } + {{#useDefaultExceptionHandling}} + stop(local_var_error_msg) + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = local_var_error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = local_var_resp)) + {{/useRlangExceptionHandling}} + {{/returnExceptionOnFailure}} + {{^returnExceptionOnFailure}} + ApiResponse$new("API client error", local_var_resp) + {{/returnExceptionOnFailure}} + } else if (local_var_resp$status_code >= 500 && local_var_resp$status_code <= 599) { + {{#returnExceptionOnFailure}} + local_var_error_msg <- local_var_resp$response + if (local_var_error_msg == "") { + local_var_error_msg <- "Api server exception encountered." + } + {{#useDefaultExceptionHandling}} + stop(local_var_error_msg) + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = error_msg, + .subclass = "ApiException", + ApiException = ApiException$new(http_response = local_var_resp)) + {{/useRlangExceptionHandling}} + {{/returnExceptionOnFailure}} + {{^returnExceptionOnFailure}} + if (is.null(local_var_resp$response) || local_var_resp$response == "") { + local_var_resp$response <- "API server error" + } + local_var_resp + {{/returnExceptionOnFailure}} + } + }{{^-last}},{{/-last}} + {{/operation}} + ) +) +{{/operations}} \ No newline at end of file From 3002953812e32460e5b1aa7d5bd93c29a63df825 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Sun, 28 Sep 2025 20:10:20 +0200 Subject: [PATCH 10/76] fix "Error in `param$toJSONString`: $ operator is invalid for atomic vectors" for lists of characters --- client-api_r/templates/r/api.mustache | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/client-api_r/templates/r/api.mustache b/client-api_r/templates/r/api.mustache index 9c27b40e..c5221719 100644 --- a/client-api_r/templates/r/api.mustache +++ b/client-api_r/templates/r/api.mustache @@ -448,8 +448,12 @@ if (!is.null(`{{paramName}}`)) { {{#isArray}} body.items <- paste(unlist(lapply(`{{paramName}}`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") {{/isArray}} {{^isArray}} From 48d98cb646e97a5800955c99dde13954d06c6ee4 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Sun, 28 Sep 2025 20:41:50 +0200 Subject: [PATCH 11/76] fix non-character occurrences of list(progress) and list(command, progress) --- client-api_r/patches/list_syntax_fix.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/client-api_r/patches/list_syntax_fix.sh b/client-api_r/patches/list_syntax_fix.sh index 688942bf..83cba68c 100755 --- a/client-api_r/patches/list_syntax_fix.sh +++ b/client-api_r/patches/list_syntax_fix.sh @@ -1,7 +1,7 @@ #!/bin/bash # Specify the folder path -folder_path="./client-api_r/generated/R" +folder_path="./client-api_r/generated2/R" # Change directory to the specified folder cd "$folder_path" || exit @@ -16,6 +16,12 @@ for file in *; do # Use sed to replace "= [none]" with "= list(NULL)" sed -i 's/= \[none\]/= list(NULL)/g' "$file" + # Use sed to replace "[progress]" with "list(\"progress\")" + sed -i 's/\[progress\]/list("progress")/g' "$file" + + # Use sed to replace "[command, progress]" with "list(\"command\", \"progress\")" + sed -i 's/\[command, progress\]/list("command", "progress")/g' "$file" + # Use sed to replace "= [something]" with "= list(something)" sed -i 's/= \[\([^]]*\)\]/= list(\1)/g' "$file" @@ -29,4 +35,4 @@ for file in *; do fi done -echo "Exchanged all occurrences of lists using [...] to list using list(...)" +echo "Exchanged all occurrences of lists using [...] to list using list(...)" \ No newline at end of file From 66a0f1229dce080df9e3877ed9ff6840970200c7 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Sun, 28 Sep 2025 20:42:08 +0200 Subject: [PATCH 12/76] correct path --- client-api_r/patches/list_syntax_fix.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client-api_r/patches/list_syntax_fix.sh b/client-api_r/patches/list_syntax_fix.sh index 83cba68c..42fc5a50 100755 --- a/client-api_r/patches/list_syntax_fix.sh +++ b/client-api_r/patches/list_syntax_fix.sh @@ -1,7 +1,7 @@ #!/bin/bash # Specify the folder path -folder_path="./client-api_r/generated2/R" +folder_path="./client-api_r/generated/R" # Change directory to the specified folder cd "$folder_path" || exit From a4b9f88877ff31bbacebf195013ee0ffde8a3729 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Sun, 28 Sep 2025 22:04:56 +0200 Subject: [PATCH 13/76] allow handling of CSV and TSV type data in response --- client-api_r/templates/r/api.mustache | 62 +++++++++++++++++++++------ 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/client-api_r/templates/r/api.mustache b/client-api_r/templates/r/api.mustache index c5221719..a39f6d76 100644 --- a/client-api_r/templates/r/api.mustache +++ b/client-api_r/templates/r/api.mustache @@ -563,20 +563,54 @@ write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "{{returnType}}", loadNamespace("{{packageName}}")), - error = function(e) { - {{#useDefaultExceptionHandling}} - stop("Failed to deserialize response") - {{/useDefaultExceptionHandling}} - {{#useRlangExceptionHandling}} - rlang::abort(message = "Failed to deserialize response", - .subclass = "ApiException", - ApiException = ApiException$new(http_response = local_var_resp)) - {{/useRlangExceptionHandling}} - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + {{#useDefaultExceptionHandling}} + stop("Failed to parse CSV response") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Failed to parse CSV response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = local_var_resp)) + {{/useRlangExceptionHandling}} + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "{{returnType}}", loadNamespace("{{packageName}}")), + error = function(e) { + {{#useDefaultExceptionHandling}} + stop("Failed to deserialize response") + {{/useDefaultExceptionHandling}} + {{#useRlangExceptionHandling}} + rlang::abort(message = "Failed to deserialize response", + .subclass = "ApiException", + ApiException = ApiException$new(http_response = local_var_resp)) + {{/useRlangExceptionHandling}} + } + ) + local_var_resp$content <- deserialized_resp_obj + } {{/isPrimitiveType}} {{/returnType}} {{^returnType}} From d76900fdd1b9b739898db064d36edf0b85e19508 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Sun, 28 Sep 2025 23:47:27 +0200 Subject: [PATCH 14/76] allow upload of multiple files by path --- client-api_r/templates/r/api.mustache | 4 +++- client-api_r/templates/r/api_client.mustache | 24 +++++++++++++++++--- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/client-api_r/templates/r/api.mustache b/client-api_r/templates/r/api.mustache index a39f6d76..ce0a538c 100644 --- a/client-api_r/templates/r/api.mustache +++ b/client-api_r/templates/r/api.mustache @@ -438,7 +438,9 @@ file_params["{{baseName}}"] <- httr::upload_file(`{{paramName}}`) {{/isHttr2}} {{#isHttr2}} - file_params[["{{{baseName}}}"]] <- curl::form_file(`{{paramName}}`) + file_params[["{{{baseName}}}"]] <- lapply(input_files, function(file_path) { + curl::form_file(`{{paramName}}`) + }) {{/isHttr2}} {{/isFile}} {{/formParams}} diff --git a/client-api_r/templates/r/api_client.mustache b/client-api_r/templates/r/api_client.mustache index a47eafbc..5c29eaab 100644 --- a/client-api_r/templates/r/api_client.mustache +++ b/client-api_r/templates/r/api_client.mustache @@ -247,12 +247,30 @@ ApiClient <- R6::R6Class( # has file upload? if (!is.null(file_params) && length(file_params) != 0) { - req <- req %>% req_body_multipart(!!!file_params) + # Create multipart body data + multipart_data <- list() - # add form parameters via req_body_multipart + # Add form parameters first if (!is.null(form_params) && length(form_params) != 0) { - req <- req %>% req_body_multipart(!!!form_params) + multipart_data <- c(multipart_data, form_params) } + + # Add file parameters - handle multiple files with same name + for (param_name in names(file_params)) { + param_value <- file_params[[param_name]] + + if (is.list(param_value) && length(param_value) > 1) { + # Multiple files with same parameter name + for (i in seq_along(param_value)) { + multipart_data[[length(multipart_data) + 1]] <- param_value[[i]] + names(multipart_data)[length(multipart_data)] <- param_name + } + } else { + # Single file + multipart_data[[param_name]] <- param_value[[1]] + } + } + req <- req %>% req_body_multipart(!!!multipart_data) } else { # no file upload # add form parameters via req_body_form if (!is.null(form_params) && length(form_params) != 0) { From f63584df116f8a0daf334347786091c33260565e Mon Sep 17 00:00:00 2001 From: joXemMx Date: Sun, 28 Sep 2025 23:48:55 +0200 Subject: [PATCH 15/76] start wrapping tests in trycatch to make use of finally --- .../tests/testthat/test_acceptance.R | 73 +++-- .../tests/testthat/test_compounds_api.R | 122 +++++---- .../tests/testthat/test_projects_api.R | 258 +++++++++++------- 3 files changed, 280 insertions(+), 173 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_acceptance.R b/client-api_r/generated/tests/testthat/test_acceptance.R index 9ac7e495..f6fbb152 100644 --- a/client-api_r/generated/tests/testthat/test_acceptance.R +++ b/client-api_r/generated/tests/testthat/test_acceptance.R @@ -2,43 +2,56 @@ # Please update as you see appropriate context("Test Acceptance") -options(warn=-1) +options(warn = -1) -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$jobs_api features_api <- api$features_api projects_api <- api$projects_api -path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") -input_file = paste(path_to_demo_data, "Kaempferol.ms", sep="/") +path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep = "/") +input_file <- paste(path_to_demo_data, "Kaempferol.ms", sep = "/") test_that("Test Acceptance", { - project_id <- "AcceptanceTest" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) - Sys.sleep(1) - - job_submission <- api_instance$GetDefaultJobConfig() - job_submission$zodiacParams$enabled <- FALSE - job_submission$fingerprintPredictionParams$enabled <- FALSE - job_submission$canopusParams$enabled <- FALSE - job_submission$structureDbSearchParams$enabled <- FALSE - job_submission$msNovelistParams$enabled <- FALSE - job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) - - response <- api_instance$StartJob(project_id, job_submission) - while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { - Sys.sleep(1) - } - formula_candidate <- features_api$GetAlignedFeature(project_id, job_submission$alignedFeatureIds[[1]], opt_fields=list("topAnnotations"))$topAnnotations$formulaAnnotation - tree <- features_api$GetFragTree(project_id, job_submission$alignedFeatureIds[[1]], formula_candidate$formulaId) + tryCatch({ - expect_true(inherits(formula_candidate, "FormulaCandidate")) - expect_true(inherits(tree, "FragmentationTree")) - expect_equal("C15H10O6", formula_candidate$molecularFormula) + project_id <- "AcceptanceTest" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + projects_api$CreateProject(project_id, project_dir) + import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files = input_file, ignore_formulas = TRUE) + Sys.sleep(1) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + job_submission <- api_instance$GetDefaultJobConfig() + job_submission$zodiacParams$enabled <- FALSE + job_submission$ + fingerprintPredictionParams$ + enabled <- FALSE + job_submission$canopusParams$enabled <- FALSE + job_submission$structureDbSearchParams$enabled <- FALSE + job_submission$msNovelistParams$enabled <- FALSE + job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) + + response <- api_instance$StartJob(project_id, job_submission) + while (api_instance$GetJob(project_id, response$id)$ + progress$ + state == "RUNNING") { + Sys.sleep(1) + } + + formula_candidate <- features_api$GetAlignedFeature(project_id, job_submission$alignedFeatureIds[[1]], opt_fields = list("topAnnotations"))$ + topAnnotations$ + formulaAnnotation + tree <- features_api$GetFragTree(project_id, job_submission$alignedFeatureIds[[1]], formula_candidate$formulaId) + + expect_true(inherits(formula_candidate, "FormulaCandidate")) + expect_true(inherits(tree, "FragmentationTree")) + expect_equal("C15H10O6", formula_candidate$molecularFormula) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) diff --git a/client-api_r/generated/tests/testthat/test_compounds_api.R b/client-api_r/generated/tests/testthat/test_compounds_api.R index c5863b04..76bf1224 100644 --- a/client-api_r/generated/tests/testthat/test_compounds_api.R +++ b/client-api_r/generated/tests/testthat/test_compounds_api.R @@ -3,8 +3,8 @@ context("Test CompoundsApi") -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$compounds_api projects_api <- api$projects_api @@ -23,16 +23,22 @@ test_that("AddCompounds", { # @param opt_fields_features array[AlignedFeatureOptField] set of optional fields of the nested features to be included. Use 'none' to override defaults. (optional) # @return [array[Compound]] - project_id <- "AddCompounds" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) + tryCatch({ - response <- api_instance$AddCompounds(project_id, compound_import) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "Compound")) + project_id <- "AddCompounds" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + projects_api$CreateProject(project_id, project_dir) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + response <- api_instance$AddCompounds(project_id, compound_import) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "Compound")) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("DeleteCompound", { @@ -44,20 +50,26 @@ test_that("DeleteCompound", { # @param compound_id character identifier of the compound to delete. # @return [Void] - project_id <- "DeleteCompound" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - api_instance$AddCompounds(project_id, compound_import) - compound_id <- api_instance$GetCompounds(project_id)[[1]]$compoundId + tryCatch({ + + project_id <- "DeleteCompound" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + projects_api$CreateProject(project_id, project_dir) + api_instance$AddCompounds(project_id, compound_import) + compound_id <- api_instance$GetCompounds(project_id)[[1]]$compoundId - response_before <- api_instance$GetCompounds(project_id) - api_instance$DeleteCompound(project_id, compound_id) - response_after <- api_instance$GetCompounds(project_id) + response_before <- api_instance$GetCompounds(project_id) + api_instance$DeleteCompound(project_id, compound_id) + response_after <- api_instance$GetCompounds(project_id) - expect_equal(length(response_before) - length(response_after), 1) + expect_equal(length(response_before) - length(response_after), 1) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("GetCompound", { @@ -71,17 +83,23 @@ test_that("GetCompound", { # @param opt_fields_features array[AlignedFeatureOptField] (optional) # @return [Compound] - project_id <- "GetCompound" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - api_instance$AddCompounds(project_id, compound_import) - compound_id <- api_instance$GetCompounds(project_id)[[1]]$compoundId + tryCatch({ + + project_id <- "GetCompound" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + projects_api$CreateProject(project_id, project_dir) + api_instance$AddCompounds(project_id, compound_import) + compound_id <- api_instance$GetCompounds(project_id)[[1]]$compoundId + + response <- api_instance$GetCompound(project_id, compound_id) + expect_true(inherits(response, "Compound")) - response <- api_instance$GetCompound(project_id, compound_id) - expect_true(inherits(response, "Compound")) + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("GetCompounds", { @@ -94,17 +112,23 @@ test_that("GetCompounds", { # @param opt_fields_features array[AlignedFeatureOptField] (optional) # @return [array[Compound]] - project_id <- "GetCompounds" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - api_instance$AddCompounds(project_id, compound_import) + tryCatch({ + + project_id <- "GetCompounds" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + projects_api$CreateProject(project_id, project_dir) + api_instance$AddCompounds(project_id, compound_import) + + response <- api_instance$GetCompounds(project_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "Compound")) + + }, finally = { - response <- api_instance$GetCompounds(project_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "Compound")) + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }) }) test_that("GetCompoundsPaged", { @@ -120,13 +144,19 @@ test_that("GetCompoundsPaged", { # @param opt_fields_features array[AlignedFeatureOptField] (optional) # @return [PageCompound] - project_id <- "GetCompoundsPaged" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) + tryCatch({ + + project_id <- "GetCompoundsPaged" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + projects_api$CreateProject(project_id, project_dir) + + response <- api_instance$GetCompoundsPaged(project_id) + expect_true(inherits(response, "PagedModelCompound")) + + }, finally = { - response <- api_instance$GetCompoundsPaged(project_id) - expect_true(inherits(response, "PagedModelCompound")) + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }) }) \ No newline at end of file diff --git a/client-api_r/generated/tests/testthat/test_projects_api.R b/client-api_r/generated/tests/testthat/test_projects_api.R index 3042e8d0..7eceeb80 100644 --- a/client-api_r/generated/tests/testthat/test_projects_api.R +++ b/client-api_r/generated/tests/testthat/test_projects_api.R @@ -3,13 +3,13 @@ context("Test ProjectsApi") -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$projects_api -path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") -preproc_ms2_file_1 = paste(path_to_demo_data, "Kaempferol.ms", sep="/") -preproc_ms2_file_2 = paste(path_to_demo_data, "laudanosine.mgf", sep="/") -full_ms_file = paste(path_to_demo_data, "SPF4_Eso3_GH6_01_22643.mzXML", sep="/") +path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep = "/") +preproc_ms2_file_1 <- paste(path_to_demo_data, "Kaempferol.ms", sep = "/") +preproc_ms2_file_2 <- paste(path_to_demo_data, "laudanosine.mgf", sep = "/") +full_ms_file <- paste(path_to_demo_data, "SPF4_Eso3_GH6_01_22643.mzXML", sep = "/") test_that("CloseProject", { @@ -20,17 +20,23 @@ test_that("CloseProject", { # @param project_id character unique name/identifier of the project-space to be closed. # @return [Void] - project_id <- "CloseProject" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + tryCatch({ - api_instance$CreateProject(project_id, project_dir) - response_before <- api_instance$GetProjects() - api_instance$CloseProject(project_id) - response_after <- api_instance$GetProjects() + project_id <- "CloseProject" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") - expect_equal(length(response_before), length(response_after)+1) + api_instance$CreateProject(project_id, project_dir) + response_before <- api_instance$GetProjects() + api_instance$CloseProject(project_id) + response_after <- api_instance$GetProjects() - withr::defer(unlink(project_dir, recursive=TRUE)) + expect_equal(length(response_before), length(response_after) + 1) + + }, finally = { + + unlink(project_dir, recursive = TRUE) + + }) }) test_that("CreateProject", { @@ -42,14 +48,20 @@ test_that("CreateProject", { # @param path_to_project character local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (optional) # @return [ProjectInfo] - project_id <- "CreateProject" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + tryCatch({ + + project_id <- "CreateProject" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") - response <- api_instance$CreateProject(project_id, project_dir) - expect_true(inherits(response, "ProjectInfo")) + response <- api_instance$CreateProject(project_id, project_dir) + expect_true(inherits(response, "ProjectInfo")) - withr::defer(api_instance$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("GetCanopusClassyFireData", { @@ -60,14 +72,20 @@ test_that("GetCanopusClassyFireData", { # @param charge integer # @return [character] - project_id <- "GetCanopusClassyFireData" - project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep="/") - api_instance$OpenProject(project_id, project_dir) + tryCatch({ + + project_id <- "GetCanopusClassyFireData" + project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep = "/") + api_instance$OpenProject(project_id, project_dir) + + response <- api_instance$GetCanopusClassyFireData(project_id, 1) + expect_true(inherits(response, "data.frame")) - response <- api_instance$GetCanopusClassyFireData(project_id, 56) - expect_true(inherits(response, "character")) + }, finally = { - withr::defer(api_instance$CloseProject(project_id)) + api_instance$CloseProject(project_id) + + }) }) test_that("GetCanopusNpcData", { @@ -78,14 +96,20 @@ test_that("GetCanopusNpcData", { # @param charge integer # @return [character] - project_id <- "GetCanopusNpcData" - project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep="/") - api_instance$OpenProject(project_id, project_dir) + tryCatch({ + + project_id <- "GetCanopusNpcData" + project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep = "/") + api_instance$OpenProject(project_id, project_dir) + + response <- api_instance$GetCanopusNpcData(project_id, 1) + expect_true(inherits(response, "data.frame")) + + }, finally = { - response <- api_instance$GetCanopusNpcData(project_id, 56) - expect_true(inherits(response, "character")) + api_instance$CloseProject(project_id) - withr::defer(api_instance$CloseProject(project_id)) + }) }) test_that("GetFingerIdData", { @@ -96,14 +120,22 @@ test_that("GetFingerIdData", { # @param charge integer # @return [character] - project_id <- "GetFingerIdData" - project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep="/") - api_instance$OpenProject(project_id, project_dir) + tryCatch({ + + project_id <- "GetFingerIdData" + project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep = "/") + api_instance$OpenProject(project_id, project_dir) + + response <- api_instance$GetFingerIdData(project_id, 1) + expect_true(inherits(response, "data.frame")) + expect_true(inherits(response$relativeIndex, "integer")) + expect_true(inherits(response$description, "character")) + + }, finally = { - response <- api_instance$GetFingerIdData(project_id, 56) - expect_true(inherits(response, "character")) + api_instance$CloseProject(project_id) - withr::defer(api_instance$CloseProject(project_id)) + }) }) test_that("GetProject", { @@ -115,15 +147,21 @@ test_that("GetProject", { # @param opt_fields array[ProjectInfoOptField] (optional) # @return [ProjectInfo] - project_id <- "GetProject" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - api_instance$CreateProject(project_id, project_dir) + tryCatch({ - response <- api_instance$GetProject(project_id) - expect_true(inherits(response, "ProjectInfo")) + project_id <- "GetProject" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) - withr::defer(api_instance$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + response <- api_instance$GetProject(project_id) + expect_true(inherits(response, "ProjectInfo")) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("GetProjects", { @@ -133,16 +171,22 @@ test_that("GetProjects", { # List opened project spaces. # @return [array[ProjectInfo]] - project_id <- "GetProjects" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - api_instance$CreateProject(project_id, project_dir) + tryCatch({ + + project_id <- "GetProjects" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) - response <- api_instance$GetProjects() - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "ProjectInfo")) + response <- api_instance$GetProjects() + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "ProjectInfo")) - withr::defer(api_instance$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("ImportMsRunData", { @@ -156,18 +200,18 @@ test_that("ImportMsRunData", { # @param input_files array[data.frame] (optional) # @return [ImportResult] -# Request processing failed: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.ms.frontend.subtools.lcms_align.DataSmoothing.ordinal()" because "filter" is null -# project_id <- "ImportMsRunData" -# project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") -# api_instance$CreateProject(project_id, project_dir) -# -# var_input_files <- full_ms_file -# var_parameters <- LcmsSubmissionParameters$new()$toJSON() -# response <- api_instance$ImportMsRunData(project_id, var_parameters, input_files=var_input_files) -# expect_true(inherits(response, "ImportResult")) -# -# withr::defer(api_instance$CloseProject(project_id)) -# withr::defer(unlink(project_dir, recursive=TRUE)) + # Request processing failed: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.ms.frontend.subtools.lcms_align.DataSmoothing.ordinal()" because "filter" is null + # project_id <- "ImportMsRunData" + # project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + # api_instance$CreateProject(project_id, project_dir) + # + # var_input_files <- full_ms_file + # var_parameters <- LcmsSubmissionParameters$new()$toJSON() + # response <- api_instance$ImportMsRunData(project_id, var_parameters, input_files=var_input_files) + # expect_true(inherits(response, "ImportResult")) + # + # withr::defer(api_instance$CloseProject(project_id)) + # withr::defer(unlink(project_dir, recursive=TRUE)) }) test_that("ImportMsRunDataAsJob", { @@ -182,17 +226,17 @@ test_that("ImportMsRunDataAsJob", { # @param input_files array[data.frame] (optional) # @return [Job] -# project_id <- "ImportMsRunDataAsJob" -# project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") -# api_instance$CreateProject(project_id, project_dir) -# -# var_input_files <- full_ms_file -# var_parameters <- LcmsSubmissionParameters$new(TRUE)$toJSONString() -# response <- api_instance$ImportMsRunDataAsJob(project_id, parameters=var_parameters, input_files=var_input_files) -# expect_true(inherits(response, "Job")) -# -# withr::defer(api_instance$CloseProject(project_id)) -# withr::defer(unlink(project_dir, recursive=TRUE)) + # project_id <- "ImportMsRunDataAsJob" + # project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + # api_instance$CreateProject(project_id, project_dir) + # + # var_input_files <- full_ms_file + # var_parameters <- LcmsSubmissionParameters$new(TRUE)$toJSONString() + # response <- api_instance$ImportMsRunDataAsJob(project_id, parameters=var_parameters, input_files=var_input_files) + # expect_true(inherits(response, "Job")) + # + # withr::defer(api_instance$CloseProject(project_id)) + # withr::defer(unlink(project_dir, recursive=TRUE)) }) test_that("ImportPreprocessedData", { @@ -206,16 +250,24 @@ test_that("ImportPreprocessedData", { # @param input_files array[data.frame] (optional) # @return [ImportResult] - project_id <- "ImportPreprocessedData" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - api_instance$CreateProject(project_id, project_dir) + tryCatch({ + + project_id <- "ImportPreprocessedData" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- c(preproc_ms2_file_1, preproc_ms2_file_2) + response <- api_instance$ImportPreprocessedData(project_id, input_files = var_input_files) + expect_true(inherits(response, "ImportResult")) + expect_equal(length(response$affectedCompoundIds), 2) + expect_equal(length(response$affectedAlignedFeatureIds), 2) - var_input_files <- preproc_ms2_file_1 - response <- api_instance$ImportPreprocessedData(project_id, input_files=var_input_files) - expect_true(inherits(response, "ImportResult")) + }, finally = { - withr::defer(api_instance$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("ImportPreprocessedDataAsJob", { @@ -230,16 +282,22 @@ test_that("ImportPreprocessedDataAsJob", { # @param input_files array[data.frame] (optional) # @return [Job] - project_id <- "ImportPreprocessedDataAsJob" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - api_instance$CreateProject(project_id, project_dir) + tryCatch({ + + project_id <- "ImportPreprocessedDataAsJob" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- c(preproc_ms2_file_1, preproc_ms2_file_2) + response <- api_instance$ImportPreprocessedDataAsJob(project_id, input_files = var_input_files) + expect_true(inherits(response, "Job")) + + }, finally = { - var_input_files <- preproc_ms2_file_1 - response <- api_instance$ImportPreprocessedDataAsJob(project_id, input_files=var_input_files) - expect_true(inherits(response, "Job")) + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) - withr::defer(api_instance$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }) }) test_that("OpenProject", { @@ -252,11 +310,17 @@ test_that("OpenProject", { # @param opt_fields array[ProjectInfoOptField] (optional) # @return [ProjectInfo] - project_id <- "OpenProject" - project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep="/") + tryCatch({ + + project_id <- "OpenProject" + project_dir <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep = "/") + + response <- api_instance$OpenProject(project_id, project_dir) + expect_true(inherits(response, "ProjectInfo")) + + }, finally = { - response <- api_instance$OpenProject(project_id, project_dir) - expect_true(inherits(response, "ProjectInfo")) + api_instance$CloseProject(project_id) - withr::defer(api_instance$CloseProject(project_id)) + }) }) From ccdd182fadbb2ecea0444bedc0fd3d0acb1b0fe0 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 18:05:33 +0200 Subject: [PATCH 16/76] test multiple variations of preprocessed data import --- .../tests/testthat/test_projects_api.R | 158 +++++++++++++++++- 1 file changed, 156 insertions(+), 2 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_projects_api.R b/client-api_r/generated/tests/testthat/test_projects_api.R index 7eceeb80..5e8e8e5e 100644 --- a/client-api_r/generated/tests/testthat/test_projects_api.R +++ b/client-api_r/generated/tests/testthat/test_projects_api.R @@ -250,9 +250,50 @@ test_that("ImportPreprocessedData", { # @param input_files array[data.frame] (optional) # @return [ImportResult] + # TEST 1: single file as characters tryCatch({ - project_id <- "ImportPreprocessedData" + project_id <- "ImportPreprocessedData1" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- preproc_ms2_file_1 + response <- api_instance$ImportPreprocessedData(project_id, input_files = var_input_files) + expect_true(inherits(response, "ImportResult")) + expect_equal(length(response$affectedCompoundIds), 1) + expect_equal(length(response$affectedAlignedFeatureIds), 1) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) + + # TEST 2: single file in vector + tryCatch({ + + project_id <- "ImportPreprocessedData2" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- c(preproc_ms2_file_1) + response <- api_instance$ImportPreprocessedData(project_id, input_files = var_input_files) + expect_true(inherits(response, "ImportResult")) + expect_equal(length(response$affectedCompoundIds), 1) + expect_equal(length(response$affectedAlignedFeatureIds), 1) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) + + # TEST 3: multiple files in vector + tryCatch({ + + project_id <- "ImportPreprocessedData3" project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") api_instance$CreateProject(project_id, project_dir) @@ -268,6 +309,46 @@ test_that("ImportPreprocessedData", { unlink(project_dir, recursive = TRUE) }) + + # TEST 4: single file in list + tryCatch({ + + project_id <- "ImportPreprocessedData4" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- list(preproc_ms2_file_1) + response <- api_instance$ImportPreprocessedData(project_id, input_files = var_input_files) + expect_true(inherits(response, "ImportResult")) + expect_equal(length(response$affectedCompoundIds), 1) + expect_equal(length(response$affectedAlignedFeatureIds), 1) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) + + # TEST 5: multiple files in list + tryCatch({ + + project_id <- "ImportPreprocessedData5" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- list(preproc_ms2_file_1, preproc_ms2_file_2) + response <- api_instance$ImportPreprocessedData(project_id, input_files = var_input_files) + expect_true(inherits(response, "ImportResult")) + expect_equal(length(response$affectedCompoundIds), 2) + expect_equal(length(response$affectedAlignedFeatureIds), 2) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("ImportPreprocessedDataAsJob", { @@ -282,9 +363,46 @@ test_that("ImportPreprocessedDataAsJob", { # @param input_files array[data.frame] (optional) # @return [Job] + # TEST 1: single file as characters + tryCatch({ + + project_id <- "ImportPreprocessedDataAsJob1" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- preproc_ms2_file_1 + response <- api_instance$ImportPreprocessedDataAsJob(project_id, input_files = var_input_files) + expect_true(inherits(response, "Job")) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) + + # TEST 2: single file in vector + tryCatch({ + + project_id <- "ImportPreprocessedDataAsJob2" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- c(preproc_ms2_file_1) + response <- api_instance$ImportPreprocessedDataAsJob(project_id, input_files = var_input_files) + expect_true(inherits(response, "Job")) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) + + # TEST 3: multiple files in vector tryCatch({ - project_id <- "ImportPreprocessedDataAsJob" + project_id <- "ImportPreprocessedDataAsJob3" project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") api_instance$CreateProject(project_id, project_dir) @@ -298,6 +416,42 @@ test_that("ImportPreprocessedDataAsJob", { unlink(project_dir, recursive = TRUE) }) + + # TEST 4: single file in list + tryCatch({ + + project_id <- "ImportPreprocessedDataAsJob4" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- list(preproc_ms2_file_1) + response <- api_instance$ImportPreprocessedDataAsJob(project_id, input_files = var_input_files) + expect_true(inherits(response, "Job")) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) + + # TEST 5: multiple files in list + tryCatch({ + + project_id <- "ImportPreprocessedDataAsJob5" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- list(preproc_ms2_file_1, preproc_ms2_file_2) + response <- api_instance$ImportPreprocessedDataAsJob(project_id, input_files = var_input_files) + expect_true(inherits(response, "Job")) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("OpenProject", { From 2b814c7d40d93fdc507459f4393d016c35d8b511 Mon Sep 17 00:00:00 2001 From: Jonas Emmert <63006948+joXemMx@users.noreply.github.com> Date: Mon, 29 Sep 2025 18:15:34 +0200 Subject: [PATCH 17/76] set download to 6.3.3-SNAPSHOT --- .github/workflows/NewUpdate.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index 2a8c098e..8384b70c 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -29,8 +29,8 @@ jobs: timeout_minutes: 5 command: | cd .updater/api - wget https://github.com/sirius-ms/sirius/releases/download/v6.3.1/sirius-6.3.1-linux-x64.zip - packageVersion=6.3.1 + wget https://github.com/sirius-ms/sirius/releases/download/v6.3.3-SNAPSHOT/sirius-6.3.3-SNAPSHOT-linux-x64.zip + packageVersion=6.3.3-SNAPSHOT echo "Writing Version files: $packageVersion" echo $packageVersion > ./packageVersion.txt unzip *.zip From f9a350f4222aea7ef6ae6127574fa67bf5ffe67c Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 20:53:54 +0200 Subject: [PATCH 18/76] bugfix mustache layout for multi file ulpoad in api class --- client-api_r/templates/r/api.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client-api_r/templates/r/api.mustache b/client-api_r/templates/r/api.mustache index ce0a538c..623c86b3 100644 --- a/client-api_r/templates/r/api.mustache +++ b/client-api_r/templates/r/api.mustache @@ -438,8 +438,8 @@ file_params["{{baseName}}"] <- httr::upload_file(`{{paramName}}`) {{/isHttr2}} {{#isHttr2}} - file_params[["{{{baseName}}}"]] <- lapply(input_files, function(file_path) { - curl::form_file(`{{paramName}}`) + file_params[["{{{baseName}}}"]] <- lapply(`{{paramName}}`, function(param) { + curl::form_file(param) }) {{/isHttr2}} {{/isFile}} From f407491bdf0b660d82ff177411fc66d61210c43c Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 23:15:35 +0200 Subject: [PATCH 19/76] ImportMsRunData tests running under 6.3.3-SNAPSHOT --- .../tests/testthat/test_projects_api.R | 57 +++++++++++-------- client-api_r/templates/r/api.mustache | 8 ++- 2 files changed, 41 insertions(+), 24 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_projects_api.R b/client-api_r/generated/tests/testthat/test_projects_api.R index 5e8e8e5e..0a8dcbc6 100644 --- a/client-api_r/generated/tests/testthat/test_projects_api.R +++ b/client-api_r/generated/tests/testthat/test_projects_api.R @@ -200,18 +200,23 @@ test_that("ImportMsRunData", { # @param input_files array[data.frame] (optional) # @return [ImportResult] - # Request processing failed: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "de.unijena.bioinf.ms.frontend.subtools.lcms_align.DataSmoothing.ordinal()" because "filter" is null - # project_id <- "ImportMsRunData" - # project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - # api_instance$CreateProject(project_id, project_dir) - # - # var_input_files <- full_ms_file - # var_parameters <- LcmsSubmissionParameters$new()$toJSON() - # response <- api_instance$ImportMsRunData(project_id, var_parameters, input_files=var_input_files) - # expect_true(inherits(response, "ImportResult")) - # - # withr::defer(api_instance$CloseProject(project_id)) - # withr::defer(unlink(project_dir, recursive=TRUE)) + tryCatch({ + + project_id <- "ImportMsRunData" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- c(full_ms_file) + var_parameters <- LcmsSubmissionParameters$new() + response <- api_instance$ImportMsRunData(project_id, input_files=var_input_files, parameters=var_parameters) + expect_true(inherits(response, "ImportResult")) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("ImportMsRunDataAsJob", { @@ -226,17 +231,23 @@ test_that("ImportMsRunDataAsJob", { # @param input_files array[data.frame] (optional) # @return [Job] - # project_id <- "ImportMsRunDataAsJob" - # project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - # api_instance$CreateProject(project_id, project_dir) - # - # var_input_files <- full_ms_file - # var_parameters <- LcmsSubmissionParameters$new(TRUE)$toJSONString() - # response <- api_instance$ImportMsRunDataAsJob(project_id, parameters=var_parameters, input_files=var_input_files) - # expect_true(inherits(response, "Job")) - # - # withr::defer(api_instance$CloseProject(project_id)) - # withr::defer(unlink(project_dir, recursive=TRUE)) + tryCatch({ + + project_id <- "ImportMsRunDataAsJob" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + api_instance$CreateProject(project_id, project_dir) + + var_input_files <- c(full_ms_file) + var_parameters <- LcmsSubmissionParameters$new() + response <- api_instance$ImportMsRunDataAsJob(project_id, input_files=var_input_files, parameters=var_parameters) + expect_true(inherits(response, "Job")) + + }, finally = { + + api_instance$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("ImportPreprocessedData", { diff --git a/client-api_r/templates/r/api.mustache b/client-api_r/templates/r/api.mustache index 623c86b3..ff62af5f 100644 --- a/client-api_r/templates/r/api.mustache +++ b/client-api_r/templates/r/api.mustache @@ -431,7 +431,13 @@ {{#hasFormParams}} {{#formParams}} {{^isFile}} - form_params["{{baseName}}"] <- `{{paramName}}` + if (!is.null(`{{paramName}}`)) { + if (inherits(`{{paramName}}`, "R6")) { + form_params[["{{baseName}}"]] <- `{{paramName}}`$toJSONString() + } else { + form_params[["{{baseName}}"]] <- `{{paramName}}` + } + } {{/isFile}} {{#isFile}} {{^isHttr2}} From 9be86cf2ae0018fc4e46304121de4009328efca3 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 23:16:14 +0200 Subject: [PATCH 20/76] jobs api try-catch --- .../generated/tests/testthat/test_jobs_api.R | 281 +++++++++++------- 1 file changed, 167 insertions(+), 114 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_jobs_api.R b/client-api_r/generated/tests/testthat/test_jobs_api.R index 8dab55a4..619702da 100644 --- a/client-api_r/generated/tests/testthat/test_jobs_api.R +++ b/client-api_r/generated/tests/testthat/test_jobs_api.R @@ -4,13 +4,13 @@ context("Test JobsApi") options(warn=-1) -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$jobs_api features_api <- api$features_api projects_api <- api$projects_api path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") -input_file = paste(path_to_demo_data, "Kaempferol.ms", sep="/") +input_file <- paste(path_to_demo_data, "Kaempferol.ms", sep="/") test_that("DeleteJob", { @@ -24,18 +24,24 @@ test_that("DeleteJob", { # @param await_deletion character If true request will block until deletion succeeded or failed. If the job is still running the request will wait until the job has finished. (optional) # @return [Void] - project_id <- "DeleteJob" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + tryCatch({ - response_before <- api_instance$GetJobs(project_id) - api_instance$DeleteJob(project_id, response_before[[1]]$id) - response_after <- api_instance$GetJobs(project_id) - expect_equal(length(response_before), length(response_after)+1) + project_id <- "DeleteJob" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + response_before <- api_instance$GetJobs(project_id) + api_instance$DeleteJob(project_id, response_before[[1]]$id) + response_after <- api_instance$GetJobs(project_id) + expect_equal(length(response_before), length(response_after)+1) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("DeleteJobConfig", { @@ -46,21 +52,26 @@ test_that("DeleteJobConfig", { # @param name character name of the job-config to delete # @return [Void] -# project_id <- "DeleteJobConfig" -# project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") -# projects_api$CreateProject(project_id, project_dir) -# -# config_name <- project_id -# config <- api_instance$GetDefaultJobConfig(TRUE) -# api_instance$SaveJobConfig(config_name, config, override_existing=TRUE) -# -# response_before <- api_instance$GetJobConfigs(project_id) -# api_instance$DeleteJobConfig(config_name) -# response_after <- api_instance$GetJobConfigs(project_id) -# expect_equal(length(response_before), length(response_after)+1) -# -# withr::defer(projects_api$CloseProject(project_id)) -# withr::defer(unlink(project_dir, recursive=TRUE)) + tryCatch({ + + project_id <- "DeleteJobConfig" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + + job_submission <- api_instance$GetDefaultJobConfig(TRUE) + api_instance$SaveJobConfig(project_id, job_submission, TRUE) + + response_before <- api_instance$GetJobConfigs() + api_instance$DeleteJobConfig(project_id) + response_after <- api_instance$GetJobConfigs() + expect_equal(length(response_before), length(response_after)+1) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("DeleteJobs", { @@ -73,18 +84,24 @@ test_that("DeleteJobs", { # @param await_deletion character If true request will block until deletion succeeded or failed. If the job is still running the request will wait until the job has finished. (optional) # @return [Void] - project_id <- "DeleteJob" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + tryCatch({ - response_before <- api_instance$GetJobs(project_id) - api_instance$DeleteJobs(project_id) - response_after <- api_instance$GetJobs(project_id) - expect_equal(length(response_before), length(response_after)+1) + project_id <- "DeleteJob" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + response_before <- api_instance$GetJobs(project_id) + api_instance$DeleteJobs(project_id) + response_after <- api_instance$GetJobs(project_id) + expect_equal(length(response_before), length(response_after)+1) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("GetCommand", { @@ -124,17 +141,23 @@ test_that("GetJob", { # @param opt_fields array[JobOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [Job] - project_id <- "GetJob" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) - job_id <- api_instance$GetJobs(project_id)[[1]]$id + tryCatch({ + + project_id <- "GetJob" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + job_id <- api_instance$GetJobs(project_id)[[1]]$id + + response <- api_instance$GetJob(project_id, job_id) + expect_true(inherits(response, "Job")) - response <- api_instance$GetJob(project_id, job_id) - expect_true(inherits(response, "Job")) + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("GetJobConfig", { @@ -183,17 +206,23 @@ test_that("GetJobs", { # @param opt_fields array[JobOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [array[Job]] - project_id <- "GetJobs" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + tryCatch({ - response <- api_instance$GetJobs(project_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "Job")) + project_id <- "GetJobs" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + + response <- api_instance$GetJobs(project_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "Job")) + + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("GetJobsPaged", { @@ -208,16 +237,22 @@ test_that("GetJobsPaged", { # @param opt_fields array[JobOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [PageJob] - project_id <- "GetJobsPaged" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + tryCatch({ + + project_id <- "GetJobsPaged" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + + response <- api_instance$GetJobsPaged(project_id) + expect_true(inherits(response, "PagedModelJob")) - response <- api_instance$GetJobsPaged(project_id) - expect_true(inherits(response, "PagedModelJob")) + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("HasJobs", { @@ -227,16 +262,22 @@ test_that("HasJobs", { # @param include_finished character (optional) # @return [character] - project_id <- "HasJobs" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) + tryCatch({ + + project_id <- "HasJobs" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) - response <- api_instance$HasJobs(project_id) - expect_true(inherits(response, "logical")) + response <- api_instance$HasJobs(project_id) + expect_true(inherits(response, "logical")) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("SaveJobConfig", { @@ -247,7 +288,7 @@ test_that("SaveJobConfig", { # @param name character name of the job-config to add # @param job_submission JobSubmission to add # @param override_existing character (optional) - + config_name <- "SaveJobConfig" job_submission <- api_instance$GetDefaultJobConfig(TRUE) @@ -266,29 +307,35 @@ test_that("StartJob", { # @param opt_fields array[JobOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [Job] - project_id <- "StartJob" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) - Sys.sleep(1) - - job_submission <- api_instance$GetDefaultJobConfig() - job_submission$zodiacParams$enabled <- FALSE - job_submission$fingerprintPredictionParams$enabled <- FALSE - job_submission$canopusParams$enabled <- FALSE - job_submission$structureDbSearchParams$enabled <- FALSE - job_submission$msNovelistParams$enabled <- FALSE - job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) - - response <- api_instance$StartJob(project_id, job_submission) - while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { + tryCatch({ + + project_id <- "StartJob" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) Sys.sleep(1) - } - expect_true(inherits(response, "Job")) + job_submission <- api_instance$GetDefaultJobConfig() + job_submission$zodiacParams$enabled <- FALSE + job_submission$fingerprintPredictionParams$enabled <- FALSE + job_submission$canopusParams$enabled <- FALSE + job_submission$structureDbSearchParams$enabled <- FALSE + job_submission$msNovelistParams$enabled <- FALSE + job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + response <- api_instance$StartJob(project_id, job_submission) + while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { + Sys.sleep(1) + } + + expect_true(inherits(response, "Job")) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) + + }) }) test_that("StartJobFromConfig", { @@ -303,28 +350,34 @@ test_that("StartJobFromConfig", { # @param opt_fields array[JobOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [Job] - project_id <- "StartJobFromConfig" - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - projects_api$CreateProject(project_id, project_dir) - import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) - Sys.sleep(1) - - job_submission <- api_instance$GetDefaultJobConfig() - job_submission$zodiacParams$enabled <- FALSE - job_submission$fingerprintPredictionParams$enabled <- FALSE - job_submission$canopusParams$enabled <- FALSE - job_submission$structureDbSearchParams$enabled <- FALSE - job_submission$msNovelistParams$enabled <- FALSE - job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) - - api_instance$SaveJobConfig(project_id, job_submission, TRUE) - response <- api_instance$StartJobFromConfig(project_id, project_id, job_submission$alignedFeatureIds) - while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { + tryCatch({ + + project_id <- "StartJobFromConfig" + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") + projects_api$CreateProject(project_id, project_dir) + import_job <- projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file, ignore_formulas=TRUE) Sys.sleep(1) - } - expect_true(inherits(response, "Job")) + job_submission <- api_instance$GetDefaultJobConfig() + job_submission$zodiacParams$enabled <- FALSE + job_submission$fingerprintPredictionParams$enabled <- FALSE + job_submission$canopusParams$enabled <- FALSE + job_submission$structureDbSearchParams$enabled <- FALSE + job_submission$msNovelistParams$enabled <- FALSE + job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) + + api_instance$SaveJobConfig(project_id, job_submission, TRUE) + response <- api_instance$StartJobFromConfig(project_id, project_id, job_submission$alignedFeatureIds) + while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { + Sys.sleep(1) + } + + expect_true(inherits(response, "Job")) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_dir, recursive = TRUE) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(unlink(project_dir, recursive=TRUE)) + }) }) From 397874219923bfb2f70e92a2eedf4026ffd67165 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 23:20:52 +0200 Subject: [PATCH 21/76] we don't do = in this town --- client-api_r/generated/tests/testthat/test_actuator_api.R | 4 ++-- client-api_r/generated/tests/testthat/test_info_api.R | 4 ++-- .../generated/tests/testthat/test_login_and_account_api.R | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_actuator_api.R b/client-api_r/generated/tests/testthat/test_actuator_api.R index f46e1746..e1f968ff 100644 --- a/client-api_r/generated/tests/testthat/test_actuator_api.R +++ b/client-api_r/generated/tests/testthat/test_actuator_api.R @@ -3,8 +3,8 @@ context("Test ActuatorApi") -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$actuator_api test_that("Health", { diff --git a/client-api_r/generated/tests/testthat/test_info_api.R b/client-api_r/generated/tests/testthat/test_info_api.R index 45b367d5..bd15022f 100644 --- a/client-api_r/generated/tests/testthat/test_info_api.R +++ b/client-api_r/generated/tests/testthat/test_info_api.R @@ -3,8 +3,8 @@ context("Test InfoApi") -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$info_api test_that("GetConnectionCheck", { diff --git a/client-api_r/generated/tests/testthat/test_login_and_account_api.R b/client-api_r/generated/tests/testthat/test_login_and_account_api.R index 222f1aa3..2cc778e0 100644 --- a/client-api_r/generated/tests/testthat/test_login_and_account_api.R +++ b/client-api_r/generated/tests/testthat/test_login_and_account_api.R @@ -3,8 +3,8 @@ context("Test LoginAndAccountApi") -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$login_and_account_api test_that("GetAccountInfo", { From 1a1d791bf409a28934475df955c3d65a0610900e Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 23:21:12 +0200 Subject: [PATCH 22/76] databases api try-catch --- .../testthat/test_searchable_databases_api.R | 83 ++++++++++++------- 1 file changed, 53 insertions(+), 30 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_searchable_databases_api.R b/client-api_r/generated/tests/testthat/test_searchable_databases_api.R index 5cdf2d51..df343110 100644 --- a/client-api_r/generated/tests/testthat/test_searchable_databases_api.R +++ b/client-api_r/generated/tests/testthat/test_searchable_databases_api.R @@ -3,12 +3,12 @@ context("Test SearchableDatabasesApi") -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$searchable_databases_api home_dir <- Sys.getenv("HOME") -path_to_demo_data <- paste(home_dir, "sirius-client-openAPI/.updater/clientTests/Data", sep="/") -test_file = paste(path_to_demo_data, "Kaempferol.ms", sep="/") +path_to_demo_data <- paste(home_dir, "sirius-client-openAPI/.updater/clientTests/Data", sep = "/") +test_file <- paste(path_to_demo_data, "Kaempferol.ms", sep = "/") test_that("CreateDatabase", { @@ -18,13 +18,19 @@ test_that("CreateDatabase", { # @param searchable_database_parameters SearchableDatabaseParameters (optional) # @return [SearchableDatabase] - db_name <- "CreateDatabase" - db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) + tryCatch({ - response <- api_instance$CreateDatabase(db_name, db_params) - expect_true(inherits(response, "SearchableDatabase")) + db_name <- "CreateDatabase" + db_params <- SearchableDatabaseParameters$new(display_name = db_name, location = paste0(home_dir, "/", db_name, ".siriusdb")) - withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) + response <- api_instance$CreateDatabase(db_name, db_params) + expect_true(inherits(response, "SearchableDatabase")) + + }, finally = { + + api_instance$RemoveDatabase(db_name, TRUE) + + }) }) test_that("GetCustomDatabases", { @@ -33,15 +39,21 @@ test_that("GetCustomDatabases", { # @param include_stats character (optional) # @return [array[SearchableDatabase]] - db_name <- "GetCustomDatabases" - db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) - api_instance$CreateDatabase(db_name, db_params) + tryCatch({ - response <- api_instance$GetCustomDatabases() - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "SearchableDatabase")) + db_name <- "GetCustomDatabases" + db_params <- SearchableDatabaseParameters$new(display_name = db_name, location = paste0(home_dir, "/", db_name, ".siriusdb")) + api_instance$CreateDatabase(db_name, db_params) + + response <- api_instance$GetCustomDatabases() + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "SearchableDatabase")) + + }, finally = { + + api_instance$RemoveDatabase(db_name, TRUE) - withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) + }) }) test_that("GetDatabase", { @@ -51,14 +63,20 @@ test_that("GetDatabase", { # @param include_stats character (optional) # @return [SearchableDatabase] - db_name <- "GetDatabase" - db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) - api_instance$CreateDatabase(db_name, db_params) + tryCatch({ + + db_name <- "GetDatabase" + db_params <- SearchableDatabaseParameters$new(display_name = db_name, location = paste0(home_dir, "/", db_name, ".siriusdb")) + api_instance$CreateDatabase(db_name, db_params) + + response <- api_instance$GetDatabase(db_name) + expect_true(inherits(response, "SearchableDatabase")) + + }, finally = { - response <- api_instance$GetDatabase(db_name) - expect_true(inherits(response, "SearchableDatabase")) + api_instance$RemoveDatabase(db_name, TRUE) - withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) + }) }) test_that("GetDatabases", { @@ -93,15 +111,20 @@ test_that("ImportIntoDatabase", { # @param input_files array[data.frame] (optional) # @return [SearchableDatabase] - # TODO broken - db_name <- "ImportIntoDatabase" - db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) - api_instance$CreateDatabase(db_name, db_params) + tryCatch({ + + db_name <- "ImportIntoDatabase" + db_params <- SearchableDatabaseParameters$new(display_name = db_name, location = paste0(home_dir, "/", db_name, ".siriusdb")) + api_instance$CreateDatabase(db_name, db_params) + + response <- api_instance$ImportIntoDatabase(db_name, input_files = c(test_file)) + expect_true(inherits(response, "SearchableDatabase")) + + }, finally = { - response <- api_instance$ImportIntoDatabase(db_name, input_files=c(test_file)) - expect_true(inherits(response, "SearchableDatabase")) + api_instance$RemoveDatabase(db_name, TRUE) - withr::defer(api_instance$RemoveDatabase(db_name, TRUE)) + }) }) test_that("RemoveDatabase", { @@ -112,7 +135,7 @@ test_that("RemoveDatabase", { # @return [Void] db_name <- "RemoveDatabase" - db_params <- SearchableDatabaseParameters$new(display_name=db_name, location=paste0(home_dir, "/", db_name, ".siriusdb")) + db_params <- SearchableDatabaseParameters$new(display_name = db_name, location = paste0(home_dir, "/", db_name, ".siriusdb")) api_instance$CreateDatabase(db_name, db_params) response <- api_instance$RemoveDatabase(db_name, TRUE) From 9c0fd760284b8faca1c19bc6c32ed44a0d9a4253 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 23:56:09 +0200 Subject: [PATCH 23/76] features api try-catch --- .../tests/testthat/test_features_api.R | 619 ++++++++++++------ 1 file changed, 401 insertions(+), 218 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_features_api.R b/client-api_r/generated/tests/testthat/test_features_api.R index efbb9880..6112cf7d 100644 --- a/client-api_r/generated/tests/testthat/test_features_api.R +++ b/client-api_r/generated/tests/testthat/test_features_api.R @@ -2,23 +2,23 @@ # Please update as you see appropriate context("Test FeaturesApi") -options(warn=-1) +options(warn = -1) -sdk = SiriusSDK$new() -api = sdk$attach_to_sirius() +sdk <- SiriusSDK$new() +api <- sdk$attach_to_sirius() api_instance <- api$features_api projects_api <- api$projects_api -path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep="/") -preproc_ms2_file_1 = paste(path_to_demo_data, "Kaempferol.ms", sep="/") -preproc_ms2_file_2 = paste(path_to_demo_data, "laudanosine.mgf", sep="/") +path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep = "/") +preproc_ms2_file_1 <- paste(path_to_demo_data, "Kaempferol.ms", sep = "/") +preproc_ms2_file_2 <- paste(path_to_demo_data, "laudanosine.mgf", sep = "/") aligned_feature_id <- "586487307819356741" -tomato_project <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep="/") +tomato_project <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep = "/") basic_spectrum <- c(BasicSpectrum$new(peaks = c(SimplePeak$new(1.23, 4.56)), precursorMz = 1.23)) feature_import <- c(FeatureImport$new(name = "testfeature", feature_id = "testfeature", ionMass = 1.23, adduct = "[M+?]+", ms1Spectra = basic_spectrum, ms2Spectra = basic_spectrum)) -delete_if_exists <- function(path){ +delete_if_exists <- function(path) { if (file.exists(path)) { file.remove(path) } @@ -34,17 +34,24 @@ test_that("AddAlignedFeatures", { # @param opt_fields array[AlignedFeatureOptField] set of optional fields to be included. Use 'none' to override defaults. (optional) # @return [array[AlignedFeature]] - project_id <- "AddAlignedFeatures" + tryCatch({ - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - project_info <- projects_api$CreateProject(project_id, project_dir) + project_id <- "AddAlignedFeatures" - response <- api_instance$AddAlignedFeatures(project_id, feature_import) + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + project_info <- projects_api$CreateProject(project_id, project_dir) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "AlignedFeature")) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(delete_if_exists(project_info$location)) + response <- api_instance$AddAlignedFeatures(project_id, feature_import) + + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "AlignedFeature")) + + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_info$location, recursive = TRUE) + + }) }) test_that("DeleteAlignedFeature", { @@ -56,24 +63,31 @@ test_that("DeleteAlignedFeature", { # @param aligned_feature_id character identifier of feature (aligned over runs) to delete. # @return [Void] - project_id <- "DeleteAlignedFeature" + tryCatch({ + + project_id <- "DeleteAlignedFeature" + + # we create a new project since we cannot just add data to an existing + # project that is of different data type like tomato + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + project_info <- projects_api$CreateProject(project_id, project_dir) + + var_input_files <- preproc_ms2_file_1 + import <- projects_api$ImportPreprocessedData(project_id, input_files = var_input_files) + feature_id <- import$affectedAlignedFeatureIds[[1]] - # we create a new project since we cannot just add data to an existing - # project that is of different data type like tomato - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - project_info <- projects_api$CreateProject(project_id, project_dir) - - var_input_files <- preproc_ms2_file_1 - import <- projects_api$ImportPreprocessedData(project_id, input_files=var_input_files) - feature_id <- import$affectedAlignedFeatureIds[[1]] + response_before <- api_instance$GetAlignedFeatures(project_id) + api_instance$DeleteAlignedFeature(project_id, feature_id) + response_after <- api_instance$GetAlignedFeatures(project_id) - response_before <- api_instance$GetAlignedFeatures(project_id) - api_instance$DeleteAlignedFeature(project_id, feature_id) - response_after <- api_instance$GetAlignedFeatures(project_id) + expect_equal(length(response_before) - length(response_after), 1) - expect_equal(length(response_before) - length(response_after), 1) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(delete_if_exists(project_info$location)) + }, finally = { + + projects_api$CloseProject(project_id) + unlink(project_info$location, recursive = TRUE) + + }) }) test_that("DeleteAlignedFeatures", { @@ -85,24 +99,33 @@ test_that("DeleteAlignedFeatures", { # @param request_body array[character] # @return [Void] - project_id <- "DeleteAlignedFeatures" + tryCatch({ + + project_id <- "DeleteAlignedFeatures" + + # we create a new project since we cannot just add data to an existing + # project that is of different data type like tomato + project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep = "/") + project_info <- projects_api$CreateProject(project_id, project_dir) + + # multiple files in vector + var_input_files <- c(preproc_ms2_file_1, preproc_ms2_file_2) + import <- projects_api$ImportPreprocessedData(project_id, input_files = var_input_files) + feature_id_1 <- import$affectedAlignedFeatureIds[[1]] + feature_id_2 <- import$affectedAlignedFeatureIds[[2]] + + response_before <- api_instance$GetAlignedFeatures(project_id) + api_instance$DeleteAlignedFeatures(project_id, c(feature_id_1, feature_id_2)) + response_after <- api_instance$GetAlignedFeatures(project_id) - # we create a new project since we cannot just add data to an existing - # project that is of different data type like tomato - project_dir <- paste(Sys.getenv("HOME"), paste0(project_id, ".sirius"), sep="/") - project_info <- projects_api$CreateProject(project_id, project_dir) + expect_equal(length(response_before) - length(response_after), 2) - var_input_files <- preproc_ms2_file_1 - import <- projects_api$ImportPreprocessedData(project_id, input_files=var_input_files) - feature_id <- import$affectedAlignedFeatureIds[[1]] + }, finally = { - response_before <- api_instance$GetAlignedFeatures(project_id) - api_instance$DeleteAlignedFeatures(project_id, list(feature_id)) - response_after <- api_instance$GetAlignedFeatures(project_id) + projects_api$CloseProject(project_id) + unlink(project_info$location, recursive = TRUE) - expect_equal(length(response_before) - length(response_after), 1) - withr::defer(projects_api$CloseProject(project_id)) - withr::defer(delete_if_exists(project_info$location)) + }) }) test_that("GetAlignedFeature", { @@ -114,13 +137,20 @@ test_that("GetAlignedFeature", { # @param aligned_feature_id character identifier of feature (aligned over runs) to access. # @param opt_fields array[AlignedFeatureOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [AlignedFeature] - project_id <- "GetAlignedFeatures" - projects_api$OpenProject(project_id, tomato_project) - response <- api_instance$GetAlignedFeature(project_id, aligned_feature_id) - expect_true(inherits(response, "AlignedFeature")) + tryCatch({ - withr::defer(projects_api$CloseProject(project_id)) + project_id <- "GetAlignedFeatures" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetAlignedFeature(project_id, aligned_feature_id) + expect_true(inherits(response, "AlignedFeature")) + + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetAlignedFeatures", { @@ -131,14 +161,21 @@ test_that("GetAlignedFeatures", { # @param project_id character project-space to read from. # @param opt_fields array[AlignedFeatureOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [array[AlignedFeature]] - project_id <- "GetAlignedFeatures" - projects_api$OpenProject(project_id, tomato_project) - response <- api_instance$GetAlignedFeatures(project_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "AlignedFeature")) + tryCatch({ + + project_id <- "GetAlignedFeatures" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetAlignedFeatures(project_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "AlignedFeature")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetAlignedFeaturesPaged", { @@ -153,13 +190,19 @@ test_that("GetAlignedFeaturesPaged", { # @param opt_fields array[AlignedFeatureOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [PageAlignedFeature] - project_id <- "GetAlignedFeaturesPaged" - projects_api$OpenProject(project_id, tomato_project) + tryCatch({ + + project_id <- "GetAlignedFeaturesPaged" + projects_api$OpenProject(project_id, tomato_project) - response <- api_instance$GetAlignedFeaturesPaged(project_id) - expect_true(inherits(response, "PagedModelAlignedFeature")) + response <- api_instance$GetAlignedFeaturesPaged(project_id) + expect_true(inherits(response, "PagedModelAlignedFeature")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetBestMatchingCompoundClasses", { @@ -172,14 +215,20 @@ test_that("GetBestMatchingCompoundClasses", { # @param formula_id character identifier of the requested formula result # @return [CompoundClasses] - project_id <- "GetFormulaCandidate" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetFormulaCandidate" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - response <-api_instance$GetBestMatchingCompoundClasses(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "CompoundClasses")) + response <- api_instance$GetBestMatchingCompoundClasses(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "CompoundClasses")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetCanopusPrediction", { @@ -192,14 +241,20 @@ test_that("GetCanopusPrediction", { # @param formula_id character identifier of the requested formula result # @return [CanopusPrediction] - project_id <- "GetCanopusPrediction" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetCanopusPrediction" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + + response <- api_instance$GetCanopusPrediction(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "CanopusPrediction")) - response <-api_instance$GetCanopusPrediction(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "CanopusPrediction")) + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) + projects_api$CloseProject(project_id) + + }) }) test_that("GetDeNovoStructureCandidates", { @@ -212,14 +267,20 @@ test_that("GetDeNovoStructureCandidates", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [array[StructureCandidateFormula]] - project_id <- "GetDeNovoStructureCandidatesByFormula" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetDeNovoStructureCandidates(project_id, aligned_feature_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "StructureCandidateFormula")) + tryCatch({ + + project_id <- "GetDeNovoStructureCandidatesByFormula" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetDeNovoStructureCandidates(project_id, aligned_feature_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "StructureCandidateFormula")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetDeNovoStructureCandidatesByFormula", { @@ -233,15 +294,21 @@ test_that("GetDeNovoStructureCandidatesByFormula", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [array[StructureCandidateScored]] - project_id <- "GetDeNovoStructureCandidatesByFormula" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetDeNovoStructureCandidatesByFormula" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - response <- api_instance$GetDeNovoStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "StructureCandidateScored")) + response <- api_instance$GetDeNovoStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "StructureCandidateScored")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetDeNovoStructureCandidatesByFormulaPaged", { @@ -258,14 +325,20 @@ test_that("GetDeNovoStructureCandidatesByFormulaPaged", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [PageStructureCandidateScored] - project_id <- "GetDeNovoStructureCandidatesByFormulaPaged" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetDeNovoStructureCandidatesByFormulaPaged" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - response <- api_instance$GetDeNovoStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "PagedModelStructureCandidateScored")) + response <- api_instance$GetDeNovoStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "PagedModelStructureCandidateScored")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetDeNovoStructureCandidatesPaged", { @@ -281,13 +354,19 @@ test_that("GetDeNovoStructureCandidatesPaged", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [PageStructureCandidateFormula] - project_id <- "GetDeNovoStructureCandidatesPaged" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetDeNovoStructureCandidatesPaged(project_id, aligned_feature_id) - expect_true(inherits(response, "PagedModelStructureCandidateFormula")) + tryCatch({ + + project_id <- "GetDeNovoStructureCandidatesPaged" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetDeNovoStructureCandidatesPaged(project_id, aligned_feature_id) + expect_true(inherits(response, "PagedModelStructureCandidateFormula")) + + }, finally = { + + projects_api$CloseProject(project_id) - withr::defer(projects_api$CloseProject(project_id)) + }) }) test_that("GetFingerprintPrediction", { @@ -300,15 +379,21 @@ test_that("GetFingerprintPrediction", { # @param formula_id character identifier of the requested formula result # @return [array[numeric]] - project_id <- "GetFingerprintPrediction" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ - response <-api_instance$GetFingerprintPrediction(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "numeric")) + project_id <- "GetFingerprintPrediction" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - withr::defer(projects_api$CloseProject(project_id)) + response <- api_instance$GetFingerprintPrediction(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "numeric")) + + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetFormulaAnnotatedMsMsData", { @@ -321,14 +406,20 @@ test_that("GetFormulaAnnotatedMsMsData", { # @param formula_id character identifier of the requested formula result # @return [AnnotatedMsMsData] - project_id <- "GetFormulaAnnotatedMsMsData" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetFormulaAnnotatedMsMsData" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + + response <- api_instance$GetFormulaAnnotatedMsMsData(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "AnnotatedMsMsData")) + + }, finally = { - response <-api_instance$GetFormulaAnnotatedMsMsData(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "AnnotatedMsMsData")) + projects_api$CloseProject(project_id) - withr::defer(projects_api$CloseProject(project_id)) + }) }) test_that("GetFormulaAnnotatedSpectrum", { @@ -342,14 +433,20 @@ test_that("GetFormulaAnnotatedSpectrum", { # @param spectrum_index integer index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default) (optional) # @return [AnnotatedSpectrum] - project_id <- "GetFormulaAnnotatedSpectrum" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ - response <-api_instance$GetFormulaAnnotatedSpectrum(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "AnnotatedSpectrum")) + project_id <- "GetFormulaAnnotatedSpectrum" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - withr::defer(projects_api$CloseProject(project_id)) + response <- api_instance$GetFormulaAnnotatedSpectrum(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "AnnotatedSpectrum")) + + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetFormulaCandidate", { @@ -363,14 +460,20 @@ test_that("GetFormulaCandidate", { # @param opt_fields array[FormulaCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [FormulaCandidate] - project_id <- "GetFormulaCandidate" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetFormulaCandidate" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - response <-api_instance$GetFormulaCandidate(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "FormulaCandidate")) + response <- api_instance$GetFormulaCandidate(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "FormulaCandidate")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetFormulaCandidates", { @@ -383,14 +486,20 @@ test_that("GetFormulaCandidates", { # @param opt_fields array[FormulaCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [array[FormulaCandidate]] - project_id <- "GetFormulaCandidates" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "FormulaCandidate")) + tryCatch({ + + project_id <- "GetFormulaCandidates" + projects_api$OpenProject(project_id, tomato_project) - withr::defer(projects_api$CloseProject(project_id)) + response <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "FormulaCandidate")) + + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetFormulaCandidatesPaged", { @@ -406,13 +515,19 @@ test_that("GetFormulaCandidatesPaged", { # @param opt_fields array[FormulaCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [PageFormulaCandidate] - project_id <- "GetFormulaCandidatesPaged" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetFormulaCandidatesPaged(project_id, aligned_feature_id) - expect_true(inherits(response, "PagedModelFormulaCandidate")) + tryCatch({ + + project_id <- "GetFormulaCandidatesPaged" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetFormulaCandidatesPaged(project_id, aligned_feature_id) + expect_true(inherits(response, "PagedModelFormulaCandidate")) + + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) + projects_api$CloseProject(project_id) + + }) }) test_that("GetFragTree", { @@ -425,14 +540,20 @@ test_that("GetFragTree", { # @param formula_id character identifier of the requested formula result # @return [FragmentationTree] - project_id <- "GetFragTree" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetFragTree" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + + response <- api_instance$GetFragTree(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "FragmentationTree")) - response <- api_instance$GetFragTree(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "FragmentationTree")) + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) + projects_api$CloseProject(project_id) + + }) }) test_that("GetIsotopePatternAnnotation", { @@ -445,14 +566,20 @@ test_that("GetIsotopePatternAnnotation", { # @param formula_id character identifier of the requested formula result # @return [IsotopePatternAnnotation] - project_id <- "GetIsotopePatternAnnotation" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetIsotopePatternAnnotation" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + + response <- api_instance$GetIsotopePatternAnnotation(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "IsotopePatternAnnotation")) - response <- api_instance$GetIsotopePatternAnnotation(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "IsotopePatternAnnotation")) + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) + projects_api$CloseProject(project_id) + + }) }) test_that("GetLipidAnnotation", { @@ -465,14 +592,20 @@ test_that("GetLipidAnnotation", { # @param formula_id character identifier of the requested formula result # @return [LipidAnnotation] - project_id <- "GetLipidAnnotation" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetLipidAnnotation" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + + response <- api_instance$GetLipidAnnotation(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "LipidAnnotation")) - response <- api_instance$GetLipidAnnotation(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "LipidAnnotation")) + }, finally = { - withr::defer(projects_api$CloseProject(project_id)) + projects_api$CloseProject(project_id) + + }) }) test_that("GetMsData", { @@ -484,13 +617,19 @@ test_that("GetMsData", { # @param aligned_feature_id character feature (aligned over runs) the Mass Spec data belong sto. # @return [MsData] - project_id <- "GetMsData" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetMsData(project_id, aligned_feature_id) - expect_true(inherits(response, "MsData")) + tryCatch({ + + project_id <- "GetMsData" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetMsData(project_id, aligned_feature_id) + expect_true(inherits(response, "MsData")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetSpectralLibraryMatch", { @@ -504,16 +643,20 @@ test_that("GetSpectralLibraryMatch", { # @param opt_fields array[SpectralLibraryMatchOptField] (optional) # @return [SpectralLibraryMatch] -# # TODO seems like there are none -# project_id <- "GetSpectralLibraryMatch" -# projects_api$OpenProject(project_id, tomato_project) -# # match_id <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id)[[1]]$matchId -# -# response <- api_instance$GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id) -# expect_true(inherits(response, "list")) -# expect_true(inherits(response[[1]], "SpectralLibraryMatch")) -# -# withr::defer(projects_api$CloseProject(project_id)) + # TODO seems like there are none + # project_id <- "GetSpectralLibraryMatch" + # projects_api$OpenProject(project_id, tomato_project) + # # match_id <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id)[[1]]$matchId + # + # response <- api_instance$GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id) + # expect_true(inherits(response, "list")) + # expect_true(inherits(response[[1]], "SpectralLibraryMatch")) + # + # }, finally = { + # + # projects_api$CloseProject(project_id) + # + # }) }) test_that("GetSpectralLibraryMatches", { @@ -529,15 +672,19 @@ test_that("GetSpectralLibraryMatches", { # @param opt_fields array[SpectralLibraryMatchOptField] (optional) # @return [array[SpectralLibraryMatch]] -# # TODO seems like there are none -# project_id <- "GetSpectralLibraryMatches" -# projects_api$OpenProject(project_id, tomato_project) -# # -# response <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id) -# expect_true(inherits(response, "list")) -# expect_true(inherits(response[[1]], "SpectralLibraryMatch")) -# -# withr::defer(projects_api$CloseProject(project_id)) + # TODO seems like there are none + # project_id <- "GetSpectralLibraryMatches" + # projects_api$OpenProject(project_id, tomato_project) + # # + # response <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id) + # expect_true(inherits(response, "list")) + # expect_true(inherits(response[[1]], "SpectralLibraryMatch")) + # + # }, finally = { + # + # projects_api$CloseProject(project_id) + # + # }) }) test_that("GetSpectralLibraryMatchesPaged", { @@ -556,13 +703,19 @@ test_that("GetSpectralLibraryMatchesPaged", { # @param opt_fields array[SpectralLibraryMatchOptField] (optional) # @return [PageSpectralLibraryMatch] - project_id <- "GetSpectralLibraryMatchesPaged" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetSpectralLibraryMatchesPaged(project_id, aligned_feature_id) - expect_true(inherits(response, "PagedModelSpectralLibraryMatch")) + tryCatch({ + + project_id <- "GetSpectralLibraryMatchesPaged" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetSpectralLibraryMatchesPaged(project_id, aligned_feature_id) + expect_true(inherits(response, "PagedModelSpectralLibraryMatch")) + + }, finally = { + + projects_api$CloseProject(project_id) - withr::defer(projects_api$CloseProject(project_id)) + }) }) test_that("GetSpectralLibraryMatchesSummary", { @@ -577,13 +730,19 @@ test_that("GetSpectralLibraryMatchesSummary", { # @param candidate_in_chi_key character inchi key of the database compound. (optional) # @return [SpectralLibraryMatchSummary] - project_id <- "GetSpectralLibraryMatchesSummary" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetSpectralLibraryMatchesSummary(project_id, aligned_feature_id) - expect_true(inherits(response, "SpectralLibraryMatchSummary")) + tryCatch({ - withr::defer(projects_api$CloseProject(project_id)) + project_id <- "GetSpectralLibraryMatchesSummary" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetSpectralLibraryMatchesSummary(project_id, aligned_feature_id) + expect_true(inherits(response, "SpectralLibraryMatchSummary")) + + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetStructureCandidates", { @@ -596,14 +755,20 @@ test_that("GetStructureCandidates", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [array[StructureCandidateFormula]] - project_id <- "GetStructureCandidates" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetStructureCandidates(project_id, aligned_feature_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "StructureCandidateFormula")) + tryCatch({ + + project_id <- "GetStructureCandidates" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetStructureCandidates(project_id, aligned_feature_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "StructureCandidateFormula")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetStructureCandidatesByFormula", { @@ -617,15 +782,21 @@ test_that("GetStructureCandidatesByFormula", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [array[StructureCandidateScored]] - project_id <- "GetStructureCandidatesByFormula" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetStructureCandidatesByFormula" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - response <- api_instance$GetStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "list")) - expect_true(inherits(response[[1]], "StructureCandidateScored")) + response <- api_instance$GetStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "StructureCandidateScored")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetStructureCandidatesByFormulaPaged", { @@ -642,14 +813,20 @@ test_that("GetStructureCandidatesByFormulaPaged", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [PageStructureCandidateScored] - project_id <- "GetStructureCandidatesByFormulaPaged" - projects_api$OpenProject(project_id, tomato_project) - formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId + tryCatch({ + + project_id <- "GetStructureCandidatesByFormulaPaged" + projects_api$OpenProject(project_id, tomato_project) + formula_id <- api_instance$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId - response <- api_instance$GetStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id) - expect_true(inherits(response, "PagedModelStructureCandidateScored")) + response <- api_instance$GetStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id) + expect_true(inherits(response, "PagedModelStructureCandidateScored")) - withr::defer(projects_api$CloseProject(project_id)) + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetStructureCandidatesPaged", { @@ -665,11 +842,17 @@ test_that("GetStructureCandidatesPaged", { # @param opt_fields array[StructureCandidateOptField] set of optional fields to be included. Use 'none' only to override defaults. (optional) # @return [PageStructureCandidateFormula] - project_id <- "GetStructureCandidatesPaged" - projects_api$OpenProject(project_id, tomato_project) - - response <- api_instance$GetStructureCandidatesPaged(project_id, aligned_feature_id) - expect_true(inherits(response, "PagedModelStructureCandidateFormula")) + tryCatch({ + + project_id <- "GetStructureCandidatesPaged" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetStructureCandidatesPaged(project_id, aligned_feature_id) + expect_true(inherits(response, "PagedModelStructureCandidateFormula")) + + }, finally = { + + projects_api$CloseProject(project_id) - withr::defer(projects_api$CloseProject(project_id)) + }) }) \ No newline at end of file From 64205acc0d1dc7796e04cbb9379b662585f5a677 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 29 Sep 2025 23:58:45 +0200 Subject: [PATCH 24/76] api_client specify application/json when detecting JSON in form_params --- client-api_r/templates/r/api_client.mustache | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/client-api_r/templates/r/api_client.mustache b/client-api_r/templates/r/api_client.mustache index 5c29eaab..cb2fa4af 100644 --- a/client-api_r/templates/r/api_client.mustache +++ b/client-api_r/templates/r/api_client.mustache @@ -252,7 +252,20 @@ ApiClient <- R6::R6Class( # Add form parameters first if (!is.null(form_params) && length(form_params) != 0) { - multipart_data <- c(multipart_data, form_params) + for (param_name in names(form_params)) { + param_value <- form_params[[param_name]] + is_json <- tryCatch({ + jsonlite::validate(param_value) + }, error = function(e) { + FALSE + }) + + if (is_json) { + multipart_data[[param_name]] <- curl::form_data(param_value, type = "application/json") + } else { + multipart_data[[param_name]] <- param_value + } + } } # Add file parameters - handle multiple files with same name From 620a1e4c1224fcc511ac5d197c7ca3da7e02739f Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 16:24:54 +0200 Subject: [PATCH 25/76] reset latest Sirius Release --- .github/workflows/NewUpdate.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index 8384b70c..de810c08 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -29,10 +29,13 @@ jobs: timeout_minutes: 5 command: | cd .updater/api - wget https://github.com/sirius-ms/sirius/releases/download/v6.3.3-SNAPSHOT/sirius-6.3.3-SNAPSHOT-linux-x64.zip - packageVersion=6.3.3-SNAPSHOT + curl -s https://api.github.com/repositories/94561614/releases > ./releases.json + packageVersion=$(cat ./releases.json | grep 'name.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d - -f 2) echo "Writing Version files: $packageVersion" echo $packageVersion > ./packageVersion.txt + echo "Downloading Version: $packageVersion" + cat ./releases.json | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - + echo "Download Complete" unzip *.zip echo "Api Ready" - name: Run Rest Api with strings From f8dbd28e075f4d34301354326c102d9f299a5ee5 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 16:39:16 +0200 Subject: [PATCH 26/76] manually update api docs and packageversion --- .updater/api/api-docs-enums.json | 2 +- .updater/api/api-docs-strings.json | 2 +- .updater/api/packageVersion.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.updater/api/api-docs-enums.json b/.updater/api/api-docs-enums.json index 62dbb30a..cb416863 100644 --- a/.updater/api/api-docs-enums.json +++ b/.updater/api/api-docs-enums.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/ProjectInfoOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/ProjectInfoOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/ProjectInfoOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-zA-Z0-9-_]+$"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters","description":"configuration for biotransformer execution. If null, BioTransformer is not applied."}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/JobOptField"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/CompoundOptField"}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/CompoundOptField"}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"}}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/FormulaCandidateOptField"}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/FormulaCandidateOptField"}}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/FormulaCandidateOptField"}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/StructureCandidateOptField"}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_HEIGHT"}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/AlignedFeatureOptField"}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType","default":"AVG"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure","default":"APEX_INTENSITY"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"properties":{"eventType":{"$ref":"#/components/schemas/ProjectEventType"},"projectId":{"type":"string"},"compoundId":{"type":"string"},"featuredId":{"type":"string"},"formulaId":{"type":"string"},"structureInChIKey":{"type":"string"}}},"DataImportEvent":{"properties":{"importJobId":{"type":"string"},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}},"required":["importedCompoundIds","importedFeatureIds"]},"BackgroundComputationsStateEvent":{"properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}},"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"]},"ProjectEventType":{"enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"ProjectInfoOptField":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project."},"type":{"$ref":"#/components/schemas/ProjectType","description":"Type of this project.\n NULL if project type has not yet been specified by importing data."},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested."},"numOfFeatures":{"type":"integer","format":"int32","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation')."},"numOfCompounds":{"type":"integer","format":"int32","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type."},"numOfBytes":{"type":"integer","format":"int64","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation')."}}},"ProjectType":{"type":"string","enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"TagDefinitionImport":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{}},"required":["tagName","valueType"]},"ValueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"TagDefinition":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{},"editable":{"type":"boolean"}},"required":["tagName","valueType"]},"Tag":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss)."}},"required":["tagName"]},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"JobOptField":{"type":"string","enum":["none","command","progress","affectedIds"]},"Job":{"type":"object","description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal.","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task"},"progress":{"$ref":"#/components/schemas/JobProgress","description":"Optional progress information of this job"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"jobEffect":{"$ref":"#/components/schemas/JobEffect","description":"Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested"}}},"JobEffect":{"type":"string","enum":["IMPORT","COMPUTATION","DELETION"]},"JobProgress":{"type":"object","description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not"},"state":{"$ref":"#/components/schemas/JobState","description":"Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully."},"currentProgress":{"type":"integer","format":"int64","description":"Current progress value of the job."},"maxProgress":{"type":"integer","format":"int64","description":"Progress value to reach (might also change during execution)"},"message":{"type":"string","description":"Progress information and warnings."},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed."}}},"JobState":{"type":"string","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"AggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"QuantMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"BasicSpectrum":{"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."}},"required":["cosineQuery","peaks"]},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","format":"int32","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits"}}},"DBLink":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"required":["name"]},"PeakPair":{"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}},"required":["queryPeak","referencePeak"]},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","format":"float","description":"Similarity between query and reference spectrum"},"sharedPeaks":{"type":"integer","format":"int32","description":"Number of shared/matched peaks"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"$ref":"#/components/schemas/SpectralMatchType","default":"IDENTITY"},"inchiKey":{"type":"string"},"referenceSpectrumType":{"$ref":"#/components/schemas/SpectrumType","default":"SPECTRUM"},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"$ref":"#/components/schemas/SpectrumType"}},"required":["inchiKey","querySpectrumIndex","similarity","uuid"]},"SpectralMatchType":{"type":"string","enum":["IDENTITY","ANALOG"]},"SpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"}}},"SearchableDatabase":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created."},"dbVersion":{"type":"integer","format":"int32","description":"database schema version"},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","format":"int64","description":"Number of unique compounds available in this database."},"numberOfFormulas":{"type":"integer","format":"int64","description":"Number of different molecular formulas available in this database."},"numberOfReferenceSpectra":{"type":"integer","format":"int64","description":"Number of reference spectra available in this database"},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded"}},"required":["customDb","databaseId","searchable","updateNeeded"]},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string"},"userEmail":{"type":"string"},"gravatarURL":{"type":"string"},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string"}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription"},"expirationDate":{"type":"string","format":"date-time"},"startDate":{"type":"string","format":"date-time"},"countQueries":{"type":"boolean"},"instanceLimit":{"type":"integer","format":"int32","description":"Limit of instances (features) that can be computed with this subscription"},"instanceHashRecordingTime":{"type":"integer","format":"int32","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is"},"maxQueriesPerInstance":{"type":"integer","format":"int32","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time."},"maxUserAccounts":{"type":"integer","format":"int32"},"serviceUrl":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"tos":{"type":"string"},"pp":{"type":"string"},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}}},"ConfidenceMode":{"type":"string","enum":["OFF","EXACT","APPROXIMATE"]},"FingerprintPrediction":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended."},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used."}}},"InstrumentProfile":{"type":"string","description":"Select the profile that is the closest to your instrumental setup. If nothing fits, use QTOF.","enum":["QTOF","ORBITRAP"]},"IsotopeMs2Strategy":{"type":"string","enum":["IGNORE","FILTER","SCORE"]},"JobSubmission":{"type":"object","description":"Object to submit a job to be executed by SIRIUS","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not."},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch","description":"Parameter Object for spectral library search tool (CLI-Tool: spectra-search).\n Library search results can be used to enhance formula search results\n If NULL the tool will not be executed."},"formulaIdParams":{"$ref":"#/components/schemas/Sirius","description":"Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius).\n If NULL the tool will not be executed."},"zodiacParams":{"$ref":"#/components/schemas/Zodiac","description":"Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac).\n If NULL the tool will not be executed."},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction","description":"Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint).\n If NULL the tool will not be executed."},"canopusParams":{"$ref":"#/components/schemas/Canopus","description":"Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus).\n If NULL the tool will not be executed."},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch","description":"Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure).\n If NULL the tool will not be executed."},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist","description":"Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist)\n If NULL the tool will not be executed."},"configMap":{"type":"object","additionalProperties":{"type":"string"},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint."}}},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","format":"int32","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist."}}},"Sirius":{"type":"object","description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"$ref":"#/components/schemas/InstrumentProfile","description":"Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data."},"numberOfCandidates":{"type":"integer","format":"int32","description":"Number of formula candidates to keep as result list (Formula Candidates)."},"numberOfCandidatesPerIonization":{"type":"integer","format":"int32","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported."},"massAccuracyMS2ppm":{"type":"number","format":"double","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered."},"isotopeMs2Settings":{"$ref":"#/components/schemas/IsotopeMs2Strategy","description":"Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS"},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score."},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate."},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled."},"performDenovoBelowMz":{"type":"number","format":"double","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation."},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","items":{"type":"string"}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search."},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered"},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)"},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","items":{"type":"string"}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout","description":"Timout settings for the ILP solver used for fragmentation tree computation\n secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint.\n secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic","description":"Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations.\n useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly\n useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically."},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied"},"minScoreToInjectSpecLibMatch":{"type":"number","format":"double","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected."},"minPeaksToInjectSpecLibMatch":{"type":"integer","format":"int32","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied."}}},"SpectralLibrarySearch":{"type":"object","description":"User/developer friendly parameter subset for the Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"precursorDeviationPpm":{"type":"number","format":"double","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used."},"minSimilarity":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered a hit."},"minNumOfPeaks":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered a hit."},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit."},"minNumOfPeaksAnalogue":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit."},"scoring":{"$ref":"#/components/schemas/SpectralMatchingType","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses."},"peakDeviationPpm":{"type":"number","format":"double","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks."}}},"SpectralMatchingType":{"type":"string","enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"StructureDbSearch":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class."},"expansiveSearchConfidenceMode":{"$ref":"#/components/schemas/ConfidenceMode","description":"Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification."}}},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}}},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}}},"Zodiac":{"type":"object","description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z."},"consideredCandidatesAt800Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z."},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining."},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds","description":"thresholdFilter = Defines the proportion of edges of the complete network which will be ignored.\n minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to."},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs","description":"iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\"\n burnInPeriod: \"Number of epochs considered as 'burn-in period'.\n numberOfMarkovChains: Number of separate Gibbs sampling runs."},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring","description":"Configure the use of identity spectral library search results as anchors in ZODIAC network"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes","description":"Configure the use of analogue spectral library search results as anchors in ZODIAC network"}}},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}}},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}}},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}}},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}}},"ImportResult":{"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}},"required":["affectedAlignedFeatureIds","affectedCompoundIds"]},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}}},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","default":true,"description":"Specifies whether LC/MS runs should be aligned"},"noiseIntensity":{"type":"number","format":"double","default":-1,"description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient."},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace."},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data."},"alignMaxRetentionTimeDeviation":{"type":"number","format":"double","default":-1,"description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data."},"minSNR":{"type":"number","format":"double","default":3,"description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory"}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name"},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}},"required":["features"]},"DataQuality":{"type":"string","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"FeatureImport":{"type":"object","description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail.","properties":{"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"dataQuality":{"$ref":"#/components/schemas/DataQuality","description":"A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis."},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum","description":"Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion.\n Note: 'ms1Spectra' will be ignored if given."},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"required":["charge","ionMass"]},"CompoundOptField":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"AlignedFeatureOptField":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"AlignedFeature":{"type":"object","description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view.","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32","description":"Ion mode (charge) this feature has been measured in."},"detectedAdducts":{"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"quality":{"$ref":"#/components/schemas/DataQuality","description":"Quality of this feature."},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData","description":"Mass Spec data of this feature (input data)"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top annotations of this feature.\n If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the\n structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned.\n CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected\n\n Null if it was not requested und non-null otherwise."},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top de novo annotations of this feature.\n The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and\n CANOPUS compoundClasses correspond to the FormulaCandidate.\n\n Null if it was not requested und non-null otherwise."},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools","description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}},"required":["charge","detectedAdducts"]},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"type":"object","description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation","description":"Optional Annotations of this spectrum."}},"required":["cosineQuery","peaks"]},"CanopusPrediction":{"type":"object","description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name"},"rtStartSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time start (earliest rt) of this compound"},"rtEndSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time end (latest rt) of this compound"},"neutralMass":{"type":"number","format":"double","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass"},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"The consensus of the top annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo","description":"The consensus of the top de novo annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"Alternative annotations selected by the User."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"CompoundClass":{"type":"object","description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","properties":{"type":{"$ref":"#/components/schemas/CompoundClassType","description":"Specifies the classification ontology the CompoundClass belongs to."},"level":{"type":"string","description":"Name of the level this compound class belongs to"},"levelIndex":{"type":"integer","format":"int32","description":"Index of the level this compound class belongs to"},"name":{"type":"string","description":"Name of the compound class."},"description":{"type":"string","description":"Description of the compound class."},"id":{"type":"integer","format":"int32","description":"Unique id of the class. Might be undefined for certain classification ontologies."},"probability":{"type":"number","format":"double","description":"prediction probability"},"index":{"type":"integer","format":"int32","description":"Absolute index of this property in the predicted vector/embedding"},"parentId":{"type":"integer","format":"int32","description":"Unique id of the parent class. Might be undefined for certain classification ontologies."},"parentName":{"type":"string","description":"Name of the parent compound class."}}},"CompoundClassType":{"type":"string","description":"Defines compound class ontologies that are available.","enum":["ClassyFire","NPC"]},"CompoundClasses":{"type":"object","description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass","description":"Pathway level NPC class with the highest probability"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass","description":"Superclass level NPC class with the highest probability"},"npcClass":{"$ref":"#/components/schemas/CompoundClass","description":"Class level NPC class with the highest probability"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}}},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionCSI","description":"Null if this is a custom selection"},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate","description":"Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula\n Might be null if no consensus structure is available."},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported"},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported"}}},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionDeNovo","description":"Criterion that was used to select the consensus annotation."}}},"ConsensusCriterionCSI":{"type":"string","enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"ConsensusCriterionDeNovo":{"type":"string","enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"FeatureAnnotations":{"type":"object","description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate","description":"Best matching FormulaCandidate."},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored","description":"Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates."},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses","description":"Best matching compound classes that correspond to the formulaAnnotation"},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit is correct."},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct."},"expansiveSearchState":{"$ref":"#/components/schemas/ConfidenceMode","description":"Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)"},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","items":{"type":"string"}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","items":{"type":"string"}}}},"FormulaCandidate":{"type":"object","description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","format":"double","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available"},"siriusScore":{"type":"number","format":"double","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available"},"isotopeScore":{"type":"number","format":"double"},"treeScore":{"type":"number","format":"double"},"zodiacScore":{"type":"number","format":"double","description":"Zodiac Score of the formula candidate.\n If NULL result is not available"},"numOfExplainedPeaks":{"type":"integer","format":"int32"},"numOfExplainablePeaks":{"type":"integer","format":"int32"},"totalExplainedIntensity":{"type":"number","format":"double"},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree","description":"The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore)."},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum","description":"Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation","description":"The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore."},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation","description":"ElGordo lipid annotation of this candidate.\n NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","items":{"type":"number","format":"double"}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction","description":"All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)"}}},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct"},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss."},"massDeviationDa":{"type":"number","format":"double"},"massDeviationPpm":{"type":"number","format":"double"},"score":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"mz":{"type":"number","format":"double"}}},"FragmentationTree":{"type":"object","description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}}},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}}},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid."},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class."},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class."},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available."},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS."}}},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}}},"ParentPeak":{"type":"object","description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","properties":{"parentIdx":{"type":"integer","format":"int32","description":"Index to the parent peak connected by this loss in this particular spectrum"},"parentFragmentId":{"type":"integer","format":"int32","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"required":["lossFormula","parentFragmentId","parentIdx"]},"PeakAnnotation":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak"},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak"},"exactMass":{"type":"number","format":"double","description":"Exact mass of the annotated molecular formula and adduct"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm"},"recalibratedMassDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa"},"recalibratedMassDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm"},"parentPeak":{"$ref":"#/components/schemas/ParentPeak","description":"Link to the parent peak connected via the neutral loss from the fragmentation tree."},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","items":{"type":"integer","format":"int32"}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureScore":{"type":"number","format":"float","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested."},"hydrogenRearrangements":{"type":"integer","format":"int32","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested."}},"required":["fragmentId"]},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum"},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum"},"exactMass":{"type":"number","format":"double","description":"Exact mass based on the annotated molecular formula and ionization"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm"},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationScore":{"type":"number","format":"double","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested."}}},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"}}},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"}}},"StoredJobSubmission":{"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission","description":"The JobSubmission identified by the name"}},"required":["editable","jobSubmission","name"]},"BioTransformerParameters":{"type":"object","properties":{"cyp450Mode":{"$ref":"#/components/schemas/Cyp450Mode","default":"COMBINED","description":"Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Cyp450 mode."},"p2Mode":{"$ref":"#/components/schemas/P2Mode","default":"BT_RULE_BASED","description":"Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Phase II mode."},"useDB":{"type":"boolean","default":true,"description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\""},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}},"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"]},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"$ref":"#/components/schemas/MetabolicTransformation"},"iterations":{"type":"integer","format":"int32"}}},"Cyp450Mode":{"type":"string","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"MetabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"P2Mode":{"type":"string","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"AccountCredentials":{"type":"object","description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service.","properties":{"username":{"type":"string"},"password":{"type":"string"},"refreshToken":{"type":"string"}}},"RunOptField":{"type":"string","enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string"},"ionization":{"type":"string"},"fragmentation":{"type":"string"},"massAnalyzers":{"type":"array","items":{"type":"string"}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}}},"AdductNetworkExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}}},"AdductNodeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}}},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"type":{"$ref":"#/components/schemas/TraceAnnotationTypeExperimental"},"description":{"type":"string"},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"}}},"TraceAnnotationTypeExperimental":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"TraceExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"id":{"type":"string"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","format":"double","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared."},"noiseLevel":{"type":"number","format":"double","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios."}}},"TraceSetExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}}},"QuantRowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"QuantTableExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","items":{"type":"integer","format":"int64"}},"columnIds":{"type":"array","items":{"type":"integer","format":"int64"}},"rowNames":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"$ref":"#/components/schemas/AggregationType"},"quantification":{"$ref":"#/components/schemas/QuantMeasure"},"quantType":{"$ref":"#/components/schemas/QuantRowType"},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}},"required":["foldChange","objectId","quantType"]},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"$ref":"#/components/schemas/StatisticsType"},"aggregationType":{"$ref":"#/components/schemas/AggregationType"},"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"StatisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"SpectralLibraryMatchOptField":{"type":"string","enum":["none","referenceSpectrum"]},"SpectralLibraryMatchSummary":{"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}},"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"]},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"$ref":"#/components/schemas/DataQuality","description":"Overall Quality"},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"required":["alignedFeatureId","categories","overallQuality"]},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"$ref":"#/components/schemas/DataQuality"},"weight":{"$ref":"#/components/schemas/QualityWeight"}}},"QualityWeight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]},"FormulaCandidateOptField":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"AnnotatedMsMsData":{"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}},"required":["mergedMs2","ms2Spectra"]},"StructureCandidateOptField":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API"},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application"},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application"},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application"},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries"},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries"},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services"},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable."},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS"},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"$ref":"#/components/schemas/Solver"}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}},"required":["availableILPSolvers","supportedILPSolvers"]},"Solver":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]},"ConnectionCheck":{"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}},"required":["errors","licenseInfo"]},"ConnectionError":{"type":"object","properties":{"errorType":{"$ref":"#/components/schemas/ConnectionErrorType"},"errorKlass":{"$ref":"#/components/schemas/ConnectionErrorClass"},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32"},"serverResponseErrorMessage":{"type":"string"},"error":{"type":"boolean"},"warning":{"type":"boolean"}},"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"]},"ConnectionErrorClass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"ConnectionErrorType":{"type":"string","enum":["WARNING","ERROR"]},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to."},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The active subscription that was used the requested the information"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables","description":"Status of the consumable resources of the {@link Subscription Subscription}."},"terms":{"type":"array","items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}}},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}}},"ApiVersion":{"type":"string","enum":["V2","V3"]},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file +{"openapi":"3.0.1","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["command","progress"]}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["command","progress"]}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters"}}},"encoding":{"bioTransformerParameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":[]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":[]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"type":"object","properties":{"eventType":{"$ref":"#/components/schemas/ProjectEventType"},"projectId":{"type":"string"},"compoundId":{"type":"string","nullable":true},"featuredId":{"type":"string","nullable":true},"formulaId":{"type":"string","nullable":true},"structureInChIKey":{"type":"string","nullable":true}}},"DataImportEvent":{"required":["importedCompoundIds","importedFeatureIds"],"type":"object","properties":{"importJobId":{"type":"string","nullable":true},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}}},"BackgroundComputationsStateEvent":{"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"],"type":"object","properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}}},"ProjectEventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"ProjectInfoOptField":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project.","nullable":true},"type":{"$ref":"#/components/schemas/ProjectType"},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.","nullable":true},"numOfFeatures":{"type":"integer","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').","format":"int32","nullable":true},"numOfCompounds":{"type":"integer","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.","format":"int32","nullable":true},"numOfBytes":{"type":"integer","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').","format":"int64","nullable":true}}},"ProjectType":{"type":"string","nullable":true,"enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"TagDefinitionImport":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true}}},"ValueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"TagDefinition":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true},"editable":{"type":"boolean"}}},"Tag":{"required":["tagName"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"type":"object","description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).","nullable":true}}},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"JobOptField":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"Job":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task","nullable":true},"progress":{"$ref":"#/components/schemas/JobProgress"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"jobEffect":{"$ref":"#/components/schemas/JobEffect"}},"description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal."},"JobEffect":{"type":"string","nullable":true,"enum":["IMPORT","COMPUTATION","DELETION"]},"JobProgress":{"type":"object","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not","nullable":true},"state":{"$ref":"#/components/schemas/JobState"},"currentProgress":{"type":"integer","description":"Current progress value of the job.","format":"int64","nullable":true},"maxProgress":{"type":"integer","description":"Progress value to reach (might also change during execution)","format":"int64","nullable":true},"message":{"type":"string","description":"Progress information and warnings.","nullable":true},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed.","nullable":true}},"description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","nullable":true},"JobState":{"type":"string","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"AggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"QuantMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"BasicSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true}},"nullable":true},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits","format":"int32"}},"nullable":true},"DBLink":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"nullable":true},"PeakPair":{"required":["queryPeak","referencePeak"],"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}}},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"required":["inchiKey","querySpectrumIndex","similarity","uuid"],"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","description":"Similarity between query and reference spectrum","format":"float"},"sharedPeaks":{"type":"integer","description":"Number of shared/matched peaks","format":"int32"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"$ref":"#/components/schemas/SpectralMatchType"},"inchiKey":{"type":"string"},"referenceSpectrumType":{"$ref":"#/components/schemas/SpectrumType"},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"$ref":"#/components/schemas/SpectrumType"}},"nullable":true},"SpectralMatchType":{"type":"string","default":"IDENTITY","enum":["IDENTITY","ANALOG"]},"SpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false}}},"SearchableDatabase":{"required":["customDb","databaseId","searchable","updateNeeded"],"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created.","nullable":true},"dbVersion":{"type":"integer","description":"database schema version","format":"int32","nullable":true},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","description":"Number of unique compounds available in this database.","format":"int64","nullable":true},"numberOfFormulas":{"type":"integer","description":"Number of different molecular formulas available in this database.","format":"int64","nullable":true},"numberOfReferenceSpectra":{"type":"integer","description":"Number of reference spectra available in this database","format":"int64","nullable":true},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded","nullable":true}}},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string","nullable":true},"userEmail":{"type":"string"},"gravatarURL":{"type":"string","nullable":true},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string","nullable":true}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription","nullable":true},"expirationDate":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"countQueries":{"type":"boolean","nullable":true},"instanceLimit":{"type":"integer","description":"Limit of instances (features) that can be computed with this subscription","format":"int32","nullable":true},"instanceHashRecordingTime":{"type":"integer","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is","format":"int32","nullable":true},"maxQueriesPerInstance":{"type":"integer","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.","format":"int32","nullable":true},"maxUserAccounts":{"type":"integer","format":"int32","nullable":true},"serviceUrl":{"type":"string"},"description":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"tos":{"type":"string","nullable":true},"pp":{"type":"string","nullable":true},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}},"description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","nullable":true},"ConfidenceMode":{"type":"string","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]},"FingerprintPrediction":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.","nullable":true},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.","nullable":true}},"description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","nullable":true},"InstrumentProfile":{"type":"string","description":"Select the profile that is the closest to your instrumental setup. If nothing fits, use QTOF.","nullable":true,"enum":["QTOF","ORBITRAP"]},"IsotopeMs2Strategy":{"type":"string","nullable":true,"enum":["IGNORE","FILTER","SCORE"]},"JobSubmission":{"type":"object","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not.","nullable":true},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch"},"formulaIdParams":{"$ref":"#/components/schemas/Sirius"},"zodiacParams":{"$ref":"#/components/schemas/Zodiac"},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction"},"canopusParams":{"$ref":"#/components/schemas/Canopus"},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch"},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist"},"configMap":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.","nullable":true}},"description":"Object to submit a job to be executed by SIRIUS"},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.","format":"int32","nullable":true}},"nullable":true},"Sirius":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"$ref":"#/components/schemas/InstrumentProfile"},"numberOfCandidates":{"type":"integer","description":"Number of formula candidates to keep as result list (Formula Candidates).","format":"int32","nullable":true},"numberOfCandidatesPerIonization":{"type":"integer","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.","format":"int32","nullable":true},"massAccuracyMS2ppm":{"type":"number","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.","format":"double","nullable":true},"isotopeMs2Settings":{"$ref":"#/components/schemas/IsotopeMs2Strategy"},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.","nullable":true},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.","nullable":true},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled.","nullable":true},"performDenovoBelowMz":{"type":"number","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.","format":"double","nullable":true},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","nullable":true,"items":{"type":"string","nullable":true}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.","nullable":true},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered","nullable":true},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)","nullable":true},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","nullable":true,"items":{"type":"string","nullable":true}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic"},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied","nullable":true},"minScoreToInjectSpecLibMatch":{"type":"number","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.","format":"double","nullable":true},"minPeaksToInjectSpecLibMatch":{"type":"integer","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.","format":"int32","nullable":true}},"description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","nullable":true},"SpectralLibrarySearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"precursorDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.","format":"double","nullable":true},"minSimilarity":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered a hit.","format":"float","nullable":true},"minNumOfPeaks":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered a hit.","format":"int32","nullable":true},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit.","format":"float","nullable":true},"minNumOfPeaksAnalogue":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit.","format":"int32","nullable":true},"scoring":{"$ref":"#/components/schemas/SpectralMatchingType"},"peakDeviationPpm":{"type":"number","description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks.","format":"double","nullable":true,"deprecated":true}},"description":"User/developer friendly parameter subset for the Spectral library search tool.","nullable":true},"SpectralMatchingType":{"type":"string","nullable":true,"enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"StructureDbSearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.","nullable":true},"expansiveSearchConfidenceMode":{"$ref":"#/components/schemas/ConfidenceMode"}},"description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","nullable":true},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}},"nullable":true},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}},"nullable":true},"Zodiac":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.","format":"int32","nullable":true},"consideredCandidatesAt800Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.","format":"int32","nullable":true},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.","nullable":true},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds"},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs"},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes"}},"description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","nullable":true},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}},"nullable":true},"ImportResult":{"required":["affectedAlignedFeatureIds","affectedCompoundIds"],"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}}},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}},"default":null},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","description":"Specifies whether LC/MS runs should be aligned","default":true},"noiseIntensity":{"type":"number","description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient.","format":"double","default":-1},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxRetentionTimeDeviation":{"type":"number","description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.","format":"double","default":-1},"minSNR":{"type":"number","description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory","format":"double","default":3}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"required":["features"],"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"DataQuality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"FeatureImport":{"required":["charge","ionMass"],"type":"object","properties":{"name":{"type":"string","nullable":true},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.","nullable":true},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","nullable":true,"items":{"type":"string","nullable":true}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"dataQuality":{"$ref":"#/components/schemas/DataQuality"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail."},"CompoundOptField":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"AlignedFeatureOptField":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"AlignedFeature":{"required":["charge","detectedAdducts"],"type":"object","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","description":"Ion mode (charge) this feature has been measured in.","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"quality":{"$ref":"#/components/schemas/DataQuality"},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations"},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations"},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}},"description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view."},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation"}},"description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","nullable":true},"CanopusPrediction":{"type":"object","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","nullable":true},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"rtStartSeconds":{"type":"number","description":"The merged/consensus retention time start (earliest rt) of this compound","format":"double","nullable":true},"rtEndSeconds":{"type":"number","description":"The merged/consensus retention time end (latest rt) of this compound","format":"double","nullable":true},"neutralMass":{"type":"number","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass","format":"double","nullable":true},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"CompoundClass":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/CompoundClassType"},"level":{"type":"string","description":"Name of the level this compound class belongs to","nullable":true},"levelIndex":{"type":"integer","description":"Index of the level this compound class belongs to","format":"int32","nullable":true},"name":{"type":"string","description":"Name of the compound class.","nullable":true},"description":{"type":"string","description":"Description of the compound class.","nullable":true},"id":{"type":"integer","description":"Unique id of the class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"probability":{"type":"number","description":"prediction probability","format":"double"},"index":{"type":"integer","description":"Absolute index of this property in the predicted vector/embedding","format":"int32"},"parentId":{"type":"integer","description":"Unique id of the parent class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"parentName":{"type":"string","description":"Name of the parent compound class.","nullable":true}},"description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","nullable":true},"CompoundClassType":{"type":"string","description":"Defines compound class ontologies that are available.","nullable":true,"enum":["ClassyFire","NPC"]},"CompoundClasses":{"type":"object","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass"},"npcClass":{"$ref":"#/components/schemas/CompoundClass"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","nullable":true},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}},"description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.","nullable":true},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionCSI"},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate"},"confidenceExactMatch":{"type":"number","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true}},"nullable":true},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionDeNovo"}},"nullable":true},"ConsensusCriterionCSI":{"type":"string","nullable":true,"enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"ConsensusCriterionDeNovo":{"type":"string","nullable":true,"enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"FeatureAnnotations":{"type":"object","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate"},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored"},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses"},"confidenceExactMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit is correct.","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.","format":"double","nullable":true},"expansiveSearchState":{"$ref":"#/components/schemas/ConfidenceMode"},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}}},"description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","nullable":true},"FormulaCandidate":{"type":"object","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"siriusScore":{"type":"number","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"isotopeScore":{"type":"number","format":"double","nullable":true},"treeScore":{"type":"number","format":"double","nullable":true},"zodiacScore":{"type":"number","description":"Zodiac Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"numOfExplainedPeaks":{"type":"integer","format":"int32","nullable":true},"numOfExplainablePeaks":{"type":"integer","format":"int32","nullable":true},"totalExplainedIntensity":{"type":"number","format":"double","nullable":true},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree"},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation"},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","nullable":true,"items":{"type":"number","format":"double","nullable":true}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction"}},"description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","nullable":true},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct","nullable":true},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.","nullable":true},"massDeviationDa":{"type":"number","format":"double","nullable":true},"massDeviationPpm":{"type":"number","format":"double","nullable":true},"score":{"type":"number","format":"double","nullable":true},"intensity":{"type":"number","format":"double","nullable":true},"mz":{"type":"number","format":"double","nullable":true}}},"FragmentationTree":{"type":"object","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}},"description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","nullable":true},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.","nullable":true},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class.","nullable":true},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class.","nullable":true},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.","nullable":true},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS.","nullable":true}},"nullable":true},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","nullable":true},"ParentPeak":{"required":["lossFormula","parentFragmentId","parentIdx"],"type":"object","properties":{"parentIdx":{"type":"integer","description":"Index to the parent peak connected by this loss in this particular spectrum","format":"int32"},"parentFragmentId":{"type":"integer","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","nullable":true},"PeakAnnotation":{"required":["fragmentId"],"type":"object","properties":{"fragmentId":{"type":"integer","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak","nullable":true},"exactMass":{"type":"number","description":"Exact mass of the annotated molecular formula and adduct","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm","format":"double","nullable":true},"recalibratedMassDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa","format":"double","nullable":true},"recalibratedMassDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm","format":"double","nullable":true},"parentPeak":{"$ref":"#/components/schemas/ParentPeak"},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.","format":"float","nullable":true},"hydrogenRearrangements":{"type":"integer","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.","format":"int32","nullable":true}},"nullable":true},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum","nullable":true},"exactMass":{"type":"number","description":"Exact mass based on the annotated molecular formula and ionization","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm","format":"double","nullable":true},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested.","format":"double","nullable":true}},"nullable":true},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true}},"nullable":true},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"}},"nullable":true},"StoredJobSubmission":{"required":["editable","jobSubmission","name"],"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission"}}},"BioTransformerParameters":{"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"],"type":"object","properties":{"cyp450Mode":{"$ref":"#/components/schemas/Cyp450Mode"},"p2Mode":{"$ref":"#/components/schemas/P2Mode"},"useDB":{"type":"boolean","description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\"","default":true},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}}},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"$ref":"#/components/schemas/MetabolicTransformation"},"iterations":{"type":"integer","format":"int32"}}},"Cyp450Mode":{"type":"string","nullable":true,"default":"COMBINED","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"MetabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"P2Mode":{"type":"string","nullable":true,"default":"BT_RULE_BASED","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"AccountCredentials":{"type":"object","properties":{"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"refreshToken":{"type":"string","nullable":true}},"description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service."},"RunOptField":{"type":"string","nullable":true,"enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string","nullable":true},"ionization":{"type":"string","nullable":true},"fragmentation":{"type":"string","nullable":true},"massAnalyzers":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNetworkExperimental":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNodeExperimental":{"type":"object","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/TraceAnnotationTypeExperimental"},"description":{"type":"string","nullable":true},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32","nullable":true},"to":{"type":"integer","format":"int32","nullable":true}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceAnnotationTypeExperimental":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"TraceExperimental":{"type":"object","properties":{"id":{"type":"string"},"sampleId":{"type":"string","nullable":true},"sampleName":{"type":"string","nullable":true},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.","format":"double"},"noiseLevel":{"type":"number","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.","format":"double"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceSetExperimental":{"type":"object","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"QuantRowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"QuantTableExperimental":{"type":"object","properties":{"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"columnIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"rowNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"columnNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"required":["foldChange","objectId","quantType"],"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"$ref":"#/components/schemas/AggregationType"},"quantification":{"$ref":"#/components/schemas/QuantMeasure"},"quantType":{"$ref":"#/components/schemas/QuantRowType"},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}}},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"$ref":"#/components/schemas/StatisticsType"},"aggregationType":{"$ref":"#/components/schemas/AggregationType"},"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"StatisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"SpectralLibraryMatchOptField":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"SpectralLibraryMatchSummary":{"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"],"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}}},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"required":["alignedFeatureId","categories","overallQuality"],"type":"object","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"$ref":"#/components/schemas/DataQuality"},"weight":{"$ref":"#/components/schemas/QualityWeight"}}},"QualityWeight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]},"FormulaCandidateOptField":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"AnnotatedMsMsData":{"required":["mergedMs2","ms2Spectra"],"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}},"StructureCandidateOptField":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"required":["availableILPSolvers","supportedILPSolvers"],"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API","nullable":true},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application","nullable":true},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application","nullable":true},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application","nullable":true},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries","nullable":true},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries","nullable":true},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services","nullable":true},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.","nullable":true},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS","nullable":true},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"$ref":"#/components/schemas/Solver"}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}}},"Solver":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]},"ConnectionCheck":{"required":["errors","licenseInfo"],"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}}},"ConnectionError":{"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"],"type":"object","properties":{"errorType":{"$ref":"#/components/schemas/ConnectionErrorType"},"errorKlass":{"$ref":"#/components/schemas/ConnectionErrorClass"},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32","nullable":true},"serverResponseErrorMessage":{"type":"string","nullable":true},"error":{"type":"boolean"},"warning":{"type":"boolean"}}},"ConnectionErrorClass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"ConnectionErrorType":{"type":"string","enum":["WARNING","ERROR"]},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to.","nullable":true},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to.","nullable":true},"subscription":{"$ref":"#/components/schemas/Subscription"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables"},"terms":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}},"nullable":true},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}},"nullable":true},"ApiVersion":{"type":"string","enum":["V2","V3"]},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file diff --git a/.updater/api/api-docs-strings.json b/.updater/api/api-docs-strings.json index b9aec43b..e8dd3a27 100644 --- a/.updater/api/api-docs-strings.json +++ b/.updater/api/api-docs-strings.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","compatibilityInfo","sizeInformation"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-zA-Z0-9-_]+$"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["command","progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters","description":"Parameters for feature alignment and feature finding."}},"required":["inputFiles","parameters"]}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters","description":"configuration for biotransformer execution. If null, BioTransformer is not applied."}},"required":["inputFiles"]}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"$ref":"#/components/schemas/RunOptField"}}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["progress"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","command","progress","affectedIds"]}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]}}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","referenceSpectrum"]}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","referenceSpectrum"]}}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","referenceSpectrum"]}}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]}}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]}}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]}}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"type":"integer","default":0,"minimum":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"type":"integer","default":20,"minimum":1}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","default":["none"],"items":{"type":"string","enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]}}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"properties":{"eventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"projectId":{"type":"string"},"compoundId":{"type":"string"},"featuredId":{"type":"string"},"formulaId":{"type":"string"},"structureInChIKey":{"type":"string"}}},"DataImportEvent":{"properties":{"importJobId":{"type":"string"},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}},"required":["importedCompoundIds","importedFeatureIds"]},"BackgroundComputationsStateEvent":{"properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}},"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"]},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project."},"type":{"type":"string","description":"Type of this project.\n NULL if project type has not yet been specified by importing data.","enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested."},"numOfFeatures":{"type":"integer","format":"int32","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation')."},"numOfCompounds":{"type":"integer","format":"int32","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type."},"numOfBytes":{"type":"integer","format":"int64","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation')."}}},"TagDefinitionImport":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{}},"required":["tagName","valueType"]},"TagDefinition":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag."},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag."},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","items":{}},"minValue":{},"maxValue":{},"editable":{"type":"boolean"}},"required":["tagName","valueType"]},"Tag":{"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss)."}},"required":["tagName"]},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"Job":{"type":"object","description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal.","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task"},"progress":{"$ref":"#/components/schemas/JobProgress","description":"Optional progress information of this job"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","items":{"type":"string"}},"jobEffect":{"type":"string","description":"Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested","enum":["IMPORT","COMPUTATION","DELETION"]}}},"JobProgress":{"type":"object","description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not"},"state":{"type":"string","description":"Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully.","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"currentProgress":{"type":"integer","format":"int64","description":"Current progress value of the job."},"maxProgress":{"type":"integer","format":"int64","description":"Progress value to reach (might also change during execution)"},"message":{"type":"string","description":"Progress information and warnings."},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed."}}},"BasicSpectrum":{"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."}},"required":["cosineQuery","peaks"]},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","format":"int32","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits"}}},"DBLink":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"required":["name"]},"PeakPair":{"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}},"required":["queryPeak","referencePeak"]},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","format":"float","description":"Similarity between query and reference spectrum"},"sharedPeaks":{"type":"integer","format":"int32","description":"Number of shared/matched peaks"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"type":"string","default":"IDENTITY","enum":["IDENTITY","ANALOG"]},"inchiKey":{"type":"string"},"referenceSpectrumType":{"type":"string","default":"SPECTRUM","enum":["SPECTRUM","MERGED_SPECTRUM"]},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]}},"required":["inchiKey","querySpectrumIndex","similarity","uuid"]},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"}}},"SearchableDatabase":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short"},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used."},"matchRtOfReferenceSpectra":{"type":"boolean","default":false,"description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on"},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created."},"dbVersion":{"type":"integer","format":"int32","description":"database schema version"},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","format":"int64","description":"Number of unique compounds available in this database."},"numberOfFormulas":{"type":"integer","format":"int64","description":"Number of different molecular formulas available in this database."},"numberOfReferenceSpectra":{"type":"integer","format":"int64","description":"Number of reference spectra available in this database"},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded"}},"required":["customDb","databaseId","searchable","updateNeeded"]},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string"},"userEmail":{"type":"string"},"gravatarURL":{"type":"string"},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string"}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription"},"expirationDate":{"type":"string","format":"date-time"},"startDate":{"type":"string","format":"date-time"},"countQueries":{"type":"boolean"},"instanceLimit":{"type":"integer","format":"int32","description":"Limit of instances (features) that can be computed with this subscription"},"instanceHashRecordingTime":{"type":"integer","format":"int32","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is"},"maxQueriesPerInstance":{"type":"integer","format":"int32","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time."},"maxUserAccounts":{"type":"integer","format":"int32"},"serviceUrl":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"tos":{"type":"string"},"pp":{"type":"string"},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}}},"FingerprintPrediction":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended."},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used."}}},"JobSubmission":{"type":"object","description":"Object to submit a job to be executed by SIRIUS","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","items":{"type":"string"}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","items":{"type":"string"}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not."},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch","description":"Parameter Object for spectral library search tool (CLI-Tool: spectra-search).\n Library search results can be used to enhance formula search results\n If NULL the tool will not be executed."},"formulaIdParams":{"$ref":"#/components/schemas/Sirius","description":"Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius).\n If NULL the tool will not be executed."},"zodiacParams":{"$ref":"#/components/schemas/Zodiac","description":"Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac).\n If NULL the tool will not be executed."},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction","description":"Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint).\n If NULL the tool will not be executed."},"canopusParams":{"$ref":"#/components/schemas/Canopus","description":"Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus).\n If NULL the tool will not be executed."},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch","description":"Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure).\n If NULL the tool will not be executed."},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist","description":"Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist)\n If NULL the tool will not be executed."},"configMap":{"type":"object","additionalProperties":{"type":"string"},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint."}}},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","format":"int32","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist."}}},"Sirius":{"type":"object","description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"type":"string","description":"Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data.","enum":["QTOF","ORBITRAP"]},"numberOfCandidates":{"type":"integer","format":"int32","description":"Number of formula candidates to keep as result list (Formula Candidates)."},"numberOfCandidatesPerIonization":{"type":"integer","format":"int32","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported."},"massAccuracyMS2ppm":{"type":"number","format":"double","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered."},"isotopeMs2Settings":{"type":"string","description":"Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS","enum":["IGNORE","FILTER","SCORE"]},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score."},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate."},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled."},"performDenovoBelowMz":{"type":"number","format":"double","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation."},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","items":{"type":"string"}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search."},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered"},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)"},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","items":{"type":"string"}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout","description":"Timout settings for the ILP solver used for fragmentation tree computation\n secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint.\n secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic","description":"Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations.\n useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly\n useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically."},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied"},"minScoreToInjectSpecLibMatch":{"type":"number","format":"double","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected."},"minPeaksToInjectSpecLibMatch":{"type":"integer","format":"int32","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied."}}},"SpectralLibrarySearch":{"type":"object","description":"User/developer friendly parameter subset for the Spectral library search tool.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"precursorDeviationPpm":{"type":"number","format":"double","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used."},"minSimilarity":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered a hit."},"minNumOfPeaks":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered a hit."},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","format":"float","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit."},"minNumOfPeaksAnalogue":{"type":"integer","format":"int32","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit."},"scoring":{"type":"string","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.","enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"peakDeviationPpm":{"type":"number","format":"double","deprecated":true,"description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks."}}},"StructureDbSearch":{"type":"object","description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","items":{"type":"string"}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class."},"expansiveSearchConfidenceMode":{"type":"string","description":"Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.","enum":["OFF","EXACT","APPROXIMATE"]}}},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}}},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}}},"Zodiac":{"type":"object","description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z."},"consideredCandidatesAt800Mz":{"type":"integer","format":"int32","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z."},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining."},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds","description":"thresholdFilter = Defines the proportion of edges of the complete network which will be ignored.\n minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to."},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs","description":"iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\"\n burnInPeriod: \"Number of epochs considered as 'burn-in period'.\n numberOfMarkovChains: Number of separate Gibbs sampling runs."},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring","description":"Configure the use of identity spectral library search results as anchors in ZODIAC network"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes","description":"Configure the use of analogue spectral library search results as anchors in ZODIAC network"}}},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}}},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}}},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}}},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}}},"ImportResult":{"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}},"required":["affectedAlignedFeatureIds","affectedCompoundIds"]},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}}},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","default":true,"description":"Specifies whether LC/MS runs should be aligned"},"noiseIntensity":{"type":"number","format":"double","default":-1,"description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient."},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace."},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation","default":"null","description":"Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data."},"alignMaxRetentionTimeDeviation":{"type":"number","format":"double","default":-1,"description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data."},"minSNR":{"type":"number","format":"double","default":3,"description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory"}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name"},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}},"required":["features"]},"FeatureImport":{"type":"object","description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail.","properties":{"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"dataQuality":{"type":"string","description":"A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum","description":"Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion.\n Note: 'ms1Spectra' will be ignored if given."},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"required":["charge","ionMass"]},"AlignedFeature":{"type":"object","description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view.","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32","description":"Ion mode (charge) this feature has been measured in."},"detectedAdducts":{"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"},"uniqueItems":true},"rtStartSeconds":{"type":"number","format":"double"},"rtEndSeconds":{"type":"number","format":"double"},"rtApexSeconds":{"type":"number","format":"double"},"quality":{"type":"string","description":"Quality of this feature.","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData","description":"Mass Spec data of this feature (input data)"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top annotations of this feature.\n If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the\n structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned.\n CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected\n\n Null if it was not requested und non-null otherwise."},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations","description":"Top de novo annotations of this feature.\n The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and\n CANOPUS compoundClasses correspond to the FormulaCandidate.\n\n Null if it was not requested und non-null otherwise."},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools","description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}},"required":["charge","detectedAdducts"]},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"type":"object","description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum."},"msLevel":{"type":"integer","format":"int32","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero"},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable"},"instrument":{"type":"string","description":"Instrument information."},"precursorMz":{"type":"number","format":"double","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable"},"scanNumber":{"type":"integer","format":"int32","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)"},"cosineQuery":{"type":"boolean","default":false,"description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra."},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak","description":"A separate precursor peak field to either mark the precursor in the peaklist or\n provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where\n the precursor peak has been removed for library matching.\n\n NULL if the spectrum does not contain the precursor peak."},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","format":"double","deprecated":true,"description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly."},"maxNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to MAX norm."},"sumNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to SUM norm."},"l2NormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to L2 (Euclidean) norm."},"firstPeakNormFactor":{"type":"number","format":"double","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity."},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation","description":"Optional Annotations of this spectrum."}},"required":["cosineQuery","peaks"]},"CanopusPrediction":{"type":"object","description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name"},"rtStartSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time start (earliest rt) of this compound"},"rtEndSeconds":{"type":"number","format":"double","description":"The merged/consensus retention time end (latest rt) of this compound"},"neutralMass":{"type":"number","format":"double","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass"},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"The consensus of the top annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo","description":"The consensus of the top de novo annotations from all the features of this compound.\n Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI","description":"Alternative annotations selected by the User."},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"CompoundClass":{"type":"object","description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","properties":{"type":{"type":"string","description":"Specifies the classification ontology the CompoundClass belongs to.","enum":["ClassyFire","NPC"]},"level":{"type":"string","description":"Name of the level this compound class belongs to"},"levelIndex":{"type":"integer","format":"int32","description":"Index of the level this compound class belongs to"},"name":{"type":"string","description":"Name of the compound class."},"description":{"type":"string","description":"Description of the compound class."},"id":{"type":"integer","format":"int32","description":"Unique id of the class. Might be undefined for certain classification ontologies."},"probability":{"type":"number","format":"double","description":"prediction probability"},"index":{"type":"integer","format":"int32","description":"Absolute index of this property in the predicted vector/embedding"},"parentId":{"type":"integer","format":"int32","description":"Unique id of the parent class. Might be undefined for certain classification ontologies."},"parentName":{"type":"string","description":"Name of the parent compound class."}}},"CompoundClasses":{"type":"object","description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass","description":"Pathway level NPC class with the highest probability"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass","description":"Superclass level NPC class with the highest probability"},"npcClass":{"$ref":"#/components/schemas/CompoundClass","description":"Class level NPC class with the highest probability"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","items":{"$ref":"#/components/schemas/CompoundClass"}}}},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}}},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"type":"string","description":"Null if this is a custom selection","enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate","description":"Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula\n Might be null if no consensus structure is available."},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported"},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported"}}},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available."},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Compound classes (predicted with CANOPUS) corresponding to the molecularFormula\n Might be null if no fingerprints or compound classes are available."},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","items":{"type":"string"}},"selectionCriterion":{"type":"string","description":"Criterion that was used to select the consensus annotation.","enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]}}},"FeatureAnnotations":{"type":"object","description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate","description":"Best matching FormulaCandidate."},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored","description":"Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates."},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses","description":"Best matching compound classes that correspond to the formulaAnnotation"},"confidenceExactMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit is correct."},"confidenceApproxMatch":{"type":"number","format":"double","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct."},"expansiveSearchState":{"type":"string","description":"Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)","enum":["OFF","EXACT","APPROXIMATE"]},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","items":{"type":"string"}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","items":{"type":"string"}}}},"FormulaCandidate":{"type":"object","description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","format":"double","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available"},"siriusScore":{"type":"number","format":"double","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available"},"isotopeScore":{"type":"number","format":"double"},"treeScore":{"type":"number","format":"double"},"zodiacScore":{"type":"number","format":"double","description":"Zodiac Score of the formula candidate.\n If NULL result is not available"},"numOfExplainedPeaks":{"type":"integer","format":"int32"},"numOfExplainablePeaks":{"type":"integer","format":"int32"},"totalExplainedIntensity":{"type":"number","format":"double"},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree","description":"The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore)."},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum","description":"Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation","description":"The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore."},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation","description":"ElGordo lipid annotation of this candidate.\n NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","items":{"type":"number","format":"double"}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses","description":"Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction","description":"All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)"}}},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct"},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss."},"massDeviationDa":{"type":"number","format":"double"},"massDeviationPpm":{"type":"number","format":"double"},"score":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"mz":{"type":"number","format":"double"}}},"FragmentationTree":{"type":"object","description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}}},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}}},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid."},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class."},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class."},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available."},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS."}}},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}}},"ParentPeak":{"type":"object","description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","properties":{"parentIdx":{"type":"integer","format":"int32","description":"Index to the parent peak connected by this loss in this particular spectrum"},"parentFragmentId":{"type":"integer","format":"int32","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"required":["lossFormula","parentFragmentId","parentIdx"]},"PeakAnnotation":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra."},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak"},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak"},"exactMass":{"type":"number","format":"double","description":"Exact mass of the annotated molecular formula and adduct"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm"},"recalibratedMassDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa"},"recalibratedMassDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm"},"parentPeak":{"$ref":"#/components/schemas/ParentPeak","description":"Link to the parent peak connected via the neutral loss from the fragmentation tree."},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","items":{"type":"integer","format":"int32"}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","items":{"type":"integer","format":"int32"}},"substructureScore":{"type":"number","format":"float","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested."},"hydrogenRearrangements":{"type":"integer","format":"int32","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested."}},"required":["fragmentId"]},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum"},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum"},"exactMass":{"type":"number","format":"double","description":"Exact mass based on the annotated molecular formula and ionization"},"massDeviationMz":{"type":"number","format":"double","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa"},"massDeviationPpm":{"type":"number","format":"double","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm"},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested."},"structureAnnotationScore":{"type":"number","format":"double","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested."}}},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"}}},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string"},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter"},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double"},"rank":{"type":"integer","format":"int32","description":"the overall rank of this candidate among all candidates of this feature"},"csiScore":{"type":"number","format":"double","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates"},"tanimotoSimilarity":{"type":"number","format":"double","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID"},"mcesDistToTopHit":{"type":"number","format":"double","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list."},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint","description":"Array containing the indices of the molecular fingerprint that are available in the structure (1 if present)\n OPTIONAL: needs to be added by parameter"}}},"StoredJobSubmission":{"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission","description":"The JobSubmission identified by the name"}},"required":["editable","jobSubmission","name"]},"BioTransformerParameters":{"type":"object","properties":{"cyp450Mode":{"type":"string","default":"COMBINED","description":"Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Cyp450 mode.","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"p2Mode":{"type":"string","default":"BT_RULE_BASED","description":"Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Phase II mode.","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"useDB":{"type":"boolean","default":true,"description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\""},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}},"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"]},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"iterations":{"type":"integer","format":"int32"}}},"AccountCredentials":{"type":"object","description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service.","properties":{"username":{"type":"string"},"password":{"type":"string"},"refreshToken":{"type":"string"}}},"RunOptField":{"type":"string","enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string"},"ionization":{"type":"string"},"fragmentation":{"type":"string"},"massAnalyzers":{"type":"array","items":{"type":"string"}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag"}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}}},"AdductNetworkExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}}},"AdductNodeExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}}},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"type":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"description":{"type":"string"},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"}}},"TraceExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"id":{"type":"string"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","format":"double","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared."},"noiseLevel":{"type":"number","format":"double","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios."}}},"TraceSetExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}}},"QuantTableExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","items":{"type":"integer","format":"int64"}},"columnIds":{"type":"array","items":{"type":"integer","format":"int64"}},"rowNames":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"type":"string","enum":["AVG","MIN","MAX"]},"quantification":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"quantType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}},"required":["foldChange","objectId","quantType"]},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"aggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"SpectralLibraryMatchSummary":{"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}},"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"]},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"type":"object","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"type":"string","description":"Overall Quality","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"required":["alignedFeatureId","categories","overallQuality"]},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"type":"string","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"type":"string","enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"weight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]}}},"AnnotatedMsMsData":{"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}},"required":["mergedMs2","ms2Spectra"]},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API"},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application"},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application"},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application"},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries"},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries"},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services"},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable."},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS"},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}},"required":["availableILPSolvers","supportedILPSolvers"]},"ConnectionCheck":{"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}},"required":["errors","licenseInfo"]},"ConnectionError":{"type":"object","properties":{"errorType":{"type":"string","enum":["WARNING","ERROR"]},"errorKlass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32"},"serverResponseErrorMessage":{"type":"string"},"error":{"type":"boolean"},"warning":{"type":"boolean"}},"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"]},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to."},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to."},"subscription":{"$ref":"#/components/schemas/Subscription","description":"The active subscription that was used the requested the information"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables","description":"Status of the consumable resources of the {@link Subscription Subscription}."},"terms":{"type":"array","items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}}},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}}},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file +{"openapi":"3.0.1","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["command","progress"]}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["command","progress"]}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","nullable":true,"enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","nullable":true,"enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters"}}},"encoding":{"bioTransformerParameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":[]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":[]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"type":"object","properties":{"eventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"projectId":{"type":"string"},"compoundId":{"type":"string","nullable":true},"featuredId":{"type":"string","nullable":true},"formulaId":{"type":"string","nullable":true},"structureInChIKey":{"type":"string","nullable":true}}},"DataImportEvent":{"required":["importedCompoundIds","importedFeatureIds"],"type":"object","properties":{"importJobId":{"type":"string","nullable":true},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}}},"BackgroundComputationsStateEvent":{"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"],"type":"object","properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}}},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project.","nullable":true},"type":{"type":"string","description":"Type of this project.\n NULL if project type has not yet been specified by importing data.","nullable":true,"enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.","nullable":true},"numOfFeatures":{"type":"integer","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').","format":"int32","nullable":true},"numOfCompounds":{"type":"integer","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.","format":"int32","nullable":true},"numOfBytes":{"type":"integer","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').","format":"int64","nullable":true}}},"TagDefinitionImport":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true}}},"TagDefinition":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true},"editable":{"type":"boolean"}}},"Tag":{"required":["tagName"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"type":"object","description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).","nullable":true}}},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"Job":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task","nullable":true},"progress":{"$ref":"#/components/schemas/JobProgress"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"jobEffect":{"type":"string","description":"Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested","nullable":true,"enum":["IMPORT","COMPUTATION","DELETION"]}},"description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal."},"JobProgress":{"type":"object","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not","nullable":true},"state":{"type":"string","description":"Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully.","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"currentProgress":{"type":"integer","description":"Current progress value of the job.","format":"int64","nullable":true},"maxProgress":{"type":"integer","description":"Progress value to reach (might also change during execution)","format":"int64","nullable":true},"message":{"type":"string","description":"Progress information and warnings.","nullable":true},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed.","nullable":true}},"description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","nullable":true},"BasicSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true}},"nullable":true},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits","format":"int32"}},"nullable":true},"DBLink":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"nullable":true},"PeakPair":{"required":["queryPeak","referencePeak"],"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}}},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"required":["inchiKey","querySpectrumIndex","similarity","uuid"],"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","description":"Similarity between query and reference spectrum","format":"float"},"sharedPeaks":{"type":"integer","description":"Number of shared/matched peaks","format":"int32"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"type":"string","default":"IDENTITY","enum":["IDENTITY","ANALOG"]},"inchiKey":{"type":"string"},"referenceSpectrumType":{"type":"string","default":"SPECTRUM","enum":["SPECTRUM","MERGED_SPECTRUM"]},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]}},"nullable":true},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false}}},"SearchableDatabase":{"required":["customDb","databaseId","searchable","updateNeeded"],"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created.","nullable":true},"dbVersion":{"type":"integer","description":"database schema version","format":"int32","nullable":true},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","description":"Number of unique compounds available in this database.","format":"int64","nullable":true},"numberOfFormulas":{"type":"integer","description":"Number of different molecular formulas available in this database.","format":"int64","nullable":true},"numberOfReferenceSpectra":{"type":"integer","description":"Number of reference spectra available in this database","format":"int64","nullable":true},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded","nullable":true}}},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string","nullable":true},"userEmail":{"type":"string"},"gravatarURL":{"type":"string","nullable":true},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string","nullable":true}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription","nullable":true},"expirationDate":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"countQueries":{"type":"boolean","nullable":true},"instanceLimit":{"type":"integer","description":"Limit of instances (features) that can be computed with this subscription","format":"int32","nullable":true},"instanceHashRecordingTime":{"type":"integer","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is","format":"int32","nullable":true},"maxQueriesPerInstance":{"type":"integer","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.","format":"int32","nullable":true},"maxUserAccounts":{"type":"integer","format":"int32","nullable":true},"serviceUrl":{"type":"string"},"description":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"tos":{"type":"string","nullable":true},"pp":{"type":"string","nullable":true},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}},"description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","nullable":true},"FingerprintPrediction":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.","nullable":true},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.","nullable":true}},"description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","nullable":true},"JobSubmission":{"type":"object","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not.","nullable":true},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch"},"formulaIdParams":{"$ref":"#/components/schemas/Sirius"},"zodiacParams":{"$ref":"#/components/schemas/Zodiac"},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction"},"canopusParams":{"$ref":"#/components/schemas/Canopus"},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch"},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist"},"configMap":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.","nullable":true}},"description":"Object to submit a job to be executed by SIRIUS"},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.","format":"int32","nullable":true}},"nullable":true},"Sirius":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"type":"string","description":"Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data.","nullable":true,"enum":["QTOF","ORBITRAP"]},"numberOfCandidates":{"type":"integer","description":"Number of formula candidates to keep as result list (Formula Candidates).","format":"int32","nullable":true},"numberOfCandidatesPerIonization":{"type":"integer","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.","format":"int32","nullable":true},"massAccuracyMS2ppm":{"type":"number","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.","format":"double","nullable":true},"isotopeMs2Settings":{"type":"string","description":"Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS","nullable":true,"enum":["IGNORE","FILTER","SCORE"]},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.","nullable":true},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.","nullable":true},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled.","nullable":true},"performDenovoBelowMz":{"type":"number","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.","format":"double","nullable":true},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","nullable":true,"items":{"type":"string","nullable":true}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.","nullable":true},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered","nullable":true},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)","nullable":true},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","nullable":true,"items":{"type":"string","nullable":true}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic"},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied","nullable":true},"minScoreToInjectSpecLibMatch":{"type":"number","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.","format":"double","nullable":true},"minPeaksToInjectSpecLibMatch":{"type":"integer","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.","format":"int32","nullable":true}},"description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","nullable":true},"SpectralLibrarySearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"precursorDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.","format":"double","nullable":true},"minSimilarity":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered a hit.","format":"float","nullable":true},"minNumOfPeaks":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered a hit.","format":"int32","nullable":true},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit.","format":"float","nullable":true},"minNumOfPeaksAnalogue":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit.","format":"int32","nullable":true},"scoring":{"type":"string","description":"NO LONGER SUPPORTED (IGNORED)\n Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.","nullable":true,"deprecated":true,"enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"peakDeviationPpm":{"type":"number","description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks.","format":"double","nullable":true,"deprecated":true}},"description":"User/developer friendly parameter subset for the Spectral library search tool.","nullable":true},"StructureDbSearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.","nullable":true},"expansiveSearchConfidenceMode":{"type":"string","description":"Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]}},"description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","nullable":true},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}},"nullable":true},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}},"nullable":true},"Zodiac":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.","format":"int32","nullable":true},"consideredCandidatesAt800Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.","format":"int32","nullable":true},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.","nullable":true},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds"},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs"},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes"}},"description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","nullable":true},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}},"nullable":true},"ImportResult":{"required":["affectedAlignedFeatureIds","affectedCompoundIds"],"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}}},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}},"default":null},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","description":"Specifies whether LC/MS runs should be aligned","default":true},"noiseIntensity":{"type":"number","description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient.","format":"double","default":-1},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxRetentionTimeDeviation":{"type":"number","description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.","format":"double","default":-1},"minSNR":{"type":"number","description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory","format":"double","default":3}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"required":["features"],"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"FeatureImport":{"required":["charge","ionMass"],"type":"object","properties":{"name":{"type":"string","nullable":true},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.","nullable":true},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","nullable":true,"items":{"type":"string","nullable":true}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"dataQuality":{"type":"string","description":"A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail."},"AlignedFeature":{"required":["charge","detectedAdducts"],"type":"object","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","description":"Ion mode (charge) this feature has been measured in.","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"quality":{"type":"string","description":"Quality of this feature.","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations"},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations"},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}},"description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view."},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation"}},"description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","nullable":true},"CanopusPrediction":{"type":"object","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","nullable":true},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"rtStartSeconds":{"type":"number","description":"The merged/consensus retention time start (earliest rt) of this compound","format":"double","nullable":true},"rtEndSeconds":{"type":"number","description":"The merged/consensus retention time end (latest rt) of this compound","format":"double","nullable":true},"neutralMass":{"type":"number","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass","format":"double","nullable":true},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"CompoundClass":{"type":"object","properties":{"type":{"type":"string","description":"Specifies the classification ontology the CompoundClass belongs to.","nullable":true,"enum":["ClassyFire","NPC"]},"level":{"type":"string","description":"Name of the level this compound class belongs to","nullable":true},"levelIndex":{"type":"integer","description":"Index of the level this compound class belongs to","format":"int32","nullable":true},"name":{"type":"string","description":"Name of the compound class.","nullable":true},"description":{"type":"string","description":"Description of the compound class.","nullable":true},"id":{"type":"integer","description":"Unique id of the class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"probability":{"type":"number","description":"prediction probability","format":"double"},"index":{"type":"integer","description":"Absolute index of this property in the predicted vector/embedding","format":"int32"},"parentId":{"type":"integer","description":"Unique id of the parent class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"parentName":{"type":"string","description":"Name of the parent compound class.","nullable":true}},"description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","nullable":true},"CompoundClasses":{"type":"object","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass"},"npcClass":{"$ref":"#/components/schemas/CompoundClass"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","nullable":true},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}},"description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.","nullable":true},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"type":"string","description":"Null if this is a custom selection","nullable":true,"enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate"},"confidenceExactMatch":{"type":"number","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true}},"nullable":true},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"type":"string","description":"Criterion that was used to select the consensus annotation.","nullable":true,"enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]}},"nullable":true},"FeatureAnnotations":{"type":"object","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate"},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored"},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses"},"confidenceExactMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit is correct.","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.","format":"double","nullable":true},"expansiveSearchState":{"type":"string","description":"Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}}},"description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","nullable":true},"FormulaCandidate":{"type":"object","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"siriusScore":{"type":"number","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"isotopeScore":{"type":"number","format":"double","nullable":true},"treeScore":{"type":"number","format":"double","nullable":true},"zodiacScore":{"type":"number","description":"Zodiac Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"numOfExplainedPeaks":{"type":"integer","format":"int32","nullable":true},"numOfExplainablePeaks":{"type":"integer","format":"int32","nullable":true},"totalExplainedIntensity":{"type":"number","format":"double","nullable":true},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree"},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation"},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","nullable":true,"items":{"type":"number","format":"double","nullable":true}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction"}},"description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","nullable":true},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct","nullable":true},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.","nullable":true},"massDeviationDa":{"type":"number","format":"double","nullable":true},"massDeviationPpm":{"type":"number","format":"double","nullable":true},"score":{"type":"number","format":"double","nullable":true},"intensity":{"type":"number","format":"double","nullable":true},"mz":{"type":"number","format":"double","nullable":true}}},"FragmentationTree":{"type":"object","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}},"description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","nullable":true},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.","nullable":true},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class.","nullable":true},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class.","nullable":true},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.","nullable":true},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS.","nullable":true}},"nullable":true},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","nullable":true},"ParentPeak":{"required":["lossFormula","parentFragmentId","parentIdx"],"type":"object","properties":{"parentIdx":{"type":"integer","description":"Index to the parent peak connected by this loss in this particular spectrum","format":"int32"},"parentFragmentId":{"type":"integer","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","nullable":true},"PeakAnnotation":{"required":["fragmentId"],"type":"object","properties":{"fragmentId":{"type":"integer","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak","nullable":true},"exactMass":{"type":"number","description":"Exact mass of the annotated molecular formula and adduct","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm","format":"double","nullable":true},"recalibratedMassDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa","format":"double","nullable":true},"recalibratedMassDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm","format":"double","nullable":true},"parentPeak":{"$ref":"#/components/schemas/ParentPeak"},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.","format":"float","nullable":true},"hydrogenRearrangements":{"type":"integer","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.","format":"int32","nullable":true}},"nullable":true},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum","nullable":true},"exactMass":{"type":"number","description":"Exact mass based on the annotated molecular formula and ionization","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm","format":"double","nullable":true},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested.","format":"double","nullable":true}},"nullable":true},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true}},"nullable":true},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"}},"nullable":true},"StoredJobSubmission":{"required":["editable","jobSubmission","name"],"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission"}}},"BioTransformerParameters":{"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"],"type":"object","properties":{"cyp450Mode":{"type":"string","description":"Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Cyp450 mode.","nullable":true,"default":"COMBINED","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"p2Mode":{"type":"string","description":"Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Phase II mode.","nullable":true,"default":"BT_RULE_BASED","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"useDB":{"type":"boolean","description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\"","default":true},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}}},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"iterations":{"type":"integer","format":"int32"}}},"AccountCredentials":{"type":"object","properties":{"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"refreshToken":{"type":"string","nullable":true}},"description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service."},"RunOptField":{"type":"string","nullable":true,"enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string","nullable":true},"ionization":{"type":"string","nullable":true},"fragmentation":{"type":"string","nullable":true},"massAnalyzers":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNetworkExperimental":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNodeExperimental":{"type":"object","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","properties":{"type":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"description":{"type":"string","nullable":true},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32","nullable":true},"to":{"type":"integer","format":"int32","nullable":true}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceExperimental":{"type":"object","properties":{"id":{"type":"string"},"sampleId":{"type":"string","nullable":true},"sampleName":{"type":"string","nullable":true},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.","format":"double"},"noiseLevel":{"type":"number","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.","format":"double"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceSetExperimental":{"type":"object","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"QuantTableExperimental":{"type":"object","properties":{"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"columnIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"rowNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"columnNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"required":["foldChange","objectId","quantType"],"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"type":"string","enum":["AVG","MIN","MAX"]},"quantification":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"quantType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}}},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"aggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"SpectralLibraryMatchSummary":{"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"],"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}}},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"required":["alignedFeatureId","categories","overallQuality"],"type":"object","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"type":"string","description":"Overall Quality","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"weight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]}}},"AnnotatedMsMsData":{"required":["mergedMs2","ms2Spectra"],"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"required":["availableILPSolvers","supportedILPSolvers"],"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API","nullable":true},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application","nullable":true},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application","nullable":true},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application","nullable":true},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries","nullable":true},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries","nullable":true},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services","nullable":true},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.","nullable":true},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS","nullable":true},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}}},"ConnectionCheck":{"required":["errors","licenseInfo"],"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}}},"ConnectionError":{"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"],"type":"object","properties":{"errorType":{"type":"string","enum":["WARNING","ERROR"]},"errorKlass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32","nullable":true},"serverResponseErrorMessage":{"type":"string","nullable":true},"error":{"type":"boolean"},"warning":{"type":"boolean"}}},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to.","nullable":true},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to.","nullable":true},"subscription":{"$ref":"#/components/schemas/Subscription"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables"},"terms":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}},"nullable":true},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}},"nullable":true},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file diff --git a/.updater/api/packageVersion.txt b/.updater/api/packageVersion.txt index dc0208ab..c249aeba 100644 --- a/.updater/api/packageVersion.txt +++ b/.updater/api/packageVersion.txt @@ -1 +1 @@ -6.3.1 +6.3.3-SNAPSHOT From 1c149e260ba22d59dc9f0b4940df18c67dd9b8f2 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 17:26:26 +0200 Subject: [PATCH 27/76] delete null default from Deviation --- .updater/api/api-docs-enums.json | 11204 +++++++++++++++++++++++++- .updater/api/api-docs-strings.json | 11574 ++++++++++++++++++++++++++- 2 files changed, 22776 insertions(+), 2 deletions(-) diff --git a/.updater/api/api-docs-enums.json b/.updater/api/api-docs-enums.json index cb416863..f82a02f9 100644 --- a/.updater/api/api-docs-enums.json +++ b/.updater/api/api-docs-enums.json @@ -1 +1,11203 @@ -{"openapi":"3.0.1","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfoOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["command","progress"]}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["command","progress"]}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"$ref":"#/components/schemas/InstrumentProfile"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters"}}},"encoding":{"bioTransformerParameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/JobOptField"},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":[]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatchOptField"},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateOptField"},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":[]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeatureOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/AggregationType"}},{"name":"quantification","in":"query","required":false,"schema":{"$ref":"#/components/schemas/QuantMeasure"}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"type":"object","properties":{"eventType":{"$ref":"#/components/schemas/ProjectEventType"},"projectId":{"type":"string"},"compoundId":{"type":"string","nullable":true},"featuredId":{"type":"string","nullable":true},"formulaId":{"type":"string","nullable":true},"structureInChIKey":{"type":"string","nullable":true}}},"DataImportEvent":{"required":["importedCompoundIds","importedFeatureIds"],"type":"object","properties":{"importJobId":{"type":"string","nullable":true},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}}},"BackgroundComputationsStateEvent":{"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"],"type":"object","properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}}},"ProjectEventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"ProjectInfoOptField":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project.","nullable":true},"type":{"$ref":"#/components/schemas/ProjectType"},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.","nullable":true},"numOfFeatures":{"type":"integer","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').","format":"int32","nullable":true},"numOfCompounds":{"type":"integer","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.","format":"int32","nullable":true},"numOfBytes":{"type":"integer","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').","format":"int64","nullable":true}}},"ProjectType":{"type":"string","nullable":true,"enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"TagDefinitionImport":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true}}},"ValueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"TagDefinition":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"$ref":"#/components/schemas/ValueType"},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true},"editable":{"type":"boolean"}}},"Tag":{"required":["tagName"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"type":"object","description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).","nullable":true}}},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"JobOptField":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"Job":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task","nullable":true},"progress":{"$ref":"#/components/schemas/JobProgress"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"jobEffect":{"$ref":"#/components/schemas/JobEffect"}},"description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal."},"JobEffect":{"type":"string","nullable":true,"enum":["IMPORT","COMPUTATION","DELETION"]},"JobProgress":{"type":"object","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not","nullable":true},"state":{"$ref":"#/components/schemas/JobState"},"currentProgress":{"type":"integer","description":"Current progress value of the job.","format":"int64","nullable":true},"maxProgress":{"type":"integer","description":"Progress value to reach (might also change during execution)","format":"int64","nullable":true},"message":{"type":"string","description":"Progress information and warnings.","nullable":true},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed.","nullable":true}},"description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","nullable":true},"JobState":{"type":"string","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"AggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"QuantMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"BasicSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true}},"nullable":true},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits","format":"int32"}},"nullable":true},"DBLink":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"nullable":true},"PeakPair":{"required":["queryPeak","referencePeak"],"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}}},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"required":["inchiKey","querySpectrumIndex","similarity","uuid"],"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","description":"Similarity between query and reference spectrum","format":"float"},"sharedPeaks":{"type":"integer","description":"Number of shared/matched peaks","format":"int32"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"$ref":"#/components/schemas/SpectralMatchType"},"inchiKey":{"type":"string"},"referenceSpectrumType":{"$ref":"#/components/schemas/SpectrumType"},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"$ref":"#/components/schemas/SpectrumType"}},"nullable":true},"SpectralMatchType":{"type":"string","default":"IDENTITY","enum":["IDENTITY","ANALOG"]},"SpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false}}},"SearchableDatabase":{"required":["customDb","databaseId","searchable","updateNeeded"],"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created.","nullable":true},"dbVersion":{"type":"integer","description":"database schema version","format":"int32","nullable":true},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","description":"Number of unique compounds available in this database.","format":"int64","nullable":true},"numberOfFormulas":{"type":"integer","description":"Number of different molecular formulas available in this database.","format":"int64","nullable":true},"numberOfReferenceSpectra":{"type":"integer","description":"Number of reference spectra available in this database","format":"int64","nullable":true},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded","nullable":true}}},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string","nullable":true},"userEmail":{"type":"string"},"gravatarURL":{"type":"string","nullable":true},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string","nullable":true}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription","nullable":true},"expirationDate":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"countQueries":{"type":"boolean","nullable":true},"instanceLimit":{"type":"integer","description":"Limit of instances (features) that can be computed with this subscription","format":"int32","nullable":true},"instanceHashRecordingTime":{"type":"integer","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is","format":"int32","nullable":true},"maxQueriesPerInstance":{"type":"integer","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.","format":"int32","nullable":true},"maxUserAccounts":{"type":"integer","format":"int32","nullable":true},"serviceUrl":{"type":"string"},"description":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"tos":{"type":"string","nullable":true},"pp":{"type":"string","nullable":true},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}},"description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","nullable":true},"ConfidenceMode":{"type":"string","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]},"FingerprintPrediction":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.","nullable":true},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.","nullable":true}},"description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","nullable":true},"InstrumentProfile":{"type":"string","description":"Select the profile that is the closest to your instrumental setup. If nothing fits, use QTOF.","nullable":true,"enum":["QTOF","ORBITRAP"]},"IsotopeMs2Strategy":{"type":"string","nullable":true,"enum":["IGNORE","FILTER","SCORE"]},"JobSubmission":{"type":"object","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not.","nullable":true},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch"},"formulaIdParams":{"$ref":"#/components/schemas/Sirius"},"zodiacParams":{"$ref":"#/components/schemas/Zodiac"},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction"},"canopusParams":{"$ref":"#/components/schemas/Canopus"},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch"},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist"},"configMap":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.","nullable":true}},"description":"Object to submit a job to be executed by SIRIUS"},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.","format":"int32","nullable":true}},"nullable":true},"Sirius":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"$ref":"#/components/schemas/InstrumentProfile"},"numberOfCandidates":{"type":"integer","description":"Number of formula candidates to keep as result list (Formula Candidates).","format":"int32","nullable":true},"numberOfCandidatesPerIonization":{"type":"integer","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.","format":"int32","nullable":true},"massAccuracyMS2ppm":{"type":"number","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.","format":"double","nullable":true},"isotopeMs2Settings":{"$ref":"#/components/schemas/IsotopeMs2Strategy"},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.","nullable":true},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.","nullable":true},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled.","nullable":true},"performDenovoBelowMz":{"type":"number","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.","format":"double","nullable":true},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","nullable":true,"items":{"type":"string","nullable":true}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.","nullable":true},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered","nullable":true},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)","nullable":true},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","nullable":true,"items":{"type":"string","nullable":true}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic"},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied","nullable":true},"minScoreToInjectSpecLibMatch":{"type":"number","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.","format":"double","nullable":true},"minPeaksToInjectSpecLibMatch":{"type":"integer","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.","format":"int32","nullable":true}},"description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","nullable":true},"SpectralLibrarySearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"precursorDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.","format":"double","nullable":true},"minSimilarity":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered a hit.","format":"float","nullable":true},"minNumOfPeaks":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered a hit.","format":"int32","nullable":true},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit.","format":"float","nullable":true},"minNumOfPeaksAnalogue":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit.","format":"int32","nullable":true},"scoring":{"$ref":"#/components/schemas/SpectralMatchingType"},"peakDeviationPpm":{"type":"number","description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks.","format":"double","nullable":true,"deprecated":true}},"description":"User/developer friendly parameter subset for the Spectral library search tool.","nullable":true},"SpectralMatchingType":{"type":"string","nullable":true,"enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"StructureDbSearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.","nullable":true},"expansiveSearchConfidenceMode":{"$ref":"#/components/schemas/ConfidenceMode"}},"description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","nullable":true},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}},"nullable":true},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}},"nullable":true},"Zodiac":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.","format":"int32","nullable":true},"consideredCandidatesAt800Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.","format":"int32","nullable":true},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.","nullable":true},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds"},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs"},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes"}},"description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","nullable":true},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}},"nullable":true},"ImportResult":{"required":["affectedAlignedFeatureIds","affectedCompoundIds"],"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}}},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}},"default":null},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","description":"Specifies whether LC/MS runs should be aligned","default":true},"noiseIntensity":{"type":"number","description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient.","format":"double","default":-1},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxRetentionTimeDeviation":{"type":"number","description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.","format":"double","default":-1},"minSNR":{"type":"number","description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory","format":"double","default":3}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"required":["features"],"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"DataQuality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"FeatureImport":{"required":["charge","ionMass"],"type":"object","properties":{"name":{"type":"string","nullable":true},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.","nullable":true},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","nullable":true,"items":{"type":"string","nullable":true}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"dataQuality":{"$ref":"#/components/schemas/DataQuality"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail."},"CompoundOptField":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"AlignedFeatureOptField":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"AlignedFeature":{"required":["charge","detectedAdducts"],"type":"object","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","description":"Ion mode (charge) this feature has been measured in.","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"quality":{"$ref":"#/components/schemas/DataQuality"},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations"},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations"},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}},"description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view."},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation"}},"description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","nullable":true},"CanopusPrediction":{"type":"object","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","nullable":true},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"rtStartSeconds":{"type":"number","description":"The merged/consensus retention time start (earliest rt) of this compound","format":"double","nullable":true},"rtEndSeconds":{"type":"number","description":"The merged/consensus retention time end (latest rt) of this compound","format":"double","nullable":true},"neutralMass":{"type":"number","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass","format":"double","nullable":true},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"CompoundClass":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/CompoundClassType"},"level":{"type":"string","description":"Name of the level this compound class belongs to","nullable":true},"levelIndex":{"type":"integer","description":"Index of the level this compound class belongs to","format":"int32","nullable":true},"name":{"type":"string","description":"Name of the compound class.","nullable":true},"description":{"type":"string","description":"Description of the compound class.","nullable":true},"id":{"type":"integer","description":"Unique id of the class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"probability":{"type":"number","description":"prediction probability","format":"double"},"index":{"type":"integer","description":"Absolute index of this property in the predicted vector/embedding","format":"int32"},"parentId":{"type":"integer","description":"Unique id of the parent class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"parentName":{"type":"string","description":"Name of the parent compound class.","nullable":true}},"description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","nullable":true},"CompoundClassType":{"type":"string","description":"Defines compound class ontologies that are available.","nullable":true,"enum":["ClassyFire","NPC"]},"CompoundClasses":{"type":"object","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass"},"npcClass":{"$ref":"#/components/schemas/CompoundClass"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","nullable":true},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}},"description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.","nullable":true},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionCSI"},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate"},"confidenceExactMatch":{"type":"number","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true}},"nullable":true},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"$ref":"#/components/schemas/ConsensusCriterionDeNovo"}},"nullable":true},"ConsensusCriterionCSI":{"type":"string","nullable":true,"enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"ConsensusCriterionDeNovo":{"type":"string","nullable":true,"enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"FeatureAnnotations":{"type":"object","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate"},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored"},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses"},"confidenceExactMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit is correct.","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.","format":"double","nullable":true},"expansiveSearchState":{"$ref":"#/components/schemas/ConfidenceMode"},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}}},"description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","nullable":true},"FormulaCandidate":{"type":"object","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"siriusScore":{"type":"number","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"isotopeScore":{"type":"number","format":"double","nullable":true},"treeScore":{"type":"number","format":"double","nullable":true},"zodiacScore":{"type":"number","description":"Zodiac Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"numOfExplainedPeaks":{"type":"integer","format":"int32","nullable":true},"numOfExplainablePeaks":{"type":"integer","format":"int32","nullable":true},"totalExplainedIntensity":{"type":"number","format":"double","nullable":true},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree"},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation"},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","nullable":true,"items":{"type":"number","format":"double","nullable":true}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction"}},"description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","nullable":true},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct","nullable":true},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.","nullable":true},"massDeviationDa":{"type":"number","format":"double","nullable":true},"massDeviationPpm":{"type":"number","format":"double","nullable":true},"score":{"type":"number","format":"double","nullable":true},"intensity":{"type":"number","format":"double","nullable":true},"mz":{"type":"number","format":"double","nullable":true}}},"FragmentationTree":{"type":"object","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}},"description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","nullable":true},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.","nullable":true},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class.","nullable":true},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class.","nullable":true},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.","nullable":true},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS.","nullable":true}},"nullable":true},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","nullable":true},"ParentPeak":{"required":["lossFormula","parentFragmentId","parentIdx"],"type":"object","properties":{"parentIdx":{"type":"integer","description":"Index to the parent peak connected by this loss in this particular spectrum","format":"int32"},"parentFragmentId":{"type":"integer","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","nullable":true},"PeakAnnotation":{"required":["fragmentId"],"type":"object","properties":{"fragmentId":{"type":"integer","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak","nullable":true},"exactMass":{"type":"number","description":"Exact mass of the annotated molecular formula and adduct","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm","format":"double","nullable":true},"recalibratedMassDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa","format":"double","nullable":true},"recalibratedMassDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm","format":"double","nullable":true},"parentPeak":{"$ref":"#/components/schemas/ParentPeak"},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.","format":"float","nullable":true},"hydrogenRearrangements":{"type":"integer","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.","format":"int32","nullable":true}},"nullable":true},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum","nullable":true},"exactMass":{"type":"number","description":"Exact mass based on the annotated molecular formula and ionization","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm","format":"double","nullable":true},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested.","format":"double","nullable":true}},"nullable":true},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true}},"nullable":true},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"}},"nullable":true},"StoredJobSubmission":{"required":["editable","jobSubmission","name"],"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission"}}},"BioTransformerParameters":{"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"],"type":"object","properties":{"cyp450Mode":{"$ref":"#/components/schemas/Cyp450Mode"},"p2Mode":{"$ref":"#/components/schemas/P2Mode"},"useDB":{"type":"boolean","description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\"","default":true},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}}},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"$ref":"#/components/schemas/MetabolicTransformation"},"iterations":{"type":"integer","format":"int32"}}},"Cyp450Mode":{"type":"string","nullable":true,"default":"COMBINED","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"MetabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"P2Mode":{"type":"string","nullable":true,"default":"BT_RULE_BASED","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"AccountCredentials":{"type":"object","properties":{"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"refreshToken":{"type":"string","nullable":true}},"description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service."},"RunOptField":{"type":"string","nullable":true,"enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string","nullable":true},"ionization":{"type":"string","nullable":true},"fragmentation":{"type":"string","nullable":true},"massAnalyzers":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNetworkExperimental":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNodeExperimental":{"type":"object","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/TraceAnnotationTypeExperimental"},"description":{"type":"string","nullable":true},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32","nullable":true},"to":{"type":"integer","format":"int32","nullable":true}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceAnnotationTypeExperimental":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"TraceExperimental":{"type":"object","properties":{"id":{"type":"string"},"sampleId":{"type":"string","nullable":true},"sampleName":{"type":"string","nullable":true},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.","format":"double"},"noiseLevel":{"type":"number","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.","format":"double"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceSetExperimental":{"type":"object","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"QuantRowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"QuantTableExperimental":{"type":"object","properties":{"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"columnIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"rowNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"columnNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"required":["foldChange","objectId","quantType"],"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"$ref":"#/components/schemas/AggregationType"},"quantification":{"$ref":"#/components/schemas/QuantMeasure"},"quantType":{"$ref":"#/components/schemas/QuantRowType"},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}}},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"$ref":"#/components/schemas/StatisticsType"},"aggregationType":{"$ref":"#/components/schemas/AggregationType"},"quantificationMeasure":{"$ref":"#/components/schemas/QuantMeasure"},"rowType":{"$ref":"#/components/schemas/QuantRowType"},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"StatisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"SpectralLibraryMatchOptField":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"SpectralLibraryMatchSummary":{"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"],"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}}},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"required":["alignedFeatureId","categories","overallQuality"],"type":"object","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"$ref":"#/components/schemas/DataQuality"},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"$ref":"#/components/schemas/DataQuality"},"weight":{"$ref":"#/components/schemas/QualityWeight"}}},"QualityWeight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]},"FormulaCandidateOptField":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"AnnotatedMsMsData":{"required":["mergedMs2","ms2Spectra"],"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}},"StructureCandidateOptField":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"required":["availableILPSolvers","supportedILPSolvers"],"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API","nullable":true},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application","nullable":true},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application","nullable":true},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application","nullable":true},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries","nullable":true},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries","nullable":true},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services","nullable":true},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.","nullable":true},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS","nullable":true},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"$ref":"#/components/schemas/Solver"}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}}},"Solver":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]},"ConnectionCheck":{"required":["errors","licenseInfo"],"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}}},"ConnectionError":{"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"],"type":"object","properties":{"errorType":{"$ref":"#/components/schemas/ConnectionErrorType"},"errorKlass":{"$ref":"#/components/schemas/ConnectionErrorClass"},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32","nullable":true},"serverResponseErrorMessage":{"type":"string","nullable":true},"error":{"type":"boolean"},"warning":{"type":"boolean"}}},"ConnectionErrorClass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"ConnectionErrorType":{"type":"string","enum":["WARNING","ERROR"]},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to.","nullable":true},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to.","nullable":true},"subscription":{"$ref":"#/components/schemas/Subscription"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables"},"terms":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}},"nullable":true},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}},"nullable":true},"ApiVersion":{"type":"string","enum":["V2","V3"]},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file +{ + "openapi": "3.0.1", + "info": { + "title": "SIRIUS Nightsky API", + "description": "REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6", + "version": "3.1" + }, + "servers": [ + { + "url": "http://localhost:8080", + "description": "Generated server url" + } + ], + "tags": [ + { + "name": "Tags", + "description": "[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + }, + { + "name": "Info", + "description": "Status und Information" + }, + { + "name": "Feature Statistics", + "description": "[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + }, + { + "name": "Jobs", + "description": "Start, monitor and cancel background jobs." + }, + { + "name": "Compounds", + "description": "This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)" + }, + { + "name": "Login and Account", + "description": "Perform signIn, signOut and signUp. Get tokens and account information." + }, + { + "name": "Actuator", + "description": "Monitor and interact", + "externalDocs": { + "description": "Spring Boot Actuator Web API Documentation", + "url": "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/" + } + }, + { + "name": "Searchable Databases", + "description": "Manage structure and spectral databases that can be used by various computational methods." + }, + { + "name": "Features", + "description": "This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries." + }, + { + "name": "Projects", + "description": "Manage SIRIUS projects." + }, + { + "name": "Runs", + "description": "[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + }, + { + "name": "Compound Statistics", + "description": "[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + } + ], + "paths": { + "/api/projects/{projectId}": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get project space info by its projectId.", + "description": "Get project space info by its projectId.", + "operationId": "getProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier tof the project-space to be accessed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectInfoOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + }, + "put": { + "tags": [ + "Projects" + ], + "summary": "Open an existing project-space and make it accessible via the given projectId.", + "description": "Open an existing project-space and make it accessible via the given projectId.", + "operationId": "openProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pathToProject", + "in": "query", + "description": "local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.", + "required": false, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectInfoOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + }, + "post": { + "tags": [ + "Projects" + ], + "summary": "Create and open a new project-space at given location and make it accessible via the given projectId.", + "description": "Create and open a new project-space at given location and make it accessible via the given projectId.", + "operationId": "createProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pathToProject", + "in": "query", + "description": "local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.", + "required": false, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectInfoOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Projects" + ], + "summary": "Close project-space and remove it from the application", + "description": "Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.", + "operationId": "closeProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier of the project-space to be closed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compact", + "in": "query", + "description": "if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.", + "required": false, + "deprecated": true, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/tags": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get all tag definitions in the given project-space", + "description": "[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getTags", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagType", + "in": "query", + "description": "scope of the tag (optional)", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Tag definitions.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Add tags to the project", + "description": "[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "createTags", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the tag definitions to be created", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDefinitionImport" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the definitions of the tags that have been created", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tags/{runId}": { + "put": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Add tags to a run in the project", + "description": "[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addTagsToRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "in": "path", + "description": "run to add tags to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "tags to add.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the tags that have been added", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/blanksubtract/compute": { + "put": { + "tags": [ + "Runs" + ], + "summary": "**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter", + "description": "**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

", + "operationId": "computeFoldChangeForBlankSubtraction", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to compute the fold change in.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "job opt fields.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "progress" + ] + } + } + ], + "requestBody": { + "description": "request with lists of run IDs that are sample, blank, and control runs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SampleTypeFoldChangeRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/tags/{compoundId}": { + "put": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Tags with the same name will be overwritten", + "description": "[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addTagsToCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound (group of ion identities) to add tags to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "tags to add.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the tags that have been added", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchange/compute": { + "put": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] Compute the fold change between two groups of runs", + "description": "[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "computeCompoundFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to compute the fold change in.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/AggregationType" + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + }, + { + "name": "optFields", + "in": "query", + "description": "job opt fields.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "progress" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidates", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.", + "description": "[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.", + "operationId": "addDeNovoStructureCandidate", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "smiles", + "in": "query", + "description": "smiles", + "required": false, + "schema": { + "type": "string", + "default": "none" + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}": { + "put": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project", + "description": "[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addTagsToAlignedFeatureExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "run to add tags to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "tags to add.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the tags that have been added", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchange/compute": { + "put": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] Compute the fold change between two groups of runs", + "description": "[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "computeAlignedFeatureFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to compute the fold change in.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/AggregationType" + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + }, + { + "name": "optFields", + "in": "query", + "description": "job opt fields.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "progress" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/delete": { + "put": { + "tags": [ + "Features" + ], + "summary": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "description": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "operationId": "deleteAlignedFeatures", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/databases/{databaseId}": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "put": { + "tags": [ + "Searchable Databases" + ], + "operationId": "updateDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabaseParameters" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "post": { + "tags": [ + "Searchable Databases" + ], + "operationId": "createDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "pattern": "^[a-zA-Z0-9-_]+$", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabaseParameters" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Searchable Databases" + ], + "operationId": "removeDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "delete", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/account/subscriptions/select-active": { + "put": { + "tags": [ + "Login and Account" + ], + "summary": "Select a subscription as active subscription to be used for computations.", + "description": "Select a subscription as active subscription to be used for computations.", + "operationId": "selectSubscription", + "parameters": [ + { + "name": "sid", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Account information with updated active subscription", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountInfo" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get List of all available jobs with information such as current state and progress (if available).", + "description": "Get List of all available jobs with information such as current state and progress (if available).", + "operationId": "getJobs", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Jobs" + ], + "summary": "Start computation for given compounds and with given parameters.", + "description": "Start computation for given compounds and with given parameters.", + "operationId": "startJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "command", + "progress" + ] + } + } + ], + "requestBody": { + "description": "configuration of the job that will be submitted of the job to be returned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "summary": "* Delete ALL jobs.", + "description": "* Delete ALL jobs. Specify how to behave for running jobs.", + "operationId": "deleteJobs", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete jobs from", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cancelIfRunning", + "in": "query", + "description": "If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "awaitDeletion", + "in": "query", + "description": "If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + } + } + }, + "/api/projects/{projectId}/jobs/from-config": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "Start computation for given compounds and with parameters from a stored job-config.", + "description": "Start computation for given compounds and with parameters from a stored job-config.", + "operationId": "startJobFromConfig", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "jobConfigName", + "in": "query", + "description": "name if the config to be used", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "recompute", + "in": "query", + "description": "enable or disable recompute. If null the stored value will be used.", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "command", + "progress" + ] + } + } + ], + "requestBody": { + "description": "List of alignedFeatureIds to be computed", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/preprocessed-data-files": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)", + "description": "Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)", + "operationId": "importPreprocessedData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ignoreFormulas", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "allowMs1Only", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "files to import into project", + "items": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportResult" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/preprocessed-data-files-job": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import ms/ms data from the given format into the specified project-space as background job.", + "description": "Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)", + "operationId": "importPreprocessedDataAsJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ignoreFormulas", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "allowMs1Only", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "progress" + ] + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "items": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "the import job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/ms-data-files": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)", + "description": "Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)", + "operationId": "importMsRunData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles", + "parameters" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "Files to import into project.", + "items": { + "type": "string", + "format": "binary" + } + }, + "parameters": { + "$ref": "#/components/schemas/LcmsSubmissionParameters" + } + } + }, + "encoding": { + "parameters": { + "contentType": "application/json" + }, + "inputFiles": { + "contentType": "application/octet-stream" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportResult" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/ms-data-files-job": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import and Align full MS-Runs from various formats into the specified project as background job.", + "description": "Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)", + "operationId": "importMsRunDataAsJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "Set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "progress" + ] + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles", + "parameters" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "Files to import into project.", + "items": { + "type": "string", + "format": "binary" + } + }, + "parameters": { + "$ref": "#/components/schemas/LcmsSubmissionParameters" + } + } + }, + "encoding": { + "parameters": { + "contentType": "application/json" + }, + "inputFiles": { + "contentType": "application/octet-stream" + } + } + } + } + }, + "responses": { + "200": { + "description": "the import job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/groups/{groupName}": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get tag group by name in the given project-space", + "description": "[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getGroupByName", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "path", + "description": "name of the group", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Tag group.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagGroup" + } + } + } + } + } + }, + "post": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Group tags in the project", + "description": "[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addGroup", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "path", + "description": "name of the new group", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "filter query to create the group", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "type of the group", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tag group that was added", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagGroup" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space", + "description": "[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteGroup", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "path", + "description": "name of group to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "List of all available compounds (group of ion identities) in the given project-space.", + "description": "List of all available compounds (group of ion identities) in the given project-space.", + "operationId": "getCompounds", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundOptField" + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Compounds with additional optional fields (if specified).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Compound" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Compounds" + ], + "summary": "Import Compounds and its contained features.", + "description": "Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.", + "operationId": "addCompounds", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "query", + "description": "profile describing the instrument used to measure the data. Used to merge spectra.", + "required": false, + "schema": { + "$ref": "#/components/schemas/InstrumentProfile" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundOptField" + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "description": "set of optional fields of the nested features to be included. Use 'none' to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "requestBody": { + "description": "the compound data to be imported", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundImport" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the Compounds that have been imported with specified optional fields", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Compound" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features": { + "get": { + "tags": [ + "Features" + ], + "summary": "Get all available features (aligned over runs) in the given project-space.", + "description": "Get all available features (aligned over runs) in the given project-space.", + "operationId": "getAlignedFeatures", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "AlignedFeatures with additional annotations and MS/MS data (if specified).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Features" + ], + "summary": "Import (aligned) features into the project.", + "description": "Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.", + "operationId": "addAlignedFeatures", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "query", + "description": "profile describing the instrument used to measure the data. Used to merge spectra.", + "required": false, + "schema": { + "$ref": "#/components/schemas/InstrumentProfile" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "requestBody": { + "description": "the feature data to be imported", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FeatureImport" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the Features that have been imported with specified optional fields", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + } + } + } + } + } + } + }, + "/api/job-configs/{name}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Request job configuration with given name.", + "description": "Request job configuration with given name.", + "operationId": "getJobConfig", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "name of the job-config to return", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "moveParametersToConfigMap", + "in": "query", + "description": "if true, object-based parameters will be converted to and added to the generic configMap parameters", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "{@link JobSubmission JobSubmission} for given name.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoredJobSubmission" + } + } + } + } + } + }, + "post": { + "tags": [ + "Jobs" + ], + "summary": "Add new job configuration with given name.", + "description": "Add new job configuration with given name.", + "operationId": "saveJobConfig", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "name of the job-config to add", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "overrideExisting", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "moveParametersToConfigMap", + "in": "query", + "description": "if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "description": "to add", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoredJobSubmission" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "summary": "Delete job configuration with given name.", + "description": "Delete job configuration with given name.", + "operationId": "deleteJobConfig", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "name of the job-config to delete", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + } + } + }, + "/api/job-configs/get-command": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "Get a CLI command for the given job configuration.", + "description": "Get a CLI command for the given job configuration.", + "operationId": "getCommand", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "/api/databases": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getDatabases", + "parameters": [ + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeWithErrors", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Searchable Databases" + ], + "summary": "DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.", + "operationId": "addDatabases", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "deprecated": true + } + }, + "/api/databases/{databaseId}/import/from-files": { + "post": { + "tags": [ + "Searchable Databases" + ], + "summary": "Start import of structure and spectra files into the specified database.", + "description": "Start import of structure and spectra files into the specified database.", + "operationId": "importIntoDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "description": "database to import into", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "bufferSize", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1000 + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "files to be imported", + "items": { + "type": "string", + "format": "binary" + } + }, + "bioTransformerParameters": { + "$ref": "#/components/schemas/BioTransformerParameters" + } + } + }, + "encoding": { + "bioTransformerParameters": { + "contentType": "application/json" + }, + "inputFiles": { + "contentType": "application/octet-stream" + } + } + } + } + }, + "responses": { + "200": { + "description": "Meta-Information of the affected database after the import has been performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + }, + "/api/account/logout": { + "post": { + "tags": [ + "Login and Account" + ], + "summary": "Logout from SIRIUS web services.", + "description": "Logout from SIRIUS web services.", + "operationId": "logout", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/account/login": { + "post": { + "tags": [ + "Login and Account" + ], + "summary": "Login into SIRIUS web services and activate default subscription if available.", + "description": "Login into SIRIUS web services and activate default subscription if available.", + "operationId": "login", + "parameters": [ + { + "name": "acceptTerms", + "in": "query", + "required": true, + "schema": { + "type": "boolean" + } + }, + { + "name": "failWhenLoggedIn", + "in": "query", + "description": "if true request fails if an active login already exists.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeSubs", + "in": "query", + "description": "include available and active subscriptions in {@link AccountInfo AccountInfo}.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "description": "used to log in.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountCredentials" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Basic information about the account that has been logged in and its subscriptions.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountInfo" + } + } + } + } + } + } + }, + "/actuator/shutdown": { + "post": { + "tags": [ + "Actuator" + ], + "summary": "Actuator web endpoint 'shutdown'", + "operationId": "shutdown", + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/api/projects/{projectId}/tags/{tagName}": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get tag definition by its name in the given project-space", + "description": "[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getTag", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Tag definition.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space", + "description": "[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteTag", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag definition to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "patch": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Add a possible value to the tag definition in the project", + "description": "[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addPossibleValuesToTagDefinition", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "the tag definition to add the values to", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the definitions of the tags that have been added", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + } + }, + "/api/projects": { + "get": { + "tags": [ + "Projects" + ], + "summary": "List opened project spaces.", + "description": "List opened project spaces.", + "operationId": "getProjects", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/{runId}": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get run with the given identifier from the specified project-space", + "description": "[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "in": "path", + "description": "identifier of run to access.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "Run with tags (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Run" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tags/{objectId}": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get all tags associated with this Run", + "description": "[EXPERIMENTAL] Get all tags associated with this Run", + "operationId": "getTagsForRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to get from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "RunId to get tags for.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tags of the requested object", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tagged": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get runs by tag", + "description": "[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunsByTagExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project space to get runs from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "tag filter.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "tagged runs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelRun" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/page": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get all available runs in the given project-space", + "description": "[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunPageExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "Runs with tags (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelRun" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/grouped": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get runs by tag group", + "description": "[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunsByGroupExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "query", + "description": "tag group name.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "tagged runs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelRun" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/npc-data": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get CANOPUS prediction vector definition for NPC classes", + "operationId": "getCanopusNpcData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "charge", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/csv": { + "schema": { + "type": "string" + } + }, + "application/CSV": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/jobs/{jobId}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get job information and its current state and progress (if available).", + "description": "Get job information and its current state and progress (if available).", + "operationId": "getJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "jobId", + "in": "path", + "description": "of the job to be returned", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "progress" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "summary": "Delete job.", + "description": "Delete job. Specify how to behave for running jobs.", + "operationId": "deleteJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete job from", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "jobId", + "in": "path", + "description": "of the job to be deleted", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cancelIfRunning", + "in": "query", + "description": "If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "awaitDeletion", + "in": "query", + "description": "If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + } + } + }, + "/api/projects/{projectId}/jobs/page": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get Page of jobs with information such as current state and progress (if available).", + "description": "Get Page of jobs with information such as current state and progress (if available).", + "operationId": "getJobsPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JobOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelJob" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/has-jobs": { + "get": { + "tags": [ + "Jobs" + ], + "operationId": "hasJobs", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "includeFinished", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/groups": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get all tag based groups in the given project-space", + "description": "[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getGroups", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupType", + "in": "query", + "description": "type of the group", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Groups.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagGroup" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/fingerid-data": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get CSI:FingerID fingerprint (prediction vector) definition", + "operationId": "getFingerIdData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "charge", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/csv": { + "schema": { + "type": "string" + } + }, + "application/CSV": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/{compoundId}": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "Get compound (group of ion identities) with the given identifier from the specified project-space.", + "description": "Get compound (group of ion identities) with the given identifier from the specified project-space.", + "operationId": "getCompound", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "identifier of the compound (group of ion identities) to access.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundOptField" + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Compounds with additional optional fields (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Compound" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Compounds" + ], + "summary": "Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.", + "description": "Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.", + "operationId": "deleteCompound", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "identifier of the compound to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds/{compoundId}/traces": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Returns the traces of the given compound", + "description": "[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*", + "operationId": "getCompoundTracesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound which intensities should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "featureId", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "Traces of the given compound.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TraceSetExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/{compoundId}/quant-table-row": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Returns a single quantification table row for the given compound", + "description": "[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*", + "operationId": "getCompoundQuantTableRowExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound which should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/tags/{objectId}": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Get all tags associated with this Compound", + "description": "[EXPERIMENTAL] Get all tags associated with this Compound", + "operationId": "getTagsForCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to get from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "CompoundId to get tags for.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tags of the requested Compound", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/tagged": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag", + "description": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getCompoundsByTagExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project space to get compounds (group of ion identities) from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "tag filter.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "tagged compounds (group of ion identities)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelCompound" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}": { + "get": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] List all fold changes that are associated with an object", + "description": "[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getFoldChangesByCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "id of the object the fold changes are assigned to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "fold changes", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FoldChange" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table": { + "get": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] Get table of all fold changes in the project space", + "description": "[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getCompoundFoldChangeTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/AggregationType" + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "table of fold changes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StatisticsTable" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/quant-table": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Returns the full quantification table of compounds", + "description": "[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*", + "operationId": "getCompoundQuantTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/page": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "Page of available compounds (group of ion identities) in the given project-space.", + "description": "Page of available compounds (group of ion identities) in the given project-space.", + "operationId": "getCompoundsPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundOptField" + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Compounds with additional optional fields (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelCompound" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/grouped": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag group", + "description": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getCompoundsByGroupExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "query", + "description": "tag group name.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "tagged compounds (group of ion identities)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelCompound" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/cf-data": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get CANOPUS prediction vector definition for ClassyFire classes", + "operationId": "getCanopusClassyFireData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "charge", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/csv": { + "schema": { + "type": "string" + } + }, + "application/CSV": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "Get feature (aligned over runs) with the given identifier from the specified project-space.", + "description": "Get feature (aligned over runs) with the given identifier from the specified project-space.", + "operationId": "getAlignedFeature", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "identifier of feature (aligned over runs) to access.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "AlignedFeature with additional annotations and MS/MS data (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlignedFeature" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Features" + ], + "summary": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "description": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "operationId": "deleteAlignedFeature", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "identifier of feature (aligned over runs) to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)", + "description": "[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getTracesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature which intensities should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "includeAll", + "in": "query", + "description": "when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Traces of the given feature.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TraceSetExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of spectral library matches for the given 'alignedFeatureId'.", + "description": "List of spectral library matches for the given 'alignedFeatureId'.", + "operationId": "getSpectralLibraryMatches", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "minSharedPeaks", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "minSimilarity", + "in": "query", + "required": false, + "schema": { + "type": "number", + "format": "double", + "default": 0.2 + } + }, + { + "name": "inchiKey", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatchOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Spectral library matches of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "Spectral library match for the given 'alignedFeatureId'.", + "description": "Spectral library match for the given 'alignedFeatureId'.", + "operationId": "getSpectralLibraryMatch", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "matchId", + "in": "path", + "description": "id of the library match to be returned.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatchOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Spectral library match with requested mathcId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations", + "description": "[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getStructureAnnotatedSpectralLibraryMatchExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "matchId", + "in": "path", + "description": "id of the library match to be returned.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Spectral library match with requested mathcId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary": { + "get": { + "tags": [ + "Features" + ], + "summary": "Summarize matched reference spectra for the given 'alignedFeatureId'.", + "description": "Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.", + "operationId": "getSpectralLibraryMatchesSummary", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "minSharedPeaks", + "in": "query", + "description": "min threshold of shared peaks.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "minSimilarity", + "in": "query", + "description": "min spectral similarity threshold.", + "required": false, + "schema": { + "type": "number", + "format": "double", + "default": 0.2 + } + }, + { + "name": "inchiKey", + "in": "query", + "description": "2D inchi key of the compound in the structure database.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpectralLibraryMatchSummary" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of spectral library matches for the given 'alignedFeatureId'.", + "description": "Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.", + "operationId": "getSpectralLibraryMatchesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "minSharedPeaks", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "minSimilarity", + "in": "query", + "required": false, + "schema": { + "type": "number", + "format": "double", + "default": 0.2 + } + }, + { + "name": "inchiKey", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatchOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Spectral library matches of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelSpectralLibraryMatch" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)", + "description": "[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getQuantTableRowExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature which quantity should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "Quant table row for this feature", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ", + "description": "[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeatureQualityExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "identifier of feature (aligned over runs) to access.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "AlignedFeatureQuality quality information of the respective feature.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlignedFeatureQualityExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data": { + "get": { + "tags": [ + "Features" + ], + "summary": "Mass Spec data (input data) for the given 'alignedFeatureId' .", + "description": "Mass Spec data (input data) for the given 'alignedFeatureId' .", + "operationId": "getMsData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the Mass Spec data belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Mass Spec data of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MsData" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of FormulaResultContainers available for this feature with minimal information.", + "description": "List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.", + "operationId": "getFormulaCandidates", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormulaCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "All FormulaCandidate of this feature with.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormulaCandidate" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "FormulaResultContainers for the given 'formulaId' with minimal information.", + "description": "FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.", + "operationId": "getFormulaCandidate", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormulaCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "FormulaCandidate of this feature (aligned over runs) with.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FormulaCandidate" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ", + "description": "[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getStructureAnnotatedSpectrumExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "inchiKey", + "in": "path", + "description": "2d InChIKey of the structure candidate to be used to annotate the spectrum annotation", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spectrumIndex", + "in": "query", + "description": "index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": -1 + } + }, + { + "name": "searchPrepared", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectrum annotated with fragments and sub-structures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey", + "description": "[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getStructureAnnotatedMsDataExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "inchiKey", + "in": "path", + "description": "2d InChIKey of the structure candidate to be used to annotate the spectrum annotation", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectrum annotated with fragments and sub-structures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedMsMsData" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns Lipid annotation (ElGordo) for the given formulaId", + "description": "Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.", + "operationId": "getLipidAnnotation", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "LipidAnnotation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LipidAnnotation" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns Isotope pattern information for given formulaId\n ", + "description": "Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).", + "operationId": "getIsotopePatternAnnotation", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Isotope pattern information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IsotopePatternAnnotation" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ", + "description": "Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).", + "operationId": "getFragTree", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Fragmentation Tree", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FragmentationTree" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ", + "description": "Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.", + "operationId": "getFingerprintPrediction", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "probabilistic fingerprint predicted by CSI:FingerID", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidatesByFormula", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateScored" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidatesByFormulaPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateScored" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.", + "description": "List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidatesByFormula", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateScored" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.", + "description": "Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidatesByFormulaPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateScored" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction": { + "get": { + "tags": [ + "Features" + ], + "summary": "All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,", + "description": "All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,", + "operationId": "getCanopusPrediction", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Predicted compound classes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CanopusPrediction" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes": { + "get": { + "tags": [ + "Features" + ], + "summary": "Return Best matching compound classes for given formulaId", + "description": "Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,", + "operationId": "getBestMatchingCompoundClasses", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Best matching Predicted compound classes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CompoundClasses" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns a fragmentation spectrum (e", + "description": "Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.", + "operationId": "getFormulaAnnotatedSpectrum", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spectrumIndex", + "in": "query", + "description": "index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": -1 + } + }, + { + "name": "searchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectrum annotated with fragment formulas and losses.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId", + "description": "Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.", + "operationId": "getFormulaAnnotatedMsMsData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectra annotated with fragment formulas and losses.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedMsMsData" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of FormulaResultContainers available for this feature with minimal information.", + "description": "Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.", + "operationId": "getFormulaCandidatesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormulaCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "All FormulaCandidate of this feature with.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelFormulaCandidate" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidatesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateFormula" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.", + "description": "List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidates", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.", + "description": "Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidatesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateFormula" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network", + "description": "[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAdductNetworkWithMergedTracesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "one feature that is considered the main feature of the adduct network", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TraceSetExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tags/{objectId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Get all tags associated with this Object", + "description": "[EXPERIMENTAL] Get all tags associated with this Object", + "operationId": "getTagsForAlignedFeaturesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to get from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "object to get tags for.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tags of the requested object", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tagged": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Get features (aligned over runs) by tag", + "description": "[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeaturesByTagExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project space to get features (aligned over runs) from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "tag filter.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "tagged features (aligned over runs)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelAlignedFeature" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}": { + "get": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] List all fold changes that are associated with an object", + "description": "[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getFoldChangesByAlignedFeatureExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "id of the object the fold changes are assigned to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "fold changes", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FoldChange" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table": { + "get": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] Get table of all fold changes in the project space", + "description": "[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeatureFoldChangeTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/AggregationType" + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "table of fold changes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StatisticsTable" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/quant-table": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)", + "description": "[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getFeatureQuantTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "Quant table if akk feature in this project", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Get all available features (aligned over runs) in the given project-space.", + "description": "Get all available features (aligned over runs) in the given project-space.", + "operationId": "getAlignedFeaturesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "AlignedFeatures with additional annotations and MS/MS data (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelAlignedFeature" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/grouped": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Get features (aligned over runs) by tag group", + "description": "[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeaturesByGroupExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "query", + "description": "tag group name.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeatureOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "tagged features (aligned over runs)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelAlignedFeature" + } + } + } + } + } + } + }, + "/api/job-configs": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Request all available job configurations", + "description": "Request all available job configurations", + "operationId": "getJobConfigs", + "responses": { + "200": { + "description": "list of available {@link JobSubmission JobSubmission}s", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StoredJobSubmission" + } + } + } + } + } + } + } + }, + "/api/job-config-names": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "[DEPRECATED] Get all (non-default) job configuration names\n ", + "description": "[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.", + "operationId": "getJobConfigNames", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "deprecated": true + } + }, + "/api/info": { + "get": { + "tags": [ + "Info" + ], + "operationId": "getInfo", + "parameters": [ + { + "name": "serverInfo", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "updateInfo", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Info" + } + } + } + } + } + } + }, + "/api/default-job-config": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Request default job configuration", + "description": "Request default job configuration", + "operationId": "getDefaultJobConfig", + "parameters": [ + { + "name": "includeConfigMap", + "in": "query", + "description": "if true, generic configmap with-defaults will be included", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "moveParametersToConfigMap", + "in": "query", + "description": "if true, object-based parameters will be converted to and added to the generic configMap parameters", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeCustomDbsForStructureSearch", + "in": "query", + "description": "if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "{@link JobSubmission JobSubmission} with all parameters set to default values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + } + } + } + } + }, + "/api/databases/included": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getIncludedDatabases", + "parameters": [ + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + } + }, + "/api/databases/custom": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getCustomDatabases", + "parameters": [ + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeWithErrors", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + } + }, + "/api/connection-status": { + "get": { + "tags": [ + "Info" + ], + "operationId": "getConnectionCheck", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConnectionCheck" + } + } + } + } + } + } + }, + "/api/account/subscriptions": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Get available subscriptions of the account currently logged in.", + "description": "Get available subscriptions of the account currently logged in. Fails if not logged in.", + "operationId": "getSubscriptions", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Subscription" + } + } + } + } + } + } + } + }, + "/api/account/signUp": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Open SignUp window in system browser and return signUp link.", + "description": "Open SignUp window in system browser and return signUp link.", + "operationId": "signUp", + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain;charset=UTF-8": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/account/signUpURL": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Get SignUp URL (For signUp via web browser)", + "description": "Get SignUp URL (For signUp via web browser)", + "operationId": "getSignUpURL", + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain;charset=UTF-8": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/account/openPortal": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Open User portal in browser.", + "description": "Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.", + "operationId": "openPortal", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/account/isLoggedIn": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Check if a user is logged in.", + "description": "Check if a user is logged in.", + "operationId": "isLoggedIn", + "responses": { + "200": { + "description": "true if the user is logged in", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/api/account/": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Get information about the account currently logged in.", + "description": "Get information about the account currently logged in. Fails if not logged in.", + "operationId": "getAccountInfo", + "parameters": [ + { + "name": "includeSubs", + "in": "query", + "description": "include available and active subscriptions in {@link AccountInfo AccountInfo}.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Basic information about the account that has been logged in and its subscriptions.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountInfo" + } + } + } + } + } + } + }, + "/actuator/health": { + "get": { + "tags": [ + "Actuator" + ], + "summary": "Actuator web endpoint 'health'", + "operationId": "health", + "responses": { + "200": { + "description": "OK", + "content": { + "application/vnd.spring-boot.actuator.v3+json": { + "schema": { + "type": "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json": { + "schema": { + "type": "object" + } + }, + "application/json": { + "schema": { + "type": "object" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tags/{runId}/{tagName}": { + "delete": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space", + "description": "[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "removeTagFromRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "in": "path", + "description": "run to delete tag from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}": { + "delete": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space", + "description": "[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "removeTagFromCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound (group of ion identities) to delete tag from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchanges": { + "delete": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] Delete fold changes", + "description": "[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteCompoundFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/AggregationType" + } + }, + { + "name": "quantification", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}": { + "delete": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space", + "description": "[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "removeTagFromAlignedFeatureExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) to delete tag from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchanges": { + "delete": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] Delete fold changes", + "description": "[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteAlignedFeatureFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/AggregationType" + } + }, + { + "name": "quantification", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/QuantMeasure" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + } + }, + "components": { + "schemas": { + "ProjectChangeEvent": { + "type": "object", + "properties": { + "eventType": { + "$ref": "#/components/schemas/ProjectEventType" + }, + "projectId": { + "type": "string" + }, + "compoundId": { + "type": "string", + "nullable": true + }, + "featuredId": { + "type": "string", + "nullable": true + }, + "formulaId": { + "type": "string", + "nullable": true + }, + "structureInChIKey": { + "type": "string", + "nullable": true + } + } + }, + "DataImportEvent": { + "required": [ + "importedCompoundIds", + "importedFeatureIds" + ], + "type": "object", + "properties": { + "importJobId": { + "type": "string", + "nullable": true + }, + "importedCompoundIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "importedFeatureIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BackgroundComputationsStateEvent": { + "required": [ + "affectedJobs", + "numberOfFinishedJobs", + "numberOfJobs", + "numberOfRunningJobs" + ], + "type": "object", + "properties": { + "affectedJobs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Job" + } + }, + "numberOfJobs": { + "type": "integer", + "format": "int32" + }, + "numberOfRunningJobs": { + "type": "integer", + "format": "int32" + }, + "numberOfFinishedJobs": { + "type": "integer", + "format": "int32" + } + } + }, + "ProjectEventType": { + "type": "string", + "enum": [ + "PROJECT_OPENED", + "PROJECT_MOVED", + "PROJECT_CLOSED", + "FEATURE_CREATED", + "FEATURE_UPDATED", + "FEATURE_DELETED", + "RESULT_CREATED", + "RESULT_UPDATED", + "RESULT_DELETED" + ] + }, + "ProjectInfoOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "compatibilityInfo", + "sizeInformation" + ] + }, + "ProjectInfo": { + "type": "object", + "properties": { + "projectId": { + "type": "string", + "description": "a user selected unique name of the project for easy access." + }, + "location": { + "type": "string", + "description": "storage location of the project." + }, + "description": { + "type": "string", + "description": "Description of this project.", + "nullable": true + }, + "type": { + "$ref": "#/components/schemas/ProjectType" + }, + "compatible": { + "type": "boolean", + "description": "Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.", + "nullable": true + }, + "numOfFeatures": { + "type": "integer", + "description": "Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').", + "format": "int32", + "nullable": true + }, + "numOfCompounds": { + "type": "integer", + "description": "Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.", + "format": "int32", + "nullable": true + }, + "numOfBytes": { + "type": "integer", + "description": "Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').", + "format": "int64", + "nullable": true + } + } + }, + "ProjectType": { + "type": "string", + "nullable": true, + "enum": [ + "UNIMPORTED", + "DIRECT_IMPORT", + "PEAKLISTS", + "ALIGNED_RUNS", + "UNALIGNED_RUNS" + ] + }, + "TagDefinitionImport": { + "required": [ + "tagName", + "valueType" + ], + "type": "object", + "properties": { + "tagName": { + "type": "string", + "description": "Name of this tag defined by this definition (key)" + }, + "description": { + "type": "string", + "description": "A human-readable description about the purpose of this tag.", + "nullable": true + }, + "tagType": { + "type": "string", + "description": "A simple string based identifier to specify the type/scope/purpose of this tag.", + "nullable": true + }, + "valueType": { + "$ref": "#/components/schemas/ValueType" + }, + "possibleValues": { + "type": "array", + "nullable": true, + "items": { + "type": "object", + "nullable": true + } + }, + "minValue": { + "type": "object", + "nullable": true + }, + "maxValue": { + "type": "object", + "nullable": true + } + } + }, + "ValueType": { + "type": "string", + "enum": [ + "NONE", + "BOOLEAN", + "INTEGER", + "REAL", + "TEXT", + "DATE", + "TIME" + ] + }, + "TagDefinition": { + "required": [ + "tagName", + "valueType" + ], + "type": "object", + "properties": { + "tagName": { + "type": "string", + "description": "Name of this tag defined by this definition (key)" + }, + "description": { + "type": "string", + "description": "A human-readable description about the purpose of this tag.", + "nullable": true + }, + "tagType": { + "type": "string", + "description": "A simple string based identifier to specify the type/scope/purpose of this tag.", + "nullable": true + }, + "valueType": { + "$ref": "#/components/schemas/ValueType" + }, + "possibleValues": { + "type": "array", + "nullable": true, + "items": { + "type": "object", + "nullable": true + } + }, + "minValue": { + "type": "object", + "nullable": true + }, + "maxValue": { + "type": "object", + "nullable": true + }, + "editable": { + "type": "boolean" + } + } + }, + "Tag": { + "required": [ + "tagName" + ], + "type": "object", + "properties": { + "tagName": { + "type": "string", + "description": "Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition." + }, + "value": { + "type": "object", + "description": "Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).", + "nullable": true + } + } + }, + "SampleTypeFoldChangeRequest": { + "type": "object", + "properties": { + "sampleRunIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "blankRunIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "controlRunIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "JobOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "Job": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier to access the job via the API" + }, + "command": { + "type": "string", + "description": "Command string of the executed Task", + "nullable": true + }, + "progress": { + "$ref": "#/components/schemas/JobProgress" + }, + "affectedCompoundIds": { + "type": "array", + "description": "List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "affectedAlignedFeatureIds": { + "type": "array", + "description": "List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "jobEffect": { + "$ref": "#/components/schemas/JobEffect" + } + }, + "description": "Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal." + }, + "JobEffect": { + "type": "string", + "nullable": true, + "enum": [ + "IMPORT", + "COMPUTATION", + "DELETION" + ] + }, + "JobProgress": { + "type": "object", + "properties": { + "indeterminate": { + "type": "boolean", + "description": "Is the progress indeterminate or not", + "nullable": true + }, + "state": { + "$ref": "#/components/schemas/JobState" + }, + "currentProgress": { + "type": "integer", + "description": "Current progress value of the job.", + "format": "int64", + "nullable": true + }, + "maxProgress": { + "type": "integer", + "description": "Progress value to reach (might also change during execution)", + "format": "int64", + "nullable": true + }, + "message": { + "type": "string", + "description": "Progress information and warnings.", + "nullable": true + }, + "errorMessage": { + "type": "string", + "description": "Error message if the job did not finish successfully failed.", + "nullable": true + } + }, + "description": "Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.", + "nullable": true + }, + "JobState": { + "type": "string", + "enum": [ + "WAITING", + "READY", + "QUEUED", + "SUBMITTED", + "RUNNING", + "CANCELED", + "FAILED", + "DONE" + ] + }, + "AggregationType": { + "type": "string", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + }, + "QuantMeasure": { + "type": "string", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + }, + "BasicSpectrum": { + "required": [ + "cosineQuery", + "peaks" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Optional Displayable name of this spectrum.", + "nullable": true + }, + "msLevel": { + "type": "integer", + "description": "MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero", + "format": "int32", + "nullable": true + }, + "collisionEnergy": { + "type": "string", + "description": "Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable", + "nullable": true + }, + "instrument": { + "type": "string", + "description": "Instrument information.", + "nullable": true + }, + "precursorMz": { + "type": "number", + "description": "Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable", + "format": "double", + "nullable": true + }, + "scanNumber": { + "type": "integer", + "description": "Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", + "format": "int32", + "nullable": true + }, + "cosineQuery": { + "type": "boolean", + "description": "True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", + "default": false + }, + "precursorPeak": { + "$ref": "#/components/schemas/SimplePeak" + }, + "peaks": { + "type": "array", + "description": "The peaks of this spectrum which might contain additional annotations such as molecular formulas.", + "items": { + "$ref": "#/components/schemas/SimplePeak" + } + }, + "absIntensityFactor": { + "type": "number", + "description": "Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.", + "format": "double", + "nullable": true, + "deprecated": true + }, + "maxNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to MAX norm.", + "format": "double", + "nullable": true + }, + "sumNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to SUM norm.", + "format": "double", + "nullable": true + }, + "l2NormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to L2 (Euclidean) norm.", + "format": "double", + "nullable": true + }, + "firstPeakNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to normalize intensities by first peak intensity.", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "BinaryFingerprint": { + "type": "object", + "properties": { + "bitsSet": { + "type": "array", + "description": "Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)", + "items": { + "type": "integer", + "format": "int32" + } + }, + "length": { + "type": "integer", + "description": "Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits", + "format": "int32" + } + }, + "nullable": true + }, + "DBLink": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "nullable": true + }, + "PeakPair": { + "required": [ + "queryPeak", + "referencePeak" + ], + "type": "object", + "properties": { + "queryPeak": { + "type": "integer", + "format": "int32" + }, + "referencePeak": { + "type": "integer", + "format": "int32" + } + } + }, + "SimplePeak": { + "type": "object", + "properties": { + "mz": { + "type": "number", + "format": "double" + }, + "intensity": { + "type": "number", + "format": "double" + } + } + }, + "SpectralLibraryMatch": { + "required": [ + "inchiKey", + "querySpectrumIndex", + "similarity", + "uuid" + ], + "type": "object", + "properties": { + "specMatchId": { + "type": "string" + }, + "rank": { + "type": "integer", + "format": "int32" + }, + "similarity": { + "type": "number", + "description": "Similarity between query and reference spectrum", + "format": "float" + }, + "sharedPeaks": { + "type": "integer", + "description": "Number of shared/matched peaks", + "format": "int32" + }, + "sharedPeakMapping": { + "type": "array", + "description": "List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)", + "items": { + "$ref": "#/components/schemas/PeakPair" + } + }, + "querySpectrumIndex": { + "type": "integer", + "format": "int32" + }, + "dbName": { + "type": "string" + }, + "dbId": { + "type": "string" + }, + "uuid": { + "type": "integer", + "format": "int64" + }, + "splash": { + "type": "string" + }, + "molecularFormula": { + "type": "string" + }, + "adduct": { + "type": "string" + }, + "exactMass": { + "type": "number", + "format": "double" + }, + "smiles": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/SpectralMatchType" + }, + "inchiKey": { + "type": "string" + }, + "referenceSpectrumType": { + "$ref": "#/components/schemas/SpectrumType" + }, + "referenceSpectrum": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "querySpectrumType": { + "$ref": "#/components/schemas/SpectrumType" + } + }, + "nullable": true + }, + "SpectralMatchType": { + "type": "string", + "default": "IDENTITY", + "enum": [ + "IDENTITY", + "ANALOG" + ] + }, + "SpectrumType": { + "type": "string", + "enum": [ + "SPECTRUM", + "MERGED_SPECTRUM" + ] + }, + "StructureCandidateFormula": { + "type": "object", + "properties": { + "inchiKey": { + "type": "string" + }, + "smiles": { + "type": "string" + }, + "structureName": { + "type": "string", + "nullable": true + }, + "structureSvg": { + "type": "string", + "description": "SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true + }, + "dbLinks": { + "type": "array", + "description": "List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/DBLink" + } + }, + "spectralLibraryMatches": { + "type": "array", + "description": "List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "xlogP": { + "type": "number", + "format": "double", + "nullable": true + }, + "rank": { + "type": "integer", + "description": "the overall rank of this candidate among all candidates of this feature", + "format": "int32" + }, + "csiScore": { + "type": "number", + "description": "CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates", + "format": "double" + }, + "tanimotoSimilarity": { + "type": "number", + "description": "Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", + "format": "double", + "nullable": true + }, + "mcesDistToTopHit": { + "type": "number", + "description": "Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", + "format": "double", + "nullable": true + }, + "fingerprint": { + "$ref": "#/components/schemas/BinaryFingerprint" + }, + "molecularFormula": { + "type": "string", + "description": "Molecular formula of this candidate" + }, + "adduct": { + "type": "string", + "description": "Adduct of this candidate" + }, + "formulaId": { + "type": "string", + "description": "Id of the corresponding Formula candidate" + } + } + }, + "SearchableDatabaseParameters": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "display name of the database\n Should be short", + "nullable": true + }, + "location": { + "type": "string", + "description": "Storage location of user database\n Might be NULL for non-user databases or if default location is used.", + "nullable": true + }, + "matchRtOfReferenceSpectra": { + "type": "boolean", + "description": "Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on", + "nullable": true, + "default": false + } + } + }, + "SearchableDatabase": { + "required": [ + "customDb", + "databaseId", + "searchable", + "updateNeeded" + ], + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "display name of the database\n Should be short", + "nullable": true + }, + "location": { + "type": "string", + "description": "Storage location of user database\n Might be NULL for non-user databases or if default location is used.", + "nullable": true + }, + "matchRtOfReferenceSpectra": { + "type": "boolean", + "description": "Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on", + "nullable": true, + "default": false + }, + "databaseId": { + "type": "string", + "description": "A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name." + }, + "customDb": { + "type": "boolean", + "description": "Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified." + }, + "searchable": { + "type": "boolean", + "description": "True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search." + }, + "dbDate": { + "type": "string", + "description": "Date on which the data was imported / database was created.", + "nullable": true + }, + "dbVersion": { + "type": "integer", + "description": "database schema version", + "format": "int32", + "nullable": true + }, + "updateNeeded": { + "type": "boolean", + "description": "If true the database version is outdated and the database needs to be updated or re-imported before it can be used." + }, + "numberOfStructures": { + "type": "integer", + "description": "Number of unique compounds available in this database.", + "format": "int64", + "nullable": true + }, + "numberOfFormulas": { + "type": "integer", + "description": "Number of different molecular formulas available in this database.", + "format": "int64", + "nullable": true + }, + "numberOfReferenceSpectra": { + "type": "integer", + "description": "Number of reference spectra available in this database", + "format": "int64", + "nullable": true + }, + "errorMessage": { + "type": "string", + "description": "Error message if the database could not be loaded", + "nullable": true + } + } + }, + "AccountInfo": { + "type": "object", + "properties": { + "userID": { + "type": "string" + }, + "username": { + "type": "string", + "nullable": true + }, + "userEmail": { + "type": "string" + }, + "gravatarURL": { + "type": "string", + "nullable": true + }, + "subscriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Subscription" + } + }, + "activeSubscriptionId": { + "type": "string", + "nullable": true + } + } + }, + "AllowedFeatures": { + "type": "object", + "properties": { + "cli": { + "type": "boolean" + }, + "api": { + "type": "boolean" + }, + "deNovo": { + "type": "boolean" + }, + "importMSRuns": { + "type": "boolean" + }, + "importPeakLists": { + "type": "boolean" + }, + "importCef": { + "type": "boolean" + } + } + }, + "Subscription": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "description": "Unique identifier of this subscription" + }, + "subscriberId": { + "type": "string", + "description": "ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid." + }, + "subscriberName": { + "type": "string", + "description": "Optional name of the owner of this subscription", + "nullable": true + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "startDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "countQueries": { + "type": "boolean", + "nullable": true + }, + "instanceLimit": { + "type": "integer", + "description": "Limit of instances (features) that can be computed with this subscription", + "format": "int32", + "nullable": true + }, + "instanceHashRecordingTime": { + "type": "integer", + "description": "Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is", + "format": "int32", + "nullable": true + }, + "maxQueriesPerInstance": { + "type": "integer", + "description": "Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.", + "format": "int32", + "nullable": true + }, + "maxUserAccounts": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "serviceUrl": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "tos": { + "type": "string", + "nullable": true + }, + "pp": { + "type": "string", + "nullable": true + }, + "allowedFeatures": { + "$ref": "#/components/schemas/AllowedFeatures" + } + } + }, + "Canopus": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + } + }, + "description": "User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool", + "nullable": true + }, + "ConfidenceMode": { + "type": "string", + "nullable": true, + "enum": [ + "OFF", + "EXACT", + "APPROXIMATE" + ] + }, + "FingerprintPrediction": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "useScoreThreshold": { + "type": "boolean", + "description": "If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.", + "nullable": true + }, + "alwaysPredictHighRefMatches": { + "type": "boolean", + "description": "If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.", + "nullable": true + } + }, + "description": "User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool", + "nullable": true + }, + "InstrumentProfile": { + "type": "string", + "description": "Select the profile that is the closest to your instrumental setup. If nothing fits, use QTOF.", + "nullable": true, + "enum": [ + "QTOF", + "ORBITRAP" + ] + }, + "IsotopeMs2Strategy": { + "type": "string", + "nullable": true, + "enum": [ + "IGNORE", + "FILTER", + "SCORE" + ] + }, + "JobSubmission": { + "type": "object", + "properties": { + "compoundIds": { + "type": "array", + "description": "Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "alignedFeatureIds": { + "type": "array", + "description": "Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "fallbackAdducts": { + "type": "array", + "description": "Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "enforcedAdducts": { + "type": "array", + "description": "Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "detectableAdducts": { + "type": "array", + "description": "Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "recompute": { + "type": "boolean", + "description": "Indicate if already existing result for a tool to be executed should be overwritten or not.", + "nullable": true + }, + "spectraSearchParams": { + "$ref": "#/components/schemas/SpectralLibrarySearch" + }, + "formulaIdParams": { + "$ref": "#/components/schemas/Sirius" + }, + "zodiacParams": { + "$ref": "#/components/schemas/Zodiac" + }, + "fingerprintPredictionParams": { + "$ref": "#/components/schemas/FingerprintPrediction" + }, + "canopusParams": { + "$ref": "#/components/schemas/Canopus" + }, + "structureDbSearchParams": { + "$ref": "#/components/schemas/StructureDbSearch" + }, + "msNovelistParams": { + "$ref": "#/components/schemas/MsNovelist" + }, + "configMap": { + "type": "object", + "additionalProperties": { + "type": "string", + "nullable": true + }, + "description": "As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.", + "nullable": true + } + }, + "description": "Object to submit a job to be executed by SIRIUS" + }, + "MsNovelist": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "numberOfCandidateToPredict": { + "type": "integer", + "description": "Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.", + "format": "int32", + "nullable": true + } + }, + "nullable": true + }, + "Sirius": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "profile": { + "$ref": "#/components/schemas/InstrumentProfile" + }, + "numberOfCandidates": { + "type": "integer", + "description": "Number of formula candidates to keep as result list (Formula Candidates).", + "format": "int32", + "nullable": true + }, + "numberOfCandidatesPerIonization": { + "type": "integer", + "description": "Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.", + "format": "int32", + "nullable": true + }, + "massAccuracyMS2ppm": { + "type": "number", + "description": "Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.", + "format": "double", + "nullable": true + }, + "isotopeMs2Settings": { + "$ref": "#/components/schemas/IsotopeMs2Strategy" + }, + "filterByIsotopePattern": { + "type": "boolean", + "description": "When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.", + "nullable": true + }, + "enforceElGordoFormula": { + "type": "boolean", + "description": "El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.", + "nullable": true + }, + "performBottomUpSearch": { + "type": "boolean", + "description": "If true, molecular formula generation via bottom up search is enabled.", + "nullable": true + }, + "performDenovoBelowMz": { + "type": "number", + "description": "Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.", + "format": "double", + "nullable": true + }, + "formulaSearchDBs": { + "type": "array", + "description": "List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "applyFormulaConstraintsToDBAndBottomUpSearch": { + "type": "boolean", + "description": "By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.", + "nullable": true + }, + "enforcedFormulaConstraints": { + "type": "string", + "description": "These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered", + "nullable": true + }, + "fallbackFormulaConstraints": { + "type": "string", + "description": "These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)", + "nullable": true + }, + "detectableElements": { + "type": "array", + "description": "These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "ilpTimeout": { + "$ref": "#/components/schemas/Timeout" + }, + "useHeuristic": { + "$ref": "#/components/schemas/UseHeuristic" + }, + "injectSpecLibMatchFormulas": { + "type": "boolean", + "description": "If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied", + "nullable": true + }, + "minScoreToInjectSpecLibMatch": { + "type": "number", + "description": "Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.", + "format": "double", + "nullable": true + }, + "minPeaksToInjectSpecLibMatch": { + "type": "integer", + "description": "Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.", + "format": "int32", + "nullable": true + } + }, + "description": "User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.", + "nullable": true + }, + "SpectralLibrarySearch": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "spectraSearchDBs": { + "type": "array", + "description": "Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "precursorDeviationPpm": { + "type": "number", + "description": "Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.", + "format": "double", + "nullable": true + }, + "minSimilarity": { + "type": "number", + "description": "Minimal spectral similarity of a spectral match to be considered a hit.", + "format": "float", + "nullable": true + }, + "minNumOfPeaks": { + "type": "integer", + "description": "Minimal number of matching peaks of a spectral match to be considered a hit.", + "format": "int32", + "nullable": true + }, + "enableAnalogueSearch": { + "type": "boolean", + "description": "Enable analogue search in addition to the identity spectral library search" + }, + "minSimilarityAnalogue": { + "type": "number", + "description": "Minimal spectral similarity of a spectral match to be considered an analogue hit.", + "format": "float", + "nullable": true + }, + "minNumOfPeaksAnalogue": { + "type": "integer", + "description": "Minimal number of matching peaks of a spectral match to be considered an analogue hit.", + "format": "int32", + "nullable": true + }, + "scoring": { + "$ref": "#/components/schemas/SpectralMatchingType" + }, + "peakDeviationPpm": { + "type": "number", + "description": "NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks.", + "format": "double", + "nullable": true, + "deprecated": true + } + }, + "description": "User/developer friendly parameter subset for the Spectral library search tool.", + "nullable": true + }, + "SpectralMatchingType": { + "type": "string", + "nullable": true, + "enum": [ + "INTENSITY", + "GAUSSIAN", + "MODIFIED_COSINE", + "FAST_COSINE" + ] + }, + "StructureDbSearch": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "structureSearchDBs": { + "type": "array", + "description": "Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "tagStructuresWithLipidClass": { + "type": "boolean", + "description": "Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.", + "nullable": true + }, + "expansiveSearchConfidenceMode": { + "$ref": "#/components/schemas/ConfidenceMode" + } + }, + "description": "User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.", + "nullable": true + }, + "Timeout": { + "type": "object", + "properties": { + "numberOfSecondsPerDecomposition": { + "type": "integer", + "format": "int32" + }, + "numberOfSecondsPerInstance": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "UseHeuristic": { + "type": "object", + "properties": { + "useHeuristicAboveMz": { + "type": "integer", + "format": "int32" + }, + "useOnlyHeuristicAboveMz": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "Zodiac": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "consideredCandidatesAt300Mz": { + "type": "integer", + "description": "Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.", + "format": "int32", + "nullable": true + }, + "consideredCandidatesAt800Mz": { + "type": "integer", + "description": "Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.", + "format": "int32", + "nullable": true + }, + "runInTwoSteps": { + "type": "boolean", + "description": "As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.", + "nullable": true + }, + "edgeFilterThresholds": { + "$ref": "#/components/schemas/ZodiacEdgeFilterThresholds" + }, + "gibbsSamplerParameters": { + "$ref": "#/components/schemas/ZodiacEpochs" + }, + "librarySearchAnchors": { + "$ref": "#/components/schemas/ZodiacLibraryScoring" + }, + "analogueSearchAnchors": { + "$ref": "#/components/schemas/ZodiacAnalogueNodes" + } + }, + "description": "User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool", + "nullable": true + }, + "ZodiacAnalogueNodes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "minSimilarity": { + "type": "number", + "format": "double" + }, + "minSharedPeaks": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "ZodiacEdgeFilterThresholds": { + "type": "object", + "properties": { + "thresholdFilter": { + "type": "number", + "format": "double" + }, + "minLocalCandidates": { + "type": "integer", + "format": "int32" + }, + "minLocalConnections": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "ZodiacEpochs": { + "type": "object", + "properties": { + "iterations": { + "type": "integer", + "format": "int32" + }, + "burnInPeriod": { + "type": "integer", + "format": "int32" + }, + "numberOfMarkovChains": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "ZodiacLibraryScoring": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "minSimilarity": { + "type": "number", + "format": "double" + } + }, + "nullable": true + }, + "ImportResult": { + "required": [ + "affectedAlignedFeatureIds", + "affectedCompoundIds" + ], + "type": "object", + "properties": { + "affectedCompoundIds": { + "type": "array", + "description": "List of compoundIds that have been imported.", + "items": { + "type": "string" + } + }, + "affectedAlignedFeatureIds": { + "type": "array", + "description": "List of alignedFeatureIds that have been imported..", + "items": { + "type": "string" + } + } + } + }, + "Deviation": { + "type": "object", + "properties": { + "ppm": { + "type": "number", + "format": "double" + }, + "absolute": { + "type": "number", + "format": "double" + } + } + }, + "LcmsSubmissionParameters": { + "type": "object", + "properties": { + "alignLCMSRuns": { + "type": "boolean", + "description": "Specifies whether LC/MS runs should be aligned", + "default": true + }, + "noiseIntensity": { + "type": "number", + "description": "Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient.", + "format": "double", + "default": -1 + }, + "traceMaxMassDeviation": { + "$ref": "#/components/schemas/Deviation" + }, + "alignMaxMassDeviation": { + "$ref": "#/components/schemas/Deviation" + }, + "alignMaxRetentionTimeDeviation": { + "type": "number", + "description": "Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.", + "format": "double", + "default": -1 + }, + "minSNR": { + "type": "number", + "description": "Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory", + "format": "double", + "default": 3 + } + } + }, + "TagGroup": { + "type": "object", + "properties": { + "groupName": { + "type": "string", + "description": "Name of this Grouping query." + }, + "luceneQuery": { + "type": "string", + "description": "Query used to group the entities in lucene format." + }, + "groupType": { + "type": "string" + } + } + }, + "CompoundImport": { + "required": [ + "features" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Some (optional) human-readable name", + "nullable": true + }, + "features": { + "type": "array", + "description": "The features this compound consists of.", + "items": { + "$ref": "#/components/schemas/FeatureImport" + } + } + } + }, + "DataQuality": { + "type": "string", + "nullable": true, + "enum": [ + "NOT_APPLICABLE", + "LOWEST", + "BAD", + "DECENT", + "GOOD" + ] + }, + "FeatureImport": { + "required": [ + "charge", + "ionMass" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "nullable": true + }, + "externalFeatureId": { + "type": "string", + "description": "Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.", + "nullable": true + }, + "ionMass": { + "type": "number", + "format": "double" + }, + "charge": { + "type": "integer", + "format": "int32" + }, + "detectedAdducts": { + "uniqueItems": true, + "type": "array", + "description": "Detected adducts of this feature. Can be NULL or empty if no adducts are known.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "rtStartSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtEndSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtApexSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "dataQuality": { + "$ref": "#/components/schemas/DataQuality" + }, + "mergedMs1": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "ms1Spectra": { + "type": "array", + "description": "List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.", + "nullable": true, + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + }, + "ms2Spectra": { + "type": "array", + "description": "List of MS/MS spectra that belong to this feature.", + "nullable": true, + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + } + }, + "description": "Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail." + }, + "CompoundOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "consensusAnnotations", + "consensusAnnotationsDeNovo", + "customAnnotations", + "tags" + ] + }, + "AlignedFeatureOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "AlignedFeature": { + "required": [ + "charge", + "detectedAdducts" + ], + "type": "object", + "properties": { + "alignedFeatureId": { + "type": "string" + }, + "compoundId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "externalFeatureId": { + "type": "string", + "description": "Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source." + }, + "ionMass": { + "type": "number", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "Ion mode (charge) this feature has been measured in.", + "format": "int32" + }, + "detectedAdducts": { + "uniqueItems": true, + "type": "array", + "description": "Adducts of this feature that have been detected during preprocessing.", + "items": { + "type": "string" + } + }, + "rtStartSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtEndSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtApexSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "quality": { + "$ref": "#/components/schemas/DataQuality" + }, + "hasMs1": { + "type": "boolean", + "description": "If true, the feature has at lease one MS1 spectrum" + }, + "hasMsMs": { + "type": "boolean", + "description": "If true, the feature has at lease one MS/MS spectrum" + }, + "msData": { + "$ref": "#/components/schemas/MsData" + }, + "topAnnotations": { + "$ref": "#/components/schemas/FeatureAnnotations" + }, + "topAnnotationsDeNovo": { + "$ref": "#/components/schemas/FeatureAnnotations" + }, + "computing": { + "type": "boolean", + "description": "Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results" + }, + "computedTools": { + "$ref": "#/components/schemas/ComputedSubtools" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Tag" + }, + "description": "Key: tagName, value: tag", + "nullable": true + } + }, + "description": "The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view." + }, + "AnnotatedPeak": { + "type": "object", + "properties": { + "mz": { + "type": "number", + "format": "double" + }, + "intensity": { + "type": "number", + "format": "double" + }, + "peakAnnotation": { + "$ref": "#/components/schemas/PeakAnnotation" + } + } + }, + "AnnotatedSpectrum": { + "required": [ + "cosineQuery", + "peaks" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Optional Displayable name of this spectrum.", + "nullable": true + }, + "msLevel": { + "type": "integer", + "description": "MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero", + "format": "int32", + "nullable": true + }, + "collisionEnergy": { + "type": "string", + "description": "Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable", + "nullable": true + }, + "instrument": { + "type": "string", + "description": "Instrument information.", + "nullable": true + }, + "precursorMz": { + "type": "number", + "description": "Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable", + "format": "double", + "nullable": true + }, + "scanNumber": { + "type": "integer", + "description": "Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", + "format": "int32", + "nullable": true + }, + "cosineQuery": { + "type": "boolean", + "description": "True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", + "default": false + }, + "precursorPeak": { + "$ref": "#/components/schemas/SimplePeak" + }, + "peaks": { + "type": "array", + "description": "The peaks of this spectrum which might contain additional annotations such as molecular formulas.", + "items": { + "$ref": "#/components/schemas/AnnotatedPeak" + } + }, + "absIntensityFactor": { + "type": "number", + "description": "Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.", + "format": "double", + "nullable": true, + "deprecated": true + }, + "maxNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to MAX norm.", + "format": "double", + "nullable": true + }, + "sumNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to SUM norm.", + "format": "double", + "nullable": true + }, + "l2NormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to L2 (Euclidean) norm.", + "format": "double", + "nullable": true + }, + "firstPeakNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to normalize intensities by first peak intensity.", + "format": "double", + "nullable": true + }, + "spectrumAnnotation": { + "$ref": "#/components/schemas/SpectrumAnnotation" + } + }, + "description": "Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes", + "nullable": true + }, + "CanopusPrediction": { + "type": "object", + "properties": { + "classyFireClasses": { + "type": "array", + "description": "All predicted ClassyFire classes", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + }, + "npcClasses": { + "type": "array", + "description": "All predicted NPC classes", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + } + }, + "description": "Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.", + "nullable": true + }, + "Compound": { + "type": "object", + "properties": { + "compoundId": { + "type": "string", + "description": "uid of this compound Entity" + }, + "name": { + "type": "string", + "description": "Some (optional) human-readable name", + "nullable": true + }, + "rtStartSeconds": { + "type": "number", + "description": "The merged/consensus retention time start (earliest rt) of this compound", + "format": "double", + "nullable": true + }, + "rtEndSeconds": { + "type": "number", + "description": "The merged/consensus retention time end (latest rt) of this compound", + "format": "double", + "nullable": true + }, + "neutralMass": { + "type": "number", + "description": "Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass", + "format": "double", + "nullable": true + }, + "features": { + "type": "array", + "description": "List of aligned features (adducts) that belong to the same (this) compound", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + }, + "consensusAnnotations": { + "$ref": "#/components/schemas/ConsensusAnnotationsCSI" + }, + "consensusAnnotationsDeNovo": { + "$ref": "#/components/schemas/ConsensusAnnotationsDeNovo" + }, + "customAnnotations": { + "$ref": "#/components/schemas/ConsensusAnnotationsCSI" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Tag" + }, + "description": "Key: tagName, value: tag", + "nullable": true + } + } + }, + "CompoundClass": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/CompoundClassType" + }, + "level": { + "type": "string", + "description": "Name of the level this compound class belongs to", + "nullable": true + }, + "levelIndex": { + "type": "integer", + "description": "Index of the level this compound class belongs to", + "format": "int32", + "nullable": true + }, + "name": { + "type": "string", + "description": "Name of the compound class.", + "nullable": true + }, + "description": { + "type": "string", + "description": "Description of the compound class.", + "nullable": true + }, + "id": { + "type": "integer", + "description": "Unique id of the class. Might be undefined for certain classification ontologies.", + "format": "int32", + "nullable": true + }, + "probability": { + "type": "number", + "description": "prediction probability", + "format": "double" + }, + "index": { + "type": "integer", + "description": "Absolute index of this property in the predicted vector/embedding", + "format": "int32" + }, + "parentId": { + "type": "integer", + "description": "Unique id of the parent class. Might be undefined for certain classification ontologies.", + "format": "int32", + "nullable": true + }, + "parentName": { + "type": "string", + "description": "Name of the parent compound class.", + "nullable": true + } + }, + "description": "Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to", + "nullable": true + }, + "CompoundClassType": { + "type": "string", + "description": "Defines compound class ontologies that are available.", + "nullable": true, + "enum": [ + "ClassyFire", + "NPC" + ] + }, + "CompoundClasses": { + "type": "object", + "properties": { + "npcPathway": { + "$ref": "#/components/schemas/CompoundClass" + }, + "npcSuperclass": { + "$ref": "#/components/schemas/CompoundClass" + }, + "npcClass": { + "$ref": "#/components/schemas/CompoundClass" + }, + "classyFireLineage": { + "type": "array", + "description": "Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + }, + "classyFireAlternatives": { + "type": "array", + "description": "Alternative ClassyFire classes with high probability that do not fit into the linage", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + } + }, + "description": "Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.", + "nullable": true + }, + "ComputedSubtools": { + "type": "object", + "properties": { + "librarySearch": { + "type": "boolean" + }, + "formulaSearch": { + "type": "boolean" + }, + "zodiac": { + "type": "boolean" + }, + "fingerprint": { + "type": "boolean" + }, + "canopus": { + "type": "boolean" + }, + "structureSearch": { + "type": "boolean" + }, + "deNovoSearch": { + "type": "boolean" + } + }, + "description": "Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.", + "nullable": true + }, + "ConsensusAnnotationsCSI": { + "type": "object", + "properties": { + "molecularFormula": { + "type": "string", + "description": "Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.", + "nullable": true + }, + "compoundClasses": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "supportingFeatureIds": { + "type": "array", + "description": "FeatureIds where the topAnnotation supports this annotation.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "selectionCriterion": { + "$ref": "#/components/schemas/ConsensusCriterionCSI" + }, + "csiFingerIdStructure": { + "$ref": "#/components/schemas/StructureCandidate" + }, + "confidenceExactMatch": { + "type": "number", + "description": "Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported", + "format": "double", + "nullable": true + }, + "confidenceApproxMatch": { + "type": "number", + "description": "Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "ConsensusAnnotationsDeNovo": { + "type": "object", + "properties": { + "molecularFormula": { + "type": "string", + "description": "Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.", + "nullable": true + }, + "compoundClasses": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "supportingFeatureIds": { + "type": "array", + "description": "FeatureIds where the topAnnotation supports this annotation.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "selectionCriterion": { + "$ref": "#/components/schemas/ConsensusCriterionDeNovo" + } + }, + "nullable": true + }, + "ConsensusCriterionCSI": { + "type": "string", + "nullable": true, + "enum": [ + "MAJORITY_STRUCTURE", + "CONFIDENCE_STRUCTURE", + "SINGLETON_STRUCTURE", + "MAJORITY_FORMULA", + "TOP_FORMULA", + "SINGLETON_FORMULA" + ] + }, + "ConsensusCriterionDeNovo": { + "type": "string", + "nullable": true, + "enum": [ + "MAJORITY_FORMULA", + "TOP_FORMULA", + "SINGLETON_FORMULA" + ] + }, + "FeatureAnnotations": { + "type": "object", + "properties": { + "formulaAnnotation": { + "$ref": "#/components/schemas/FormulaCandidate" + }, + "structureAnnotation": { + "$ref": "#/components/schemas/StructureCandidateScored" + }, + "compoundClassAnnotation": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "confidenceExactMatch": { + "type": "number", + "description": "Confidence Score that represents the confidence whether the top hit is correct.", + "format": "double", + "nullable": true + }, + "confidenceApproxMatch": { + "type": "number", + "description": "Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.", + "format": "double", + "nullable": true + }, + "expansiveSearchState": { + "$ref": "#/components/schemas/ConfidenceMode" + }, + "specifiedDatabases": { + "type": "array", + "description": "List of databases that have been specified by for structure db search. Null if no structure db search has been performed.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "expandedDatabases": { + "type": "array", + "description": "List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + } + }, + "description": "Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.", + "nullable": true + }, + "FormulaCandidate": { + "type": "object", + "properties": { + "formulaId": { + "type": "string", + "description": "Unique identifier of this formula candidate" + }, + "molecularFormula": { + "type": "string", + "description": "molecular formula of this formula candidate" + }, + "adduct": { + "type": "string", + "description": "Adduct of this formula candidate" + }, + "rank": { + "type": "integer", + "format": "int32" + }, + "siriusScoreNormalized": { + "type": "number", + "description": "Normalized Sirius Score of the formula candidate.\n If NULL result is not available", + "format": "double", + "nullable": true + }, + "siriusScore": { + "type": "number", + "description": "Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available", + "format": "double", + "nullable": true + }, + "isotopeScore": { + "type": "number", + "format": "double", + "nullable": true + }, + "treeScore": { + "type": "number", + "format": "double", + "nullable": true + }, + "zodiacScore": { + "type": "number", + "description": "Zodiac Score of the formula candidate.\n If NULL result is not available", + "format": "double", + "nullable": true + }, + "numOfExplainedPeaks": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "numOfExplainablePeaks": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "totalExplainedIntensity": { + "type": "number", + "format": "double", + "nullable": true + }, + "medianMassDeviation": { + "$ref": "#/components/schemas/Deviation" + }, + "fragmentationTree": { + "$ref": "#/components/schemas/FragmentationTree" + }, + "annotatedSpectrum": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + }, + "isotopePatternAnnotation": { + "$ref": "#/components/schemas/IsotopePatternAnnotation" + }, + "lipidAnnotation": { + "$ref": "#/components/schemas/LipidAnnotation" + }, + "predictedFingerprint": { + "type": "array", + "description": "Probabilistic molecular fingerprint predicted by CSI:FingerID", + "nullable": true, + "items": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "compoundClasses": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "canopusPrediction": { + "$ref": "#/components/schemas/CanopusPrediction" + } + }, + "description": "Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.", + "nullable": true + }, + "FragmentNode": { + "type": "object", + "properties": { + "fragmentId": { + "type": "integer", + "format": "int32" + }, + "molecularFormula": { + "type": "string", + "description": "neutral molecular formula of the fragment without adduct", + "nullable": true + }, + "adduct": { + "type": "string", + "description": "This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.", + "nullable": true + }, + "massDeviationDa": { + "type": "number", + "format": "double", + "nullable": true + }, + "massDeviationPpm": { + "type": "number", + "format": "double", + "nullable": true + }, + "score": { + "type": "number", + "format": "double", + "nullable": true + }, + "intensity": { + "type": "number", + "format": "double", + "nullable": true + }, + "mz": { + "type": "number", + "format": "double", + "nullable": true + } + } + }, + "FragmentationTree": { + "type": "object", + "properties": { + "fragments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FragmentNode" + } + }, + "losses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LossEdge" + } + }, + "treeScore": { + "type": "number", + "format": "double" + }, + "molecularFormula": { + "type": "string" + }, + "adduct": { + "type": "string" + } + }, + "description": "Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation", + "nullable": true + }, + "IsotopePatternAnnotation": { + "type": "object", + "properties": { + "isotopePattern": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "simulatedPattern": { + "$ref": "#/components/schemas/BasicSpectrum" + } + }, + "nullable": true + }, + "LipidAnnotation": { + "type": "object", + "properties": { + "lipidSpecies": { + "type": "string", + "description": "Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.", + "nullable": true + }, + "lipidMapsId": { + "type": "string", + "description": "LIPID MAPS id of the predicted lipid class.", + "nullable": true + }, + "lipidClassName": { + "type": "string", + "description": "Human-readable name of the predicted lipid class.", + "nullable": true + }, + "hypotheticalStructure": { + "type": "string", + "description": "Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.", + "nullable": true + }, + "chainsUnknown": { + "type": "boolean", + "description": "True of the formula composition of the chains could not be determined from the MS/MS.", + "nullable": true + } + }, + "nullable": true + }, + "LossEdge": { + "type": "object", + "properties": { + "sourceFragmentIdx": { + "type": "integer", + "format": "int32" + }, + "targetFragmentIdx": { + "type": "integer", + "format": "int32" + }, + "molecularFormula": { + "type": "string" + }, + "score": { + "type": "number", + "format": "double" + } + } + }, + "MsData": { + "type": "object", + "properties": { + "isotopePattern": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "mergedMs1": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "mergedMs2": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "ms1Spectra": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + }, + "ms2Spectra": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + } + }, + "description": "The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar", + "nullable": true + }, + "ParentPeak": { + "required": [ + "lossFormula", + "parentFragmentId", + "parentIdx" + ], + "type": "object", + "properties": { + "parentIdx": { + "type": "integer", + "description": "Index to the parent peak connected by this loss in this particular spectrum", + "format": "int32" + }, + "parentFragmentId": { + "type": "integer", + "description": "Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.", + "format": "int32" + }, + "lossFormula": { + "type": "string", + "description": "Molecular formula of the neutral loss that connects these two peaks." + } + }, + "description": "Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.", + "nullable": true + }, + "PeakAnnotation": { + "required": [ + "fragmentId" + ], + "type": "object", + "properties": { + "fragmentId": { + "type": "integer", + "description": "Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.", + "format": "int32" + }, + "molecularFormula": { + "type": "string", + "description": "Molecular formula that has been annotated to this peak", + "nullable": true + }, + "adduct": { + "type": "string", + "description": "Adduct that has been annotated to this peak", + "nullable": true + }, + "exactMass": { + "type": "number", + "description": "Exact mass of the annotated molecular formula and adduct", + "format": "double", + "nullable": true + }, + "massDeviationMz": { + "type": "number", + "description": "Absolute mass deviation of the exact mass to the measured peak mass in mDa", + "format": "double", + "nullable": true + }, + "massDeviationPpm": { + "type": "number", + "description": "Relative mass deviation of the exact mass to the measured peak mass in ppm", + "format": "double", + "nullable": true + }, + "recalibratedMassDeviationMz": { + "type": "number", + "description": "Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa", + "format": "double", + "nullable": true + }, + "recalibratedMassDeviationPpm": { + "type": "number", + "description": "Relative mass deviation of the exact mass to the recalibrated peak mass in ppm", + "format": "double", + "nullable": true + }, + "parentPeak": { + "$ref": "#/components/schemas/ParentPeak" + }, + "substructureAtoms": { + "type": "array", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)", + "nullable": true, + "items": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "substructureBonds": { + "type": "array", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.", + "nullable": true, + "items": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "substructureBondsCut": { + "type": "array", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.", + "nullable": true, + "items": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "substructureScore": { + "type": "number", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.", + "format": "float", + "nullable": true + }, + "hydrogenRearrangements": { + "type": "integer", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.", + "format": "int32", + "nullable": true + } + }, + "nullable": true + }, + "SpectrumAnnotation": { + "type": "object", + "properties": { + "molecularFormula": { + "type": "string", + "description": "Molecular formula that has been annotated to this spectrum", + "nullable": true + }, + "adduct": { + "type": "string", + "description": "Adduct that has been annotated to this spectrum", + "nullable": true + }, + "exactMass": { + "type": "number", + "description": "Exact mass based on the annotated molecular formula and ionization", + "format": "double", + "nullable": true + }, + "massDeviationMz": { + "type": "number", + "description": "Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa", + "format": "double", + "nullable": true + }, + "massDeviationPpm": { + "type": "number", + "description": "Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm", + "format": "double", + "nullable": true + }, + "structureAnnotationSmiles": { + "type": "string", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested.", + "nullable": true + }, + "structureAnnotationName": { + "type": "string", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested.", + "nullable": true + }, + "structureAnnotationSvg": { + "type": "string", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested.", + "nullable": true + }, + "structureAnnotationScore": { + "type": "number", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested.", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "StructureCandidate": { + "type": "object", + "properties": { + "inchiKey": { + "type": "string" + }, + "smiles": { + "type": "string" + }, + "structureName": { + "type": "string", + "nullable": true + }, + "structureSvg": { + "type": "string", + "description": "SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true + }, + "dbLinks": { + "type": "array", + "description": "List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/DBLink" + } + }, + "spectralLibraryMatches": { + "type": "array", + "description": "List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "xlogP": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "StructureCandidateScored": { + "type": "object", + "properties": { + "inchiKey": { + "type": "string" + }, + "smiles": { + "type": "string" + }, + "structureName": { + "type": "string", + "nullable": true + }, + "structureSvg": { + "type": "string", + "description": "SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true + }, + "dbLinks": { + "type": "array", + "description": "List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/DBLink" + } + }, + "spectralLibraryMatches": { + "type": "array", + "description": "List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "xlogP": { + "type": "number", + "format": "double", + "nullable": true + }, + "rank": { + "type": "integer", + "description": "the overall rank of this candidate among all candidates of this feature", + "format": "int32" + }, + "csiScore": { + "type": "number", + "description": "CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates", + "format": "double" + }, + "tanimotoSimilarity": { + "type": "number", + "description": "Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", + "format": "double", + "nullable": true + }, + "mcesDistToTopHit": { + "type": "number", + "description": "Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", + "format": "double", + "nullable": true + }, + "fingerprint": { + "$ref": "#/components/schemas/BinaryFingerprint" + } + }, + "nullable": true + }, + "StoredJobSubmission": { + "required": [ + "editable", + "jobSubmission", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Unique name to identify this JobSubmission (job config)." + }, + "editable": { + "type": "boolean", + "description": "False for predefined configs which are not editable and not removable." + }, + "jobSubmission": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "BioTransformerParameters": { + "required": [ + "bioTransformerSequenceSteps", + "cyp450Mode", + "p2Mode" + ], + "type": "object", + "properties": { + "cyp450Mode": { + "$ref": "#/components/schemas/Cyp450Mode" + }, + "p2Mode": { + "$ref": "#/components/schemas/P2Mode" + }, + "useDB": { + "type": "boolean", + "description": "\"Specify if you want to enable the retrieving from database (HMDB) feature.\"", + "default": true + }, + "bioTransformerSequenceSteps": { + "type": "array", + "description": "Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).", + "items": { + "$ref": "#/components/schemas/BioTransformerSequenceStep" + } + } + } + }, + "BioTransformerSequenceStep": { + "type": "object", + "properties": { + "metabolicTransformation": { + "$ref": "#/components/schemas/MetabolicTransformation" + }, + "iterations": { + "type": "integer", + "format": "int32" + } + } + }, + "Cyp450Mode": { + "type": "string", + "nullable": true, + "default": "COMBINED", + "enum": [ + "RULE_BASED", + "CY_PRODUCT", + "COMBINED" + ] + }, + "MetabolicTransformation": { + "type": "string", + "enum": [ + "PHASE_1_CYP450", + "EC_BASED", + "PHASE_2", + "HUMAN_GUT", + "ALL_HUMAN", + "ABIOTIC", + "HUMAN_CUSTOM_MULTI" + ] + }, + "P2Mode": { + "type": "string", + "nullable": true, + "default": "BT_RULE_BASED", + "enum": [ + "BT_RULE_BASED", + "P2_RULE_ONLY", + "COMBINED_RULES" + ] + }, + "AccountCredentials": { + "type": "object", + "properties": { + "username": { + "type": "string", + "nullable": true + }, + "password": { + "type": "string", + "nullable": true + }, + "refreshToken": { + "type": "string", + "nullable": true + } + }, + "description": "Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service." + }, + "RunOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "tags" + ] + }, + "Run": { + "type": "object", + "properties": { + "runId": { + "type": "string", + "description": "Identifier" + }, + "name": { + "type": "string", + "description": "Informative, human-readable name of this run" + }, + "source": { + "type": "string", + "description": "Source location" + }, + "chromatography": { + "type": "string", + "nullable": true + }, + "ionization": { + "type": "string", + "nullable": true + }, + "fragmentation": { + "type": "string", + "nullable": true + }, + "massAnalyzers": { + "type": "array", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Tag" + }, + "description": "Key: tagName, value: tag", + "nullable": true + } + } + }, + "PageMetadata": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "format": "int64" + }, + "number": { + "type": "integer", + "format": "int64" + }, + "totalElements": { + "type": "integer", + "format": "int64" + }, + "totalPages": { + "type": "integer", + "format": "int64" + } + } + }, + "PagedModelRun": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Run" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelJob": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Job" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "AdductEdgeExperimental": { + "type": "object", + "properties": { + "mzDelta": { + "type": "number", + "format": "double" + }, + "annotation": { + "type": "string" + }, + "from": { + "type": "integer", + "format": "int32" + }, + "to": { + "type": "integer", + "format": "int32" + }, + "mergedCorrelation": { + "type": "number", + "format": "float" + }, + "representativeCorrelation": { + "type": "number", + "format": "float" + }, + "ms2cosine": { + "type": "number", + "format": "float" + }, + "pvalue": { + "type": "number", + "format": "float" + }, + "intensityRatioScore": { + "type": "number", + "format": "float" + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "AdductNetworkExperimental": { + "type": "object", + "properties": { + "nodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AdductNodeExperimental" + } + }, + "edges": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AdductEdgeExperimental" + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "AdductNodeExperimental": { + "type": "object", + "properties": { + "alignedFeatureId": { + "type": "string" + }, + "mz": { + "type": "number", + "format": "double" + }, + "adductAnnotations": { + "type": "object", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "Axes": { + "type": "object", + "properties": { + "scanNumber": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "scanIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "retentionTimeInSeconds": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + }, + "TraceAnnotationExperimental": { + "type": "object", + "properties": { + "type": { + "$ref": "#/components/schemas/TraceAnnotationTypeExperimental" + }, + "description": { + "type": "string", + "nullable": true + }, + "index": { + "type": "integer", + "format": "int32" + }, + "from": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "to": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "TraceAnnotationTypeExperimental": { + "type": "string", + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.", + "enum": [ + "FEATURE", + "MS2" + ] + }, + "TraceExperimental": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sampleId": { + "type": "string", + "nullable": true + }, + "sampleName": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string" + }, + "color": { + "type": "string" + }, + "intensities": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TraceAnnotationExperimental" + } + }, + "mz": { + "type": "number", + "format": "double" + }, + "merged": { + "type": "boolean" + }, + "normalizationFactor": { + "type": "number", + "description": "Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.", + "format": "double" + }, + "noiseLevel": { + "type": "number", + "description": "The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.", + "format": "double" + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "TraceSetExperimental": { + "type": "object", + "properties": { + "adductNetwork": { + "$ref": "#/components/schemas/AdductNetworkExperimental" + }, + "sampleId": { + "type": "string" + }, + "sampleName": { + "type": "string" + }, + "axes": { + "$ref": "#/components/schemas/Axes" + }, + "traces": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TraceExperimental" + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "QuantRowType": { + "type": "string", + "enum": [ + "FEATURES", + "COMPOUNDS" + ] + }, + "QuantTableExperimental": { + "type": "object", + "properties": { + "quantificationMeasure": { + "$ref": "#/components/schemas/QuantMeasure" + }, + "rowType": { + "$ref": "#/components/schemas/QuantRowType" + }, + "rowIds": { + "type": "array", + "nullable": true, + "items": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "columnIds": { + "type": "array", + "nullable": true, + "items": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "rowNames": { + "type": "array", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "columnNames": { + "type": "array", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "values": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "PagedModelCompound": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Compound" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "FoldChange": { + "required": [ + "foldChange", + "objectId", + "quantType" + ], + "type": "object", + "properties": { + "leftGroup": { + "type": "string" + }, + "rightGroup": { + "type": "string" + }, + "aggregation": { + "$ref": "#/components/schemas/AggregationType" + }, + "quantification": { + "$ref": "#/components/schemas/QuantMeasure" + }, + "quantType": { + "$ref": "#/components/schemas/QuantRowType" + }, + "objectId": { + "type": "string" + }, + "foldChange": { + "type": "number", + "format": "double" + } + } + }, + "StatisticsTable": { + "type": "object", + "properties": { + "statisticsType": { + "$ref": "#/components/schemas/StatisticsType" + }, + "aggregationType": { + "$ref": "#/components/schemas/AggregationType" + }, + "quantificationMeasure": { + "$ref": "#/components/schemas/QuantMeasure" + }, + "rowType": { + "$ref": "#/components/schemas/QuantRowType" + }, + "rowIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "columnNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "columnLeftGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "columnRightGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "values": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + } + }, + "StatisticsType": { + "type": "string", + "enum": [ + "FOLD_CHANGE" + ] + }, + "SpectralLibraryMatchOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "referenceSpectrum" + ] + }, + "SpectralLibraryMatchSummary": { + "required": [ + "databaseCompoundCount", + "referenceSpectraCount", + "spectralMatchCount" + ], + "type": "object", + "properties": { + "bestMatch": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + }, + "spectralMatchCount": { + "type": "integer", + "format": "int64" + }, + "referenceSpectraCount": { + "type": "integer", + "format": "int32" + }, + "databaseCompoundCount": { + "type": "integer", + "format": "int32" + } + } + }, + "PagedModelSpectralLibraryMatch": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "AlignedFeatureQualityExperimental": { + "required": [ + "alignedFeatureId", + "categories", + "overallQuality" + ], + "type": "object", + "properties": { + "alignedFeatureId": { + "type": "string", + "description": "Id of the feature (aligned over runs) this quality information belongs to." + }, + "overallQuality": { + "$ref": "#/components/schemas/DataQuality" + }, + "categories": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Category" + }, + "description": "Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.," + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "Category": { + "type": "object", + "properties": { + "categoryName": { + "type": "string" + }, + "overallQuality": { + "$ref": "#/components/schemas/DataQuality" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityItem" + } + } + } + }, + "QualityItem": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "quality": { + "$ref": "#/components/schemas/DataQuality" + }, + "weight": { + "$ref": "#/components/schemas/QualityWeight" + } + } + }, + "QualityWeight": { + "type": "string", + "enum": [ + "MINOR", + "MAJOR", + "CRITICAL" + ] + }, + "FormulaCandidateOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "statistics", + "fragmentationTree", + "annotatedSpectrum", + "isotopePattern", + "lipidAnnotation", + "predictedFingerprint", + "compoundClasses", + "canopusPredictions" + ] + }, + "AnnotatedMsMsData": { + "required": [ + "mergedMs2", + "ms2Spectra" + ], + "type": "object", + "properties": { + "mergedMs2": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + }, + "ms2Spectra": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + }, + "StructureCandidateOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "PagedModelStructureCandidateScored": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateScored" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelFormulaCandidate": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormulaCandidate" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelStructureCandidateFormula": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelAlignedFeature": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "Info": { + "required": [ + "availableILPSolvers", + "supportedILPSolvers" + ], + "type": "object", + "properties": { + "nightSkyApiVersion": { + "type": "string", + "description": "API version of the SIRIUS Nightsky API", + "nullable": true + }, + "siriusVersion": { + "type": "string", + "description": "Version of the SIRIUS application", + "nullable": true + }, + "latestSiriusVersion": { + "type": "string", + "description": "Latest available Version of the SIRIUS application", + "nullable": true + }, + "latestSiriusLink": { + "type": "string", + "description": "Link to the latest available Version of the SIRIUS application", + "nullable": true + }, + "updateAvailable": { + "type": "boolean", + "description": "true if newer SIRIUS version is available" + }, + "siriusLibVersion": { + "type": "string", + "description": "Version of the SIRIUS libraries", + "nullable": true + }, + "fingerIdLibVersion": { + "type": "string", + "description": "Version of the CSI:FingerID libraries", + "nullable": true + }, + "chemDbVersion": { + "type": "string", + "description": "Version of the Chemical Database available via SIRIUS web services", + "nullable": true + }, + "fingerIdModelVersion": { + "type": "string", + "description": "Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.", + "nullable": true + }, + "fingerprintId": { + "type": "string", + "description": "Version of the Molecular Fingerprint used by SIRIUS", + "nullable": true + }, + "availableILPSolvers": { + "type": "array", + "description": "Set of solvers that are configured correctly and can be loaded", + "items": { + "$ref": "#/components/schemas/Solver" + } + }, + "supportedILPSolvers": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Set of ILP Solvers that are Supported and their version information" + } + } + }, + "Solver": { + "type": "string", + "enum": [ + "GUROBI", + "CPLEX", + "GLPK", + "CLP" + ] + }, + "ConnectionCheck": { + "required": [ + "errors", + "licenseInfo" + ], + "type": "object", + "properties": { + "licenseInfo": { + "$ref": "#/components/schemas/LicenseInfo" + }, + "errors": { + "type": "array", + "description": "List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors", + "items": { + "$ref": "#/components/schemas/ConnectionError" + } + } + } + }, + "ConnectionError": { + "required": [ + "errorKlass", + "errorType", + "siriusErrorCode", + "siriusMessage" + ], + "type": "object", + "properties": { + "errorType": { + "$ref": "#/components/schemas/ConnectionErrorType" + }, + "errorKlass": { + "$ref": "#/components/schemas/ConnectionErrorClass" + }, + "siriusErrorCode": { + "type": "integer", + "format": "int32" + }, + "siriusMessage": { + "type": "string" + }, + "serverResponseErrorCode": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "serverResponseErrorMessage": { + "type": "string", + "nullable": true + }, + "error": { + "type": "boolean" + }, + "warning": { + "type": "boolean" + } + } + }, + "ConnectionErrorClass": { + "type": "string", + "enum": [ + "UNKNOWN", + "INTERNET", + "LOGIN_SERVER", + "LICENSE_SERVER", + "TOKEN", + "LOGIN", + "LICENSE", + "TERMS", + "APP_SERVER" + ] + }, + "ConnectionErrorType": { + "type": "string", + "enum": [ + "WARNING", + "ERROR" + ] + }, + "LicenseInfo": { + "type": "object", + "properties": { + "userEmail": { + "type": "string", + "description": "Email address of the user account this license information belongs to.", + "nullable": true + }, + "userId": { + "type": "string", + "description": "User ID (uid) of the user account this license information belongs to.", + "nullable": true + }, + "subscription": { + "$ref": "#/components/schemas/Subscription" + }, + "consumables": { + "$ref": "#/components/schemas/SubscriptionConsumables" + }, + "terms": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/Term" + } + } + } + }, + "SubscriptionConsumables": { + "type": "object", + "properties": { + "pendingJobs": { + "type": "integer", + "format": "int32" + }, + "countedCompounds": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "Term": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "link": { + "type": "string", + "format": "uri" + } + }, + "nullable": true + }, + "ApiVersion": { + "type": "string", + "enum": [ + "V2", + "V3" + ] + }, + "WebServerNamespace": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + } + }, + "SecurityContext": { + "type": "object", + "properties": { + "principal": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/.updater/api/api-docs-strings.json b/.updater/api/api-docs-strings.json index e8dd3a27..4f45cf0e 100644 --- a/.updater/api/api-docs-strings.json +++ b/.updater/api/api-docs-strings.json @@ -1 +1,11573 @@ -{"openapi":"3.0.1","info":{"title":"SIRIUS Nightsky API","description":"REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6","version":"3.1"},"servers":[{"url":"http://localhost:8080","description":"Generated server url"}],"tags":[{"name":"Tags","description":"[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Info","description":"Status und Information"},{"name":"Feature Statistics","description":"[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Jobs","description":"Start, monitor and cancel background jobs."},{"name":"Compounds","description":"This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)"},{"name":"Login and Account","description":"Perform signIn, signOut and signUp. Get tokens and account information."},{"name":"Actuator","description":"Monitor and interact","externalDocs":{"description":"Spring Boot Actuator Web API Documentation","url":"https://docs.spring.io/spring-boot/docs/current/actuator-api/html/"}},{"name":"Searchable Databases","description":"Manage structure and spectral databases that can be used by various computational methods."},{"name":"Features","description":"This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries."},{"name":"Projects","description":"Manage SIRIUS projects."},{"name":"Runs","description":"[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."},{"name":"Compound Statistics","description":"[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates."}],"paths":{"/api/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project space info by its projectId.","description":"Get project space info by its projectId.","operationId":"getProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier tof the project-space to be accessed.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"put":{"tags":["Projects"],"summary":"Open an existing project-space and make it accessible via the given projectId.","description":"Open an existing project-space and make it accessible via the given projectId.","operationId":"openProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"post":{"tags":["Projects"],"summary":"Create and open a new project-space at given location and make it accessible via the given projectId.","description":"Create and open a new project-space at given location and make it accessible via the given projectId.","operationId":"createProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].","required":true,"schema":{"type":"string"}},{"name":"pathToProject","in":"query","description":"local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.","required":false,"deprecated":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","compatibilityInfo","sizeInformation"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInfo"}}}}}},"delete":{"tags":["Projects"],"summary":"Close project-space and remove it from the application","description":"Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.","operationId":"closeProject","parameters":[{"name":"projectId","in":"path","description":"unique name/identifier of the project-space to be closed.","required":true,"schema":{"type":"string"}},{"name":"compact","in":"query","description":"if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.","required":false,"deprecated":true,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/tags":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag definitions in the given project-space","description":"[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTags","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagType","in":"query","description":"scope of the tag (optional)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definitions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"put":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add tags to the project","description":"[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"createTags","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"the tag definitions to be created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinitionImport"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been created","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagDefinition"}}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}":{"put":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Add tags to a run in the project","description":"[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/blanksubtract/compute":{"put":{"tags":["Runs"],"summary":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter","description":"**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

","operationId":"computeFoldChangeForBlankSubtraction","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"description":"request with lists of run IDs that are sample, blank, and control runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SampleTypeFoldChangeRequest"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}":{"put":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Tags with the same name will be overwritten","description":"[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchange/compute":{"put":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}},"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.","description":"[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.","operationId":"addDeNovoStructureCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"smiles","in":"query","description":"smiles","required":false,"schema":{"type":"string","default":"none"}}],"responses":{"200":{"description":"StructureCandidate of this feature candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}":{"put":{"tags":["Features"],"summary":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project","description":"[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addTagsToAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"run to add tags to.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"tags to add.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}},"required":true},"responses":{"200":{"description":"the tags that have been added","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchange/compute":{"put":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Compute the fold change between two groups of runs","description":"[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"computeAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to compute the fold change in.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left tag group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right tag group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}},{"name":"optFields","in":"query","description":"job opt fields.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/aligned-features/delete":{"put":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/api/databases/{databaseId}":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"put":{"tags":["Searchable Databases"],"operationId":"updateDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"post":{"tags":["Searchable Databases"],"operationId":"createDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"pattern":"^[a-zA-Z0-9-_]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabaseParameters"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"delete":{"tags":["Searchable Databases"],"operationId":"removeDatabase","parameters":[{"name":"databaseId","in":"path","required":true,"schema":{"type":"string"}},{"name":"delete","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK"}}}},"/api/account/subscriptions/select-active":{"put":{"tags":["Login and Account"],"summary":"Select a subscription as active subscription to be used for computations.","description":"Select a subscription as active subscription to be used for computations.","operationId":"selectSubscription","parameters":[{"name":"sid","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Account information with updated active subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/api/projects/{projectId}/jobs":{"get":{"tags":["Jobs"],"summary":"Get List of all available jobs with information such as current state and progress (if available).","description":"Get List of all available jobs with information such as current state and progress (if available).","operationId":"getJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}}}}},"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with given parameters.","description":"Start computation for given compounds and with given parameters.","operationId":"startJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["command","progress"]}}],"requestBody":{"description":"configuration of the job that will be submitted of the job to be returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"* Delete ALL jobs.","description":"* Delete ALL jobs. Specify how to behave for running jobs.","operationId":"deleteJobs","parameters":[{"name":"projectId","in":"path","description":"project-space to delete jobs from","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/from-config":{"post":{"tags":["Jobs"],"summary":"Start computation for given compounds and with parameters from a stored job-config.","description":"Start computation for given compounds and with parameters from a stored job-config.","operationId":"startJobFromConfig","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobConfigName","in":"query","description":"name if the config to be used","required":true,"schema":{"type":"string"}},{"name":"recompute","in":"query","description":"enable or disable recompute. If null the stored value will be used.","required":false,"schema":{"type":"boolean"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["command","progress"]}}],"requestBody":{"description":"List of alignedFeatureIds to be computed","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files":{"post":{"tags":["Projects"],"summary":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","description":"Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedData","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to import into project","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/preprocessed-data-files-job":{"post":{"tags":["Projects"],"summary":"Import ms/ms data from the given format into the specified project-space as background job.","description":"Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)","operationId":"importPreprocessedDataAsJob","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"ignoreFormulas","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"allowMs1Only","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","items":{"type":"string","format":"binary"}}}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/import/ms-data-files":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","description":"Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)","operationId":"importMsRunData","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResult"}}}}}}},"/api/projects/{projectId}/import/ms-data-files-job":{"post":{"tags":["Projects"],"summary":"Import and Align full MS-Runs from various formats into the specified project as background job.","description":"Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)","operationId":"importMsRunDataAsJob","parameters":[{"name":"projectId","in":"path","description":"Project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"Set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles","parameters"],"type":"object","properties":{"inputFiles":{"type":"array","description":"Files to import into project.","items":{"type":"string","format":"binary"}},"parameters":{"$ref":"#/components/schemas/LcmsSubmissionParameters"}}},"encoding":{"parameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"the import job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}}},"/api/projects/{projectId}/groups/{groupName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag group by name in the given project-space","description":"[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroupByName","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"post":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Group tags in the project","description":"[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of the new group","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"filter query to create the group","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"type of the group","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tag group that was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagGroup"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteGroup","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"path","description":"name of group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds":{"get":{"tags":["Compounds"],"summary":"List of all available compounds (group of ion identities) in the given project-space.","description":"List of all available compounds (group of ion identities) in the given project-space.","operationId":"getCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}},"post":{"tags":["Compounds"],"summary":"Import Compounds and its contained features.","description":"Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addCompounds","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","nullable":true,"enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","description":"set of optional fields of the nested features to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"requestBody":{"description":"the compound data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompoundImport"}}}},"required":true},"responses":{"200":{"description":"the Compounds that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}}}}}}}},"/api/projects/{projectId}/aligned-features":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}},"post":{"tags":["Features"],"summary":"Import (aligned) features into the project.","description":"Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.","operationId":"addAlignedFeatures","parameters":[{"name":"projectId","in":"path","description":"project-space to import into.","required":true,"schema":{"type":"string"}},{"name":"profile","in":"query","description":"profile describing the instrument used to measure the data. Used to merge spectra.","required":false,"schema":{"type":"string","nullable":true,"enum":["QTOF","ORBITRAP"]}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"requestBody":{"description":"the feature data to be imported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"required":true},"responses":{"200":{"description":"the Features that have been imported with specified optional fields","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}}}}}}}},"/api/job-configs/{name}":{"get":{"tags":["Jobs"],"summary":"Request job configuration with given name.","description":"Request job configuration with given name.","operationId":"getJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to return","required":true,"schema":{"type":"string"}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} for given name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"post":{"tags":["Jobs"],"summary":"Add new job configuration with given name.","description":"Add new job configuration with given name.","operationId":"saveJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to add","required":true,"schema":{"type":"string"}},{"name":"overrideExisting","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job configuration with given name.","description":"Delete job configuration with given name.","operationId":"deleteJobConfig","parameters":[{"name":"name","in":"path","description":"name of the job-config to delete","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Accepted"}}}},"/api/job-configs/get-command":{"post":{"tags":["Jobs"],"summary":"Get a CLI command for the given job configuration.","description":"Get a CLI command for the given job configuration.","operationId":"getCommand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/databases":{"get":{"tags":["Searchable Databases"],"operationId":"getDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"post":{"tags":["Searchable Databases"],"summary":"DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.","operationId":"addDatabases","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}},"deprecated":true}},"/api/databases/{databaseId}/import/from-files":{"post":{"tags":["Searchable Databases"],"summary":"Start import of structure and spectra files into the specified database.","description":"Start import of structure and spectra files into the specified database.","operationId":"importIntoDatabase","parameters":[{"name":"databaseId","in":"path","description":"database to import into","required":true,"schema":{"type":"string"}},{"name":"bufferSize","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1000}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["inputFiles"],"type":"object","properties":{"inputFiles":{"type":"array","description":"files to be imported","items":{"type":"string","format":"binary"}},"bioTransformerParameters":{"$ref":"#/components/schemas/BioTransformerParameters"}}},"encoding":{"bioTransformerParameters":{"contentType":"application/json"},"inputFiles":{"contentType":"application/octet-stream"}}}}},"responses":{"200":{"description":"Meta-Information of the affected database after the import has been performed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}},"/api/account/logout":{"post":{"tags":["Login and Account"],"summary":"Logout from SIRIUS web services.","description":"Logout from SIRIUS web services.","operationId":"logout","responses":{"200":{"description":"OK"}}}},"/api/account/login":{"post":{"tags":["Login and Account"],"summary":"Login into SIRIUS web services and activate default subscription if available.","description":"Login into SIRIUS web services and activate default subscription if available.","operationId":"login","parameters":[{"name":"acceptTerms","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"failWhenLoggedIn","in":"query","description":"if true request fails if an active login already exists.","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"description":"used to log in.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCredentials"}}},"required":true},"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/shutdown":{"post":{"tags":["Actuator"],"summary":"Actuator web endpoint 'shutdown'","operationId":"shutdown","responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"}}}},"/api/projects/{projectId}/tags/{tagName}":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get tag definition by its name in the given project-space","description":"[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTag","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tag definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}},"delete":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space","description":"[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteTag","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag definition to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Add a possible value to the tag definition in the project","description":"[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"addPossibleValuesToTagDefinition","parameters":[{"name":"projectId","in":"path","description":"project-space to add to.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"the tag definition to add the values to","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}},"required":true},"responses":{"200":{"description":"the definitions of the tags that have been added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDefinition"}}}}}}},"/api/projects":{"get":{"tags":["Projects"],"summary":"List opened project spaces.","description":"List opened project spaces.","operationId":"getProjects","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectInfo"}}}}}}}},"/api/projects/{projectId}/runs/{runId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space","description":"[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"identifier of run to access.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Run with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}}}}},"/api/projects/{projectId}/runs/tags/{objectId}":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all tags associated with this Run","description":"[EXPERIMENTAL] Get all tags associated with this Run","operationId":"getTagsForRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"RunId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/runs/tagged":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag","description":"[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get runs from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/page":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get all available runs in the given project-space","description":"[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunPageExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":[]}}],"responses":{"200":{"description":"Runs with tags (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/runs/grouped":{"get":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Get runs by tag group","description":"[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getRunsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"$ref":"#/components/schemas/RunOptField"},"default":["none"]}}],"responses":{"200":{"description":"tagged runs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelRun"}}}}}}},"/api/projects/{projectId}/npc-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for NPC classes","operationId":"getCanopusNpcData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/jobs/{jobId}":{"get":{"tags":["Jobs"],"summary":"Get job information and its current state and progress (if available).","description":"Get job information and its current state and progress (if available).","operationId":"getJob","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be returned","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["progress"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}}}},"delete":{"tags":["Jobs"],"summary":"Delete job.","description":"Delete job. Specify how to behave for running jobs.","operationId":"deleteJob","parameters":[{"name":"projectId","in":"path","description":"project-space to delete job from","required":true,"schema":{"type":"string"}},{"name":"jobId","in":"path","description":"of the job to be deleted","required":true,"schema":{"type":"string"}},{"name":"cancelIfRunning","in":"query","description":"If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.","required":false,"schema":{"type":"boolean","default":true}},{"name":"awaitDeletion","in":"query","description":"If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"202":{"description":"Accepted"}}}},"/api/projects/{projectId}/jobs/page":{"get":{"tags":["Jobs"],"summary":"Get Page of jobs with information such as current state and progress (if available).","description":"Get Page of jobs with information such as current state and progress (if available).","operationId":"getJobsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to run jobs on","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","command","progress","affectedIds"]},"default":["none"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelJob"}}}}}}},"/api/projects/{projectId}/has-jobs":{"get":{"tags":["Jobs"],"operationId":"hasJobs","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"includeFinished","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/projects/{projectId}/groups":{"get":{"tags":["Tags"],"summary":"[EXPERIMENTAL] Get all tag based groups in the given project-space","description":"[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getGroups","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"groupType","in":"query","description":"type of the group","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagGroup"}}}}}}}},"/api/projects/{projectId}/fingerid-data":{"get":{"tags":["Projects"],"summary":"Get CSI:FingerID fingerprint (prediction vector) definition","operationId":"getFingerIdData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}":{"get":{"tags":["Compounds"],"summary":"Get compound (group of ion identities) with the given identifier from the specified project-space.","description":"Get compound (group of ion identities) with the given identifier from the specified project-space.","operationId":"getCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound (group of ion identities) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Compound"}}}}}},"delete":{"tags":["Compounds"],"summary":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","description":"Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.","operationId":"deleteCompound","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"identifier of the compound to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/{compoundId}/traces":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the traces of the given compound","description":"[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"featureId","in":"query","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Traces of the given compound.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/compounds/{compoundId}/quant-table-row":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given compound","description":"[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound which should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/tags/{objectId}":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get all tags associated with this Compound","description":"[EXPERIMENTAL] Get all tags associated with this Compound","operationId":"getTagsForCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"CompoundId to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested Compound","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/compounds/tagged":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get compounds (group of ion identities) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":[]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table":{"get":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/compounds/quant-table":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Returns the full quantification table of compounds","description":"[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*","operationId":"getCompoundQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/compounds/page":{"get":{"tags":["Compounds"],"summary":"Page of available compounds (group of ion identities) in the given project-space.","description":"Page of available compounds (group of ion identities) in the given project-space.","operationId":"getCompoundsPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}},{"name":"optFieldsFeatures","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"Compounds with additional optional fields (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/compounds/grouped":{"get":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group","description":"[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getCompoundsByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","consensusAnnotations","consensusAnnotationsDeNovo","customAnnotations","tags"]},"default":["none"]}}],"responses":{"200":{"description":"tagged compounds (group of ion identities)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelCompound"}}}}}}},"/api/projects/{projectId}/cf-data":{"get":{"tags":["Projects"],"summary":"Get CANOPUS prediction vector definition for ClassyFire classes","operationId":"getCanopusClassyFireData","parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string"}},{"name":"charge","in":"query","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/csv":{"schema":{"type":"string"}},"application/CSV":{"schema":{"type":"string"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}":{"get":{"tags":["Features"],"summary":"Get feature (aligned over runs) with the given identifier from the specified project-space.","description":"Get feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"getAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeature with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeature"}}}}}},"delete":{"tags":["Features"],"summary":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","description":"Delete feature (aligned over runs) with the given identifier from the specified project-space.","operationId":"deleteAlignedFeature","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which intensities should be read out","required":true,"schema":{"type":"string"}},{"name":"includeAll","in":"query","description":"when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Traces of the given feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches":{"get":{"tags":["Features"],"summary":"List of spectral library matches for the given 'alignedFeatureId'.","description":"List of spectral library matches for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatches","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}":{"get":{"tags":["Features"],"summary":"Spectral library match for the given 'alignedFeatureId'.","description":"Spectral library match for the given 'alignedFeatureId'.","operationId":"getSpectralLibraryMatch","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations","description":"[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectralLibraryMatchExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"matchId","in":"path","description":"id of the library match to be returned.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Spectral library match with requested mathcId.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary":{"get":{"tags":["Features"],"summary":"Summarize matched reference spectra for the given 'alignedFeatureId'.","description":"Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesSummary","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"minSharedPeaks","in":"query","description":"min threshold of shared peaks.","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","description":"min spectral similarity threshold.","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","description":"2D inchi key of the compound in the structure database.","required":false,"schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpectralLibraryMatchSummary"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page":{"get":{"tags":["Features"],"summary":"Page of spectral library matches for the given 'alignedFeatureId'.","description":"Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.","operationId":"getSpectralLibraryMatchesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"minSharedPeaks","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":1}},{"name":"minSimilarity","in":"query","required":false,"schema":{"type":"number","format":"double","default":0.2}},{"name":"inchiKey","in":"query","required":false,"schema":{"type":"string","default":""}},{"name":"optFields","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","referenceSpectrum"]},"default":["none"]}}],"responses":{"200":{"description":"Spectral library matches of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelSpectralLibraryMatch"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getQuantTableRowExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature which quantity should be read out","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table row for this feature","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ","description":"[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureQualityExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"identifier of feature (aligned over runs) to access.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"AlignedFeatureQuality quality information of the respective feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignedFeatureQualityExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data":{"get":{"tags":["Features"],"summary":"Mass Spec data (input data) for the given 'alignedFeatureId' .","description":"Mass Spec data (input data) for the given 'alignedFeatureId' .","operationId":"getMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the Mass Spec data belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Mass Spec data of this feature (aligned over runs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas":{"get":{"tags":["Features"],"summary":"List of FormulaResultContainers available for this feature with minimal information.","description":"List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}":{"get":{"tags":["Features"],"summary":"FormulaResultContainers for the given 'formulaId' with minimal information.","description":"FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.","operationId":"getFormulaCandidate","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"FormulaCandidate of this feature (aligned over runs) with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ","description":"[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedSpectrumExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey","description":"[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getStructureAnnotatedMsDataExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"inchiKey","in":"path","description":"2d InChIKey of the structure candidate to be used to annotate the spectrum annotation","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragments and sub-structures.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation":{"get":{"tags":["Features"],"summary":"Returns Lipid annotation (ElGordo) for the given formulaId","description":"Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.","operationId":"getLipidAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"LipidAnnotation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LipidAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern":{"get":{"tags":["Features"],"summary":"Returns Isotope pattern information for given formulaId\n ","description":"Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).","operationId":"getIsotopePatternAnnotation","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Isotope pattern information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IsotopePatternAnnotation"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree":{"get":{"tags":["Features"],"summary":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ","description":"Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).","operationId":"getFragTree","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Fragmentation Tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FragmentationTree"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint":{"get":{"tags":["Features"],"summary":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ","description":"Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.","operationId":"getFingerprintPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"probabilistic fingerprint predicted by CSI:FingerID","content":{"application/json":{"schema":{"type":"array","items":{"type":"number","format":"double"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures":{"get":{"tags":["Features"],"summary":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures":{"get":{"tags":["Features"],"summary":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormula","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.","description":"Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesByFormulaPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this formula candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateScored"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction":{"get":{"tags":["Features"],"summary":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","description":"All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,","operationId":"getCanopusPrediction","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanopusPrediction"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes":{"get":{"tags":["Features"],"summary":"Return Best matching compound classes for given formulaId","description":"Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,","operationId":"getBestMatchingCompoundClasses","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Best matching Predicted compound classes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompoundClasses"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum":{"get":{"tags":["Features"],"summary":"Returns a fragmentation spectrum (e","description":"Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.","operationId":"getFormulaAnnotatedSpectrum","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"spectrumIndex","in":"query","description":"index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)","required":false,"schema":{"type":"integer","format":"int32","default":-1}},{"name":"searchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectrum annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata":{"get":{"tags":["Features"],"summary":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId","description":"Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.","operationId":"getFormulaAnnotatedMsMsData","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"formulaId","in":"path","description":"identifier of the requested formula result","required":true,"schema":{"type":"string"}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Fragmentation spectra annotated with fragment formulas and losses.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnotatedMsMsData"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page":{"get":{"tags":["Features"],"summary":"Page of FormulaResultContainers available for this feature with minimal information.","description":"Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.","operationId":"getFormulaCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the formula result belongs to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","statistics","fragmentationTree","annotatedSpectrum","isotopePattern","lipidAnnotation","predictedFingerprint","compoundClasses","canopusPredictions"]},"default":["none"]}}],"responses":{"200":{"description":"All FormulaCandidate of this feature with.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelFormulaCandidate"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page":{"get":{"tags":["Features"],"summary":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","description":"Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.","operationId":"getDeNovoStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures":{"get":{"tags":["Features"],"summary":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidates","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page":{"get":{"tags":["Features"],"summary":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.","description":"Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.","operationId":"getStructureCandidatesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) the structure candidates belong to.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","fingerprint","dbLinks","libraryMatches","structureSvg"]},"default":["none"]}}],"responses":{"200":{"description":"StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelStructureCandidateFormula"}}}}}}},"/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network","description":"[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAdductNetworkWithMergedTracesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"one feature that is considered the main feature of the adduct network","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceSetExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/tags/{objectId}":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get all tags associated with this Object","description":"[EXPERIMENTAL] Get all tags associated with this Object","operationId":"getTagsForAlignedFeaturesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to get from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"object to get tags for.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"the tags of the requested object","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}}}}},"/api/projects/{projectId}/aligned-features/tagged":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByTagExperimental","parameters":[{"name":"projectId","in":"path","description":"project space to get features (aligned over runs) from.","required":true,"schema":{"type":"string"}},{"name":"filter","in":"query","description":"tag filter.","required":false,"schema":{"type":"string","default":""}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":[]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] List all fold changes that are associated with an object","description":"[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFoldChangesByAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"objectId","in":"path","description":"id of the object the fold changes are assigned to.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"fold changes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FoldChange"}}}}}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table":{"get":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Get table of all fold changes in the project space","description":"[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeatureFoldChangeTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","description":"aggregation type.","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"table of fold changes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatisticsTable"}}}}}}},"/api/projects/{projectId}/aligned-features/quant-table":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)","description":"[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getFeatureQuantTableExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"type","in":"query","description":"quantification type.","required":false,"schema":{"type":"string","default":"APEX_HEIGHT","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"Quant table if akk feature in this project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuantTableExperimental"}}}}}}},"/api/projects/{projectId}/aligned-features/page":{"get":{"tags":["Features"],"summary":"Get all available features (aligned over runs) in the given project-space.","description":"Get all available features (aligned over runs) in the given project-space.","operationId":"getAlignedFeaturesPaged","parameters":[{"name":"projectId","in":"path","description":"project-space to read from.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"msDataSearchPrepared","in":"query","description":"Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.","required":false,"schema":{"type":"boolean","default":false}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"AlignedFeatures with additional annotations and MS/MS data (if specified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/projects/{projectId}/aligned-features/grouped":{"get":{"tags":["Features"],"summary":"[EXPERIMENTAL] Get features (aligned over runs) by tag group","description":"[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"getAlignedFeaturesByGroupExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"groupName","in":"query","description":"tag group name.","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","default":0}},{"name":"size","in":"query","description":"The size of the page to be returned","required":false,"schema":{"minimum":1,"type":"integer","default":20}},{"name":"sort","in":"query","description":"Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"optFields","in":"query","description":"set of optional fields to be included. Use 'none' only to override defaults.","required":false,"schema":{"type":"array","items":{"type":"string","nullable":true,"enum":["none","msData","topAnnotationsSummary","topAnnotations","topAnnotationsDeNovo","computedTools","tags"]},"default":["none"]}}],"responses":{"200":{"description":"tagged features (aligned over runs)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedModelAlignedFeature"}}}}}}},"/api/job-configs":{"get":{"tags":["Jobs"],"summary":"Request all available job configurations","description":"Request all available job configurations","operationId":"getJobConfigs","responses":{"200":{"description":"list of available {@link JobSubmission JobSubmission}s","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoredJobSubmission"}}}}}}}},"/api/job-config-names":{"get":{"tags":["Jobs"],"summary":"[DEPRECATED] Get all (non-default) job configuration names\n ","description":"[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.","operationId":"getJobConfigNames","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":true}},"/api/info":{"get":{"tags":["Info"],"operationId":"getInfo","parameters":[{"name":"serverInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}},{"name":"updateInfo","in":"query","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Info"}}}}}}},"/api/default-job-config":{"get":{"tags":["Jobs"],"summary":"Request default job configuration","description":"Request default job configuration","operationId":"getDefaultJobConfig","parameters":[{"name":"includeConfigMap","in":"query","description":"if true, generic configmap with-defaults will be included","required":false,"schema":{"type":"boolean","default":false}},{"name":"moveParametersToConfigMap","in":"query","description":"if true, object-based parameters will be converted to and added to the generic configMap parameters","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeCustomDbsForStructureSearch","in":"query","description":"if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"{@link JobSubmission JobSubmission} with all parameters set to default values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobSubmission"}}}}}}},"/api/databases/included":{"get":{"tags":["Searchable Databases"],"operationId":"getIncludedDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/databases/custom":{"get":{"tags":["Searchable Databases"],"operationId":"getCustomDatabases","parameters":[{"name":"includeStats","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"includeWithErrors","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SearchableDatabase"}}}}}}}},"/api/connection-status":{"get":{"tags":["Info"],"operationId":"getConnectionCheck","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionCheck"}}}}}}},"/api/account/subscriptions":{"get":{"tags":["Login and Account"],"summary":"Get available subscriptions of the account currently logged in.","description":"Get available subscriptions of the account currently logged in. Fails if not logged in.","operationId":"getSubscriptions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}}}}}}}},"/api/account/signUp":{"get":{"tags":["Login and Account"],"summary":"Open SignUp window in system browser and return signUp link.","description":"Open SignUp window in system browser and return signUp link.","operationId":"signUp","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/signUpURL":{"get":{"tags":["Login and Account"],"summary":"Get SignUp URL (For signUp via web browser)","description":"Get SignUp URL (For signUp via web browser)","operationId":"getSignUpURL","responses":{"200":{"description":"OK","content":{"text/plain;charset=UTF-8":{"schema":{"type":"string"}}}}}}},"/api/account/openPortal":{"get":{"tags":["Login and Account"],"summary":"Open User portal in browser.","description":"Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.","operationId":"openPortal","responses":{"200":{"description":"OK"}}}},"/api/account/isLoggedIn":{"get":{"tags":["Login and Account"],"summary":"Check if a user is logged in.","description":"Check if a user is logged in.","operationId":"isLoggedIn","responses":{"200":{"description":"true if the user is logged in","content":{"application/json":{"schema":{"type":"boolean"}}}}}}},"/api/account/":{"get":{"tags":["Login and Account"],"summary":"Get information about the account currently logged in.","description":"Get information about the account currently logged in. Fails if not logged in.","operationId":"getAccountInfo","parameters":[{"name":"includeSubs","in":"query","description":"include available and active subscriptions in {@link AccountInfo AccountInfo}.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Basic information about the account that has been logged in and its subscriptions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"/actuator/health":{"get":{"tags":["Actuator"],"summary":"Actuator web endpoint 'health'","operationId":"health","responses":{"200":{"description":"OK","content":{"application/vnd.spring-boot.actuator.v3+json":{"schema":{"type":"object"}},"application/vnd.spring-boot.actuator.v2+json":{"schema":{"type":"object"}},"application/json":{"schema":{"type":"object"}}}}}}},"/api/projects/{projectId}/runs/tags/{runId}/{tagName}":{"delete":{"tags":["Runs"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromRunExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"runId","in":"path","description":"run to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}":{"delete":{"tags":["Compounds"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromCompoundExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"compoundId","in":"path","description":"compound (group of ion identities) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/compounds/statistics/foldchanges":{"delete":{"tags":["Compound Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteCompoundFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}":{"delete":{"tags":["Features"],"summary":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space","description":"[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"removeTagFromAlignedFeatureExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"alignedFeatureId","in":"path","description":"feature (aligned over runs) to delete tag from.","required":true,"schema":{"type":"string"}},{"name":"tagName","in":"path","description":"name of the tag to delete.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/projects/{projectId}/aligned-features/statistics/foldchanges":{"delete":{"tags":["Feature Statistics"],"summary":"[EXPERIMENTAL] Delete fold changes","description":"[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.","operationId":"deleteAlignedFeatureFoldChangesExperimental","parameters":[{"name":"projectId","in":"path","description":"project-space to delete from.","required":true,"schema":{"type":"string"}},{"name":"leftGroupName","in":"query","description":"name of the left group.","required":true,"schema":{"type":"string"}},{"name":"rightGroupName","in":"query","description":"name of the right group.","required":true,"schema":{"type":"string"}},{"name":"aggregation","in":"query","required":false,"schema":{"type":"string","default":"AVG","enum":["AVG","MIN","MAX"]}},{"name":"quantification","in":"query","required":false,"schema":{"type":"string","default":"APEX_INTENSITY","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]}}],"responses":{"200":{"description":"OK"}}}}},"components":{"schemas":{"ProjectChangeEvent":{"type":"object","properties":{"eventType":{"type":"string","enum":["PROJECT_OPENED","PROJECT_MOVED","PROJECT_CLOSED","FEATURE_CREATED","FEATURE_UPDATED","FEATURE_DELETED","RESULT_CREATED","RESULT_UPDATED","RESULT_DELETED"]},"projectId":{"type":"string"},"compoundId":{"type":"string","nullable":true},"featuredId":{"type":"string","nullable":true},"formulaId":{"type":"string","nullable":true},"structureInChIKey":{"type":"string","nullable":true}}},"DataImportEvent":{"required":["importedCompoundIds","importedFeatureIds"],"type":"object","properties":{"importJobId":{"type":"string","nullable":true},"importedCompoundIds":{"type":"array","items":{"type":"string"}},"importedFeatureIds":{"type":"array","items":{"type":"string"}}}},"BackgroundComputationsStateEvent":{"required":["affectedJobs","numberOfFinishedJobs","numberOfJobs","numberOfRunningJobs"],"type":"object","properties":{"affectedJobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"numberOfJobs":{"type":"integer","format":"int32"},"numberOfRunningJobs":{"type":"integer","format":"int32"},"numberOfFinishedJobs":{"type":"integer","format":"int32"}}},"ProjectInfo":{"type":"object","properties":{"projectId":{"type":"string","description":"a user selected unique name of the project for easy access."},"location":{"type":"string","description":"storage location of the project."},"description":{"type":"string","description":"Description of this project.","nullable":true},"type":{"type":"string","description":"Type of this project.\n NULL if project type has not yet been specified by importing data.","nullable":true,"enum":["UNIMPORTED","DIRECT_IMPORT","PEAKLISTS","ALIGNED_RUNS","UNALIGNED_RUNS"]},"compatible":{"type":"boolean","description":"Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.","nullable":true},"numOfFeatures":{"type":"integer","description":"Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').","format":"int32","nullable":true},"numOfCompounds":{"type":"integer","description":"Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.","format":"int32","nullable":true},"numOfBytes":{"type":"integer","description":"Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').","format":"int64","nullable":true}}},"TagDefinitionImport":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true}}},"TagDefinition":{"required":["tagName","valueType"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of this tag defined by this definition (key)"},"description":{"type":"string","description":"A human-readable description about the purpose of this tag.","nullable":true},"tagType":{"type":"string","description":"A simple string based identifier to specify the type/scope/purpose of this tag.","nullable":true},"valueType":{"type":"string","enum":["NONE","BOOLEAN","INTEGER","REAL","TEXT","DATE","TIME"]},"possibleValues":{"type":"array","nullable":true,"items":{"type":"object","nullable":true}},"minValue":{"type":"object","nullable":true},"maxValue":{"type":"object","nullable":true},"editable":{"type":"boolean"}}},"Tag":{"required":["tagName"],"type":"object","properties":{"tagName":{"type":"string","description":"Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition."},"value":{"type":"object","description":"Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).","nullable":true}}},"SampleTypeFoldChangeRequest":{"type":"object","properties":{"sampleRunIds":{"type":"array","items":{"type":"string"}},"blankRunIds":{"type":"array","items":{"type":"string"}},"controlRunIds":{"type":"array","items":{"type":"string"}}}},"Job":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier to access the job via the API"},"command":{"type":"string","description":"Command string of the executed Task","nullable":true},"progress":{"$ref":"#/components/schemas/JobProgress"},"affectedCompoundIds":{"type":"array","description":"List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished","nullable":true,"items":{"type":"string","nullable":true}},"jobEffect":{"type":"string","description":"Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested","nullable":true,"enum":["IMPORT","COMPUTATION","DELETION"]}},"description":"Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal."},"JobProgress":{"type":"object","properties":{"indeterminate":{"type":"boolean","description":"Is the progress indeterminate or not","nullable":true},"state":{"type":"string","description":"Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully.","enum":["WAITING","READY","QUEUED","SUBMITTED","RUNNING","CANCELED","FAILED","DONE"]},"currentProgress":{"type":"integer","description":"Current progress value of the job.","format":"int64","nullable":true},"maxProgress":{"type":"integer","description":"Progress value to reach (might also change during execution)","format":"int64","nullable":true},"message":{"type":"string","description":"Progress information and warnings.","nullable":true},"errorMessage":{"type":"string","description":"Error message if the job did not finish successfully failed.","nullable":true}},"description":"Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.","nullable":true},"BasicSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/SimplePeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true}},"nullable":true},"BinaryFingerprint":{"type":"object","properties":{"bitsSet":{"type":"array","description":"Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)","items":{"type":"integer","format":"int32"}},"length":{"type":"integer","description":"Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits","format":"int32"}},"nullable":true},"DBLink":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}},"nullable":true},"PeakPair":{"required":["queryPeak","referencePeak"],"type":"object","properties":{"queryPeak":{"type":"integer","format":"int32"},"referencePeak":{"type":"integer","format":"int32"}}},"SimplePeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"}}},"SpectralLibraryMatch":{"required":["inchiKey","querySpectrumIndex","similarity","uuid"],"type":"object","properties":{"specMatchId":{"type":"string"},"rank":{"type":"integer","format":"int32"},"similarity":{"type":"number","description":"Similarity between query and reference spectrum","format":"float"},"sharedPeaks":{"type":"integer","description":"Number of shared/matched peaks","format":"int32"},"sharedPeakMapping":{"type":"array","description":"List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)","items":{"$ref":"#/components/schemas/PeakPair"}},"querySpectrumIndex":{"type":"integer","format":"int32"},"dbName":{"type":"string"},"dbId":{"type":"string"},"uuid":{"type":"integer","format":"int64"},"splash":{"type":"string"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"},"exactMass":{"type":"number","format":"double"},"smiles":{"type":"string"},"type":{"type":"string","default":"IDENTITY","enum":["IDENTITY","ANALOG"]},"inchiKey":{"type":"string"},"referenceSpectrumType":{"type":"string","default":"SPECTRUM","enum":["SPECTRUM","MERGED_SPECTRUM"]},"referenceSpectrum":{"$ref":"#/components/schemas/BasicSpectrum"},"querySpectrumType":{"type":"string","enum":["SPECTRUM","MERGED_SPECTRUM"]}},"nullable":true},"StructureCandidateFormula":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"},"molecularFormula":{"type":"string","description":"Molecular formula of this candidate"},"adduct":{"type":"string","description":"Adduct of this candidate"},"formulaId":{"type":"string","description":"Id of the corresponding Formula candidate"}}},"SearchableDatabaseParameters":{"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false}}},"SearchableDatabase":{"required":["customDb","databaseId","searchable","updateNeeded"],"type":"object","properties":{"displayName":{"type":"string","description":"display name of the database\n Should be short","nullable":true},"location":{"type":"string","description":"Storage location of user database\n Might be NULL for non-user databases or if default location is used.","nullable":true},"matchRtOfReferenceSpectra":{"type":"boolean","description":"Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on","nullable":true,"default":false},"databaseId":{"type":"string","description":"A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name."},"customDb":{"type":"boolean","description":"Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified."},"searchable":{"type":"boolean","description":"True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search."},"dbDate":{"type":"string","description":"Date on which the data was imported / database was created.","nullable":true},"dbVersion":{"type":"integer","description":"database schema version","format":"int32","nullable":true},"updateNeeded":{"type":"boolean","description":"If true the database version is outdated and the database needs to be updated or re-imported before it can be used."},"numberOfStructures":{"type":"integer","description":"Number of unique compounds available in this database.","format":"int64","nullable":true},"numberOfFormulas":{"type":"integer","description":"Number of different molecular formulas available in this database.","format":"int64","nullable":true},"numberOfReferenceSpectra":{"type":"integer","description":"Number of reference spectra available in this database","format":"int64","nullable":true},"errorMessage":{"type":"string","description":"Error message if the database could not be loaded","nullable":true}}},"AccountInfo":{"type":"object","properties":{"userID":{"type":"string"},"username":{"type":"string","nullable":true},"userEmail":{"type":"string"},"gravatarURL":{"type":"string","nullable":true},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/Subscription"}},"activeSubscriptionId":{"type":"string","nullable":true}}},"AllowedFeatures":{"type":"object","properties":{"cli":{"type":"boolean"},"api":{"type":"boolean"},"deNovo":{"type":"boolean"},"importMSRuns":{"type":"boolean"},"importPeakLists":{"type":"boolean"},"importCef":{"type":"boolean"}}},"Subscription":{"type":"object","properties":{"sid":{"type":"string","description":"Unique identifier of this subscription"},"subscriberId":{"type":"string","description":"ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid."},"subscriberName":{"type":"string","description":"Optional name of the owner of this subscription","nullable":true},"expirationDate":{"type":"string","format":"date-time","nullable":true},"startDate":{"type":"string","format":"date-time","nullable":true},"countQueries":{"type":"boolean","nullable":true},"instanceLimit":{"type":"integer","description":"Limit of instances (features) that can be computed with this subscription","format":"int32","nullable":true},"instanceHashRecordingTime":{"type":"integer","description":"Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is","format":"int32","nullable":true},"maxQueriesPerInstance":{"type":"integer","description":"Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.","format":"int32","nullable":true},"maxUserAccounts":{"type":"integer","format":"int32","nullable":true},"serviceUrl":{"type":"string"},"description":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"tos":{"type":"string","nullable":true},"pp":{"type":"string","nullable":true},"allowedFeatures":{"$ref":"#/components/schemas/AllowedFeatures"}}},"Canopus":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"}},"description":"User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool","nullable":true},"FingerprintPrediction":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"useScoreThreshold":{"type":"boolean","description":"If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.","nullable":true},"alwaysPredictHighRefMatches":{"type":"boolean","description":"If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.","nullable":true}},"description":"User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool","nullable":true},"JobSubmission":{"type":"object","properties":{"compoundIds":{"type":"array","description":"Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"alignedFeatureIds":{"type":"array","description":"Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.","nullable":true,"items":{"type":"string","nullable":true}},"fallbackAdducts":{"type":"array","description":"Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"enforcedAdducts":{"type":"array","description":"Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"detectableAdducts":{"type":"array","description":"Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-","nullable":true,"items":{"type":"string","nullable":true}},"recompute":{"type":"boolean","description":"Indicate if already existing result for a tool to be executed should be overwritten or not.","nullable":true},"spectraSearchParams":{"$ref":"#/components/schemas/SpectralLibrarySearch"},"formulaIdParams":{"$ref":"#/components/schemas/Sirius"},"zodiacParams":{"$ref":"#/components/schemas/Zodiac"},"fingerprintPredictionParams":{"$ref":"#/components/schemas/FingerprintPrediction"},"canopusParams":{"$ref":"#/components/schemas/Canopus"},"structureDbSearchParams":{"$ref":"#/components/schemas/StructureDbSearch"},"msNovelistParams":{"$ref":"#/components/schemas/MsNovelist"},"configMap":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.","nullable":true}},"description":"Object to submit a job to be executed by SIRIUS"},"MsNovelist":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"numberOfCandidateToPredict":{"type":"integer","description":"Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.","format":"int32","nullable":true}},"nullable":true},"Sirius":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"profile":{"type":"string","description":"Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data.","nullable":true,"enum":["QTOF","ORBITRAP"]},"numberOfCandidates":{"type":"integer","description":"Number of formula candidates to keep as result list (Formula Candidates).","format":"int32","nullable":true},"numberOfCandidatesPerIonization":{"type":"integer","description":"Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.","format":"int32","nullable":true},"massAccuracyMS2ppm":{"type":"number","description":"Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.","format":"double","nullable":true},"isotopeMs2Settings":{"type":"string","description":"Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS","nullable":true,"enum":["IGNORE","FILTER","SCORE"]},"filterByIsotopePattern":{"type":"boolean","description":"When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.","nullable":true},"enforceElGordoFormula":{"type":"boolean","description":"El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.","nullable":true},"performBottomUpSearch":{"type":"boolean","description":"If true, molecular formula generation via bottom up search is enabled.","nullable":true},"performDenovoBelowMz":{"type":"number","description":"Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.","format":"double","nullable":true},"formulaSearchDBs":{"type":"array","description":"List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.","nullable":true,"items":{"type":"string","nullable":true}},"applyFormulaConstraintsToDBAndBottomUpSearch":{"type":"boolean","description":"By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.","nullable":true},"enforcedFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered","nullable":true},"fallbackFormulaConstraints":{"type":"string","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)","nullable":true},"detectableElements":{"type":"array","description":"These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)","nullable":true,"items":{"type":"string","nullable":true}},"ilpTimeout":{"$ref":"#/components/schemas/Timeout"},"useHeuristic":{"$ref":"#/components/schemas/UseHeuristic"},"injectSpecLibMatchFormulas":{"type":"boolean","description":"If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied","nullable":true},"minScoreToInjectSpecLibMatch":{"type":"number","description":"Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.","format":"double","nullable":true},"minPeaksToInjectSpecLibMatch":{"type":"integer","description":"Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.","format":"int32","nullable":true}},"description":"User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.","nullable":true},"SpectralLibrarySearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"spectraSearchDBs":{"type":"array","description":"Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"precursorDeviationPpm":{"type":"number","description":"Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.","format":"double","nullable":true},"minSimilarity":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered a hit.","format":"float","nullable":true},"minNumOfPeaks":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered a hit.","format":"int32","nullable":true},"enableAnalogueSearch":{"type":"boolean","description":"Enable analogue search in addition to the identity spectral library search"},"minSimilarityAnalogue":{"type":"number","description":"Minimal spectral similarity of a spectral match to be considered an analogue hit.","format":"float","nullable":true},"minNumOfPeaksAnalogue":{"type":"integer","description":"Minimal number of matching peaks of a spectral match to be considered an analogue hit.","format":"int32","nullable":true},"scoring":{"type":"string","description":"NO LONGER SUPPORTED (IGNORED)\n Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.","nullable":true,"deprecated":true,"enum":["INTENSITY","GAUSSIAN","MODIFIED_COSINE","FAST_COSINE"]},"peakDeviationPpm":{"type":"number","description":"NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks.","format":"double","nullable":true,"deprecated":true}},"description":"User/developer friendly parameter subset for the Spectral library search tool.","nullable":true},"StructureDbSearch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"structureSearchDBs":{"type":"array","description":"Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.","nullable":true,"items":{"type":"string","nullable":true}},"tagStructuresWithLipidClass":{"type":"boolean","description":"Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.","nullable":true},"expansiveSearchConfidenceMode":{"type":"string","description":"Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]}},"description":"User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.","nullable":true},"Timeout":{"type":"object","properties":{"numberOfSecondsPerDecomposition":{"type":"integer","format":"int32"},"numberOfSecondsPerInstance":{"type":"integer","format":"int32"}},"nullable":true},"UseHeuristic":{"type":"object","properties":{"useHeuristicAboveMz":{"type":"integer","format":"int32"},"useOnlyHeuristicAboveMz":{"type":"integer","format":"int32"}},"nullable":true},"Zodiac":{"type":"object","properties":{"enabled":{"type":"boolean","description":"tags whether the tool is enabled"},"consideredCandidatesAt300Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.","format":"int32","nullable":true},"consideredCandidatesAt800Mz":{"type":"integer","description":"Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.","format":"int32","nullable":true},"runInTwoSteps":{"type":"boolean","description":"As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.","nullable":true},"edgeFilterThresholds":{"$ref":"#/components/schemas/ZodiacEdgeFilterThresholds"},"gibbsSamplerParameters":{"$ref":"#/components/schemas/ZodiacEpochs"},"librarySearchAnchors":{"$ref":"#/components/schemas/ZodiacLibraryScoring"},"analogueSearchAnchors":{"$ref":"#/components/schemas/ZodiacAnalogueNodes"}},"description":"User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool","nullable":true},"ZodiacAnalogueNodes":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"},"minSharedPeaks":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEdgeFilterThresholds":{"type":"object","properties":{"thresholdFilter":{"type":"number","format":"double"},"minLocalCandidates":{"type":"integer","format":"int32"},"minLocalConnections":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacEpochs":{"type":"object","properties":{"iterations":{"type":"integer","format":"int32"},"burnInPeriod":{"type":"integer","format":"int32"},"numberOfMarkovChains":{"type":"integer","format":"int32"}},"nullable":true},"ZodiacLibraryScoring":{"type":"object","properties":{"enabled":{"type":"boolean"},"minSimilarity":{"type":"number","format":"double"}},"nullable":true},"ImportResult":{"required":["affectedAlignedFeatureIds","affectedCompoundIds"],"type":"object","properties":{"affectedCompoundIds":{"type":"array","description":"List of compoundIds that have been imported.","items":{"type":"string"}},"affectedAlignedFeatureIds":{"type":"array","description":"List of alignedFeatureIds that have been imported..","items":{"type":"string"}}}},"Deviation":{"type":"object","properties":{"ppm":{"type":"number","format":"double"},"absolute":{"type":"number","format":"double"}},"default":null},"LcmsSubmissionParameters":{"type":"object","properties":{"alignLCMSRuns":{"type":"boolean","description":"Specifies whether LC/MS runs should be aligned","default":true},"noiseIntensity":{"type":"number","description":"Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient.","format":"double","default":-1},"traceMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxMassDeviation":{"$ref":"#/components/schemas/Deviation"},"alignMaxRetentionTimeDeviation":{"type":"number","description":"Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.","format":"double","default":-1},"minSNR":{"type":"number","description":"Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory","format":"double","default":3}}},"TagGroup":{"type":"object","properties":{"groupName":{"type":"string","description":"Name of this Grouping query."},"luceneQuery":{"type":"string","description":"Query used to group the entities in lucene format."},"groupType":{"type":"string"}}},"CompoundImport":{"required":["features"],"type":"object","properties":{"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"features":{"type":"array","description":"The features this compound consists of.","items":{"$ref":"#/components/schemas/FeatureImport"}}}},"FeatureImport":{"required":["charge","ionMass"],"type":"object","properties":{"name":{"type":"string","nullable":true},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.","nullable":true},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Detected adducts of this feature. Can be NULL or empty if no adducts are known.","nullable":true,"items":{"type":"string","nullable":true}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"dataQuality":{"type":"string","description":"A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","description":"List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","description":"List of MS/MS spectra that belong to this feature.","nullable":true,"items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail."},"AlignedFeature":{"required":["charge","detectedAdducts"],"type":"object","properties":{"alignedFeatureId":{"type":"string"},"compoundId":{"type":"string"},"name":{"type":"string"},"externalFeatureId":{"type":"string","description":"Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source."},"ionMass":{"type":"number","format":"double"},"charge":{"type":"integer","description":"Ion mode (charge) this feature has been measured in.","format":"int32"},"detectedAdducts":{"uniqueItems":true,"type":"array","description":"Adducts of this feature that have been detected during preprocessing.","items":{"type":"string"}},"rtStartSeconds":{"type":"number","format":"double","nullable":true},"rtEndSeconds":{"type":"number","format":"double","nullable":true},"rtApexSeconds":{"type":"number","format":"double","nullable":true},"quality":{"type":"string","description":"Quality of this feature.","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"hasMs1":{"type":"boolean","description":"If true, the feature has at lease one MS1 spectrum"},"hasMsMs":{"type":"boolean","description":"If true, the feature has at lease one MS/MS spectrum"},"msData":{"$ref":"#/components/schemas/MsData"},"topAnnotations":{"$ref":"#/components/schemas/FeatureAnnotations"},"topAnnotationsDeNovo":{"$ref":"#/components/schemas/FeatureAnnotations"},"computing":{"type":"boolean","description":"Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results"},"computedTools":{"$ref":"#/components/schemas/ComputedSubtools"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}},"description":"The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view."},"AnnotatedPeak":{"type":"object","properties":{"mz":{"type":"number","format":"double"},"intensity":{"type":"number","format":"double"},"peakAnnotation":{"$ref":"#/components/schemas/PeakAnnotation"}}},"AnnotatedSpectrum":{"required":["cosineQuery","peaks"],"type":"object","properties":{"name":{"type":"string","description":"Optional Displayable name of this spectrum.","nullable":true},"msLevel":{"type":"integer","description":"MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero","format":"int32","nullable":true},"collisionEnergy":{"type":"string","description":"Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable","nullable":true},"instrument":{"type":"string","description":"Instrument information.","nullable":true},"precursorMz":{"type":"number","description":"Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable","format":"double","nullable":true},"scanNumber":{"type":"integer","description":"Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)","format":"int32","nullable":true},"cosineQuery":{"type":"boolean","description":"True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.","default":false},"precursorPeak":{"$ref":"#/components/schemas/SimplePeak"},"peaks":{"type":"array","description":"The peaks of this spectrum which might contain additional annotations such as molecular formulas.","items":{"$ref":"#/components/schemas/AnnotatedPeak"}},"absIntensityFactor":{"type":"number","description":"Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.","format":"double","nullable":true,"deprecated":true},"maxNormFactor":{"type":"number","description":"Factor to convert absolute intensities to MAX norm.","format":"double","nullable":true},"sumNormFactor":{"type":"number","description":"Factor to convert absolute intensities to SUM norm.","format":"double","nullable":true},"l2NormFactor":{"type":"number","description":"Factor to convert absolute intensities to L2 (Euclidean) norm.","format":"double","nullable":true},"firstPeakNormFactor":{"type":"number","description":"Factor to convert absolute intensities to normalize intensities by first peak intensity.","format":"double","nullable":true},"spectrumAnnotation":{"$ref":"#/components/schemas/SpectrumAnnotation"}},"description":"Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes","nullable":true},"CanopusPrediction":{"type":"object","properties":{"classyFireClasses":{"type":"array","description":"All predicted ClassyFire classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"npcClasses":{"type":"array","description":"All predicted NPC classes","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.","nullable":true},"Compound":{"type":"object","properties":{"compoundId":{"type":"string","description":"uid of this compound Entity"},"name":{"type":"string","description":"Some (optional) human-readable name","nullable":true},"rtStartSeconds":{"type":"number","description":"The merged/consensus retention time start (earliest rt) of this compound","format":"double","nullable":true},"rtEndSeconds":{"type":"number","description":"The merged/consensus retention time end (latest rt) of this compound","format":"double","nullable":true},"neutralMass":{"type":"number","description":"Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass","format":"double","nullable":true},"features":{"type":"array","description":"List of aligned features (adducts) that belong to the same (this) compound","items":{"$ref":"#/components/schemas/AlignedFeature"}},"consensusAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"consensusAnnotationsDeNovo":{"$ref":"#/components/schemas/ConsensusAnnotationsDeNovo"},"customAnnotations":{"$ref":"#/components/schemas/ConsensusAnnotationsCSI"},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"CompoundClass":{"type":"object","properties":{"type":{"type":"string","description":"Specifies the classification ontology the CompoundClass belongs to.","nullable":true,"enum":["ClassyFire","NPC"]},"level":{"type":"string","description":"Name of the level this compound class belongs to","nullable":true},"levelIndex":{"type":"integer","description":"Index of the level this compound class belongs to","format":"int32","nullable":true},"name":{"type":"string","description":"Name of the compound class.","nullable":true},"description":{"type":"string","description":"Description of the compound class.","nullable":true},"id":{"type":"integer","description":"Unique id of the class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"probability":{"type":"number","description":"prediction probability","format":"double"},"index":{"type":"integer","description":"Absolute index of this property in the predicted vector/embedding","format":"int32"},"parentId":{"type":"integer","description":"Unique id of the parent class. Might be undefined for certain classification ontologies.","format":"int32","nullable":true},"parentName":{"type":"string","description":"Name of the parent compound class.","nullable":true}},"description":"Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to","nullable":true},"CompoundClasses":{"type":"object","properties":{"npcPathway":{"$ref":"#/components/schemas/CompoundClass"},"npcSuperclass":{"$ref":"#/components/schemas/CompoundClass"},"npcClass":{"$ref":"#/components/schemas/CompoundClass"},"classyFireLineage":{"type":"array","description":"Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}},"classyFireAlternatives":{"type":"array","description":"Alternative ClassyFire classes with high probability that do not fit into the linage","nullable":true,"items":{"$ref":"#/components/schemas/CompoundClass"}}},"description":"Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.","nullable":true},"ComputedSubtools":{"type":"object","properties":{"librarySearch":{"type":"boolean"},"formulaSearch":{"type":"boolean"},"zodiac":{"type":"boolean"},"fingerprint":{"type":"boolean"},"canopus":{"type":"boolean"},"structureSearch":{"type":"boolean"},"deNovoSearch":{"type":"boolean"}},"description":"Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.","nullable":true},"ConsensusAnnotationsCSI":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"type":"string","description":"Null if this is a custom selection","nullable":true,"enum":["MAJORITY_STRUCTURE","CONFIDENCE_STRUCTURE","SINGLETON_STRUCTURE","MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]},"csiFingerIdStructure":{"$ref":"#/components/schemas/StructureCandidate"},"confidenceExactMatch":{"type":"number","description":"Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported","format":"double","nullable":true}},"nullable":true},"ConsensusAnnotationsDeNovo":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.","nullable":true},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"supportingFeatureIds":{"type":"array","description":"FeatureIds where the topAnnotation supports this annotation.","nullable":true,"items":{"type":"string","nullable":true}},"selectionCriterion":{"type":"string","description":"Criterion that was used to select the consensus annotation.","nullable":true,"enum":["MAJORITY_FORMULA","TOP_FORMULA","SINGLETON_FORMULA"]}},"nullable":true},"FeatureAnnotations":{"type":"object","properties":{"formulaAnnotation":{"$ref":"#/components/schemas/FormulaCandidate"},"structureAnnotation":{"$ref":"#/components/schemas/StructureCandidateScored"},"compoundClassAnnotation":{"$ref":"#/components/schemas/CompoundClasses"},"confidenceExactMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit is correct.","format":"double","nullable":true},"confidenceApproxMatch":{"type":"number","description":"Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.","format":"double","nullable":true},"expansiveSearchState":{"type":"string","description":"Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)","nullable":true,"enum":["OFF","EXACT","APPROXIMATE"]},"specifiedDatabases":{"type":"array","description":"List of databases that have been specified by for structure db search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}},"expandedDatabases":{"type":"array","description":"List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.","nullable":true,"items":{"type":"string","nullable":true}}},"description":"Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.","nullable":true},"FormulaCandidate":{"type":"object","properties":{"formulaId":{"type":"string","description":"Unique identifier of this formula candidate"},"molecularFormula":{"type":"string","description":"molecular formula of this formula candidate"},"adduct":{"type":"string","description":"Adduct of this formula candidate"},"rank":{"type":"integer","format":"int32"},"siriusScoreNormalized":{"type":"number","description":"Normalized Sirius Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"siriusScore":{"type":"number","description":"Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"isotopeScore":{"type":"number","format":"double","nullable":true},"treeScore":{"type":"number","format":"double","nullable":true},"zodiacScore":{"type":"number","description":"Zodiac Score of the formula candidate.\n If NULL result is not available","format":"double","nullable":true},"numOfExplainedPeaks":{"type":"integer","format":"int32","nullable":true},"numOfExplainablePeaks":{"type":"integer","format":"int32","nullable":true},"totalExplainedIntensity":{"type":"number","format":"double","nullable":true},"medianMassDeviation":{"$ref":"#/components/schemas/Deviation"},"fragmentationTree":{"$ref":"#/components/schemas/FragmentationTree"},"annotatedSpectrum":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"isotopePatternAnnotation":{"$ref":"#/components/schemas/IsotopePatternAnnotation"},"lipidAnnotation":{"$ref":"#/components/schemas/LipidAnnotation"},"predictedFingerprint":{"type":"array","description":"Probabilistic molecular fingerprint predicted by CSI:FingerID","nullable":true,"items":{"type":"number","format":"double","nullable":true}},"compoundClasses":{"$ref":"#/components/schemas/CompoundClasses"},"canopusPrediction":{"$ref":"#/components/schemas/CanopusPrediction"}},"description":"Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.","nullable":true},"FragmentNode":{"type":"object","properties":{"fragmentId":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string","description":"neutral molecular formula of the fragment without adduct","nullable":true},"adduct":{"type":"string","description":"This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.","nullable":true},"massDeviationDa":{"type":"number","format":"double","nullable":true},"massDeviationPpm":{"type":"number","format":"double","nullable":true},"score":{"type":"number","format":"double","nullable":true},"intensity":{"type":"number","format":"double","nullable":true},"mz":{"type":"number","format":"double","nullable":true}}},"FragmentationTree":{"type":"object","properties":{"fragments":{"type":"array","items":{"$ref":"#/components/schemas/FragmentNode"}},"losses":{"type":"array","items":{"$ref":"#/components/schemas/LossEdge"}},"treeScore":{"type":"number","format":"double"},"molecularFormula":{"type":"string"},"adduct":{"type":"string"}},"description":"Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation","nullable":true},"IsotopePatternAnnotation":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"simulatedPattern":{"$ref":"#/components/schemas/BasicSpectrum"}},"nullable":true},"LipidAnnotation":{"type":"object","properties":{"lipidSpecies":{"type":"string","description":"Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.","nullable":true},"lipidMapsId":{"type":"string","description":"LIPID MAPS id of the predicted lipid class.","nullable":true},"lipidClassName":{"type":"string","description":"Human-readable name of the predicted lipid class.","nullable":true},"hypotheticalStructure":{"type":"string","description":"Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.","nullable":true},"chainsUnknown":{"type":"boolean","description":"True of the formula composition of the chains could not be determined from the MS/MS.","nullable":true}},"nullable":true},"LossEdge":{"type":"object","properties":{"sourceFragmentIdx":{"type":"integer","format":"int32"},"targetFragmentIdx":{"type":"integer","format":"int32"},"molecularFormula":{"type":"string"},"score":{"type":"number","format":"double"}}},"MsData":{"type":"object","properties":{"isotopePattern":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs1":{"$ref":"#/components/schemas/BasicSpectrum"},"mergedMs2":{"$ref":"#/components/schemas/BasicSpectrum"},"ms1Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/BasicSpectrum"}}},"description":"The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar","nullable":true},"ParentPeak":{"required":["lossFormula","parentFragmentId","parentIdx"],"type":"object","properties":{"parentIdx":{"type":"integer","description":"Index to the parent peak connected by this loss in this particular spectrum","format":"int32"},"parentFragmentId":{"type":"integer","description":"Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"lossFormula":{"type":"string","description":"Molecular formula of the neutral loss that connects these two peaks."}},"description":"Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.","nullable":true},"PeakAnnotation":{"required":["fragmentId"],"type":"object","properties":{"fragmentId":{"type":"integer","description":"Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.","format":"int32"},"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this peak","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this peak","nullable":true},"exactMass":{"type":"number","description":"Exact mass of the annotated molecular formula and adduct","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the measured peak mass in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the measured peak mass in ppm","format":"double","nullable":true},"recalibratedMassDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa","format":"double","nullable":true},"recalibratedMassDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the recalibrated peak mass in ppm","format":"double","nullable":true},"parentPeak":{"$ref":"#/components/schemas/ParentPeak"},"substructureAtoms":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBonds":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureBondsCut":{"type":"array","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.","nullable":true,"items":{"type":"integer","format":"int32","nullable":true}},"substructureScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.","format":"float","nullable":true},"hydrogenRearrangements":{"type":"integer","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.","format":"int32","nullable":true}},"nullable":true},"SpectrumAnnotation":{"type":"object","properties":{"molecularFormula":{"type":"string","description":"Molecular formula that has been annotated to this spectrum","nullable":true},"adduct":{"type":"string","description":"Adduct that has been annotated to this spectrum","nullable":true},"exactMass":{"type":"number","description":"Exact mass based on the annotated molecular formula and ionization","format":"double","nullable":true},"massDeviationMz":{"type":"number","description":"Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa","format":"double","nullable":true},"massDeviationPpm":{"type":"number","description":"Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm","format":"double","nullable":true},"structureAnnotationSmiles":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationName":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationSvg":{"type":"string","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested.","nullable":true},"structureAnnotationScore":{"type":"number","description":"EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested.","format":"double","nullable":true}},"nullable":true},"StructureCandidate":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true}},"nullable":true},"StructureCandidateScored":{"type":"object","properties":{"inchiKey":{"type":"string"},"smiles":{"type":"string"},"structureName":{"type":"string","nullable":true},"structureSvg":{"type":"string","description":"SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true},"dbLinks":{"type":"array","description":"List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/DBLink"}},"spectralLibraryMatches":{"type":"array","description":"List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter","nullable":true,"items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"xlogP":{"type":"number","format":"double","nullable":true},"rank":{"type":"integer","description":"the overall rank of this candidate among all candidates of this feature","format":"int32"},"csiScore":{"type":"number","description":"CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates","format":"double"},"tanimotoSimilarity":{"type":"number","description":"Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID","format":"double","nullable":true},"mcesDistToTopHit":{"type":"number","description":"Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.","format":"double","nullable":true},"fingerprint":{"$ref":"#/components/schemas/BinaryFingerprint"}},"nullable":true},"StoredJobSubmission":{"required":["editable","jobSubmission","name"],"type":"object","properties":{"name":{"type":"string","description":"Unique name to identify this JobSubmission (job config)."},"editable":{"type":"boolean","description":"False for predefined configs which are not editable and not removable."},"jobSubmission":{"$ref":"#/components/schemas/JobSubmission"}}},"BioTransformerParameters":{"required":["bioTransformerSequenceSteps","cyp450Mode","p2Mode"],"type":"object","properties":{"cyp450Mode":{"type":"string","description":"Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Cyp450 mode.","nullable":true,"default":"COMBINED","enum":["RULE_BASED","CY_PRODUCT","COMBINED"]},"p2Mode":{"type":"string","description":"Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Phase II mode.","nullable":true,"default":"BT_RULE_BASED","enum":["BT_RULE_BASED","P2_RULE_ONLY","COMBINED_RULES"]},"useDB":{"type":"boolean","description":"\"Specify if you want to enable the retrieving from database (HMDB) feature.\"","default":true},"bioTransformerSequenceSteps":{"type":"array","description":"Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).","items":{"$ref":"#/components/schemas/BioTransformerSequenceStep"}}}},"BioTransformerSequenceStep":{"type":"object","properties":{"metabolicTransformation":{"type":"string","enum":["PHASE_1_CYP450","EC_BASED","PHASE_2","HUMAN_GUT","ALL_HUMAN","ABIOTIC","HUMAN_CUSTOM_MULTI"]},"iterations":{"type":"integer","format":"int32"}}},"AccountCredentials":{"type":"object","properties":{"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"refreshToken":{"type":"string","nullable":true}},"description":"Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service."},"RunOptField":{"type":"string","nullable":true,"enum":["none","tags"]},"Run":{"type":"object","properties":{"runId":{"type":"string","description":"Identifier"},"name":{"type":"string","description":"Informative, human-readable name of this run"},"source":{"type":"string","description":"Source location"},"chromatography":{"type":"string","nullable":true},"ionization":{"type":"string","nullable":true},"fragmentation":{"type":"string","nullable":true},"massAnalyzers":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"tags":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"},"description":"Key: tagName, value: tag","nullable":true}}},"PageMetadata":{"type":"object","properties":{"size":{"type":"integer","format":"int64"},"number":{"type":"integer","format":"int64"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int64"}}},"PagedModelRun":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelJob":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AdductEdgeExperimental":{"type":"object","properties":{"mzDelta":{"type":"number","format":"double"},"annotation":{"type":"string"},"from":{"type":"integer","format":"int32"},"to":{"type":"integer","format":"int32"},"mergedCorrelation":{"type":"number","format":"float"},"representativeCorrelation":{"type":"number","format":"float"},"ms2cosine":{"type":"number","format":"float"},"pvalue":{"type":"number","format":"float"},"intensityRatioScore":{"type":"number","format":"float"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNetworkExperimental":{"type":"object","properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/AdductNodeExperimental"}},"edges":{"type":"array","items":{"$ref":"#/components/schemas/AdductEdgeExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"AdductNodeExperimental":{"type":"object","properties":{"alignedFeatureId":{"type":"string"},"mz":{"type":"number","format":"double"},"adductAnnotations":{"type":"object","additionalProperties":{"type":"number","format":"double"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Axes":{"type":"object","properties":{"scanNumber":{"type":"array","items":{"type":"integer","format":"int32"}},"scanIds":{"type":"array","items":{"type":"string"}},"retentionTimeInSeconds":{"type":"array","items":{"type":"number","format":"double"}}}},"TraceAnnotationExperimental":{"type":"object","properties":{"type":{"type":"string","description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.","enum":["FEATURE","MS2"]},"description":{"type":"string","nullable":true},"index":{"type":"integer","format":"int32"},"from":{"type":"integer","format":"int32","nullable":true},"to":{"type":"integer","format":"int32","nullable":true}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceExperimental":{"type":"object","properties":{"id":{"type":"string"},"sampleId":{"type":"string","nullable":true},"sampleName":{"type":"string","nullable":true},"label":{"type":"string"},"color":{"type":"string"},"intensities":{"type":"array","items":{"type":"number","format":"double"}},"annotations":{"type":"array","items":{"$ref":"#/components/schemas/TraceAnnotationExperimental"}},"mz":{"type":"number","format":"double"},"merged":{"type":"boolean"},"normalizationFactor":{"type":"number","description":"Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.","format":"double"},"noiseLevel":{"type":"number","description":"The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.","format":"double"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"TraceSetExperimental":{"type":"object","properties":{"adductNetwork":{"$ref":"#/components/schemas/AdductNetworkExperimental"},"sampleId":{"type":"string"},"sampleName":{"type":"string"},"axes":{"$ref":"#/components/schemas/Axes"},"traces":{"type":"array","items":{"$ref":"#/components/schemas/TraceExperimental"}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"QuantTableExperimental":{"type":"object","properties":{"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"columnIds":{"type":"array","nullable":true,"items":{"type":"integer","format":"int64","nullable":true}},"rowNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"columnNames":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"PagedModelCompound":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Compound"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"FoldChange":{"required":["foldChange","objectId","quantType"],"type":"object","properties":{"leftGroup":{"type":"string"},"rightGroup":{"type":"string"},"aggregation":{"type":"string","enum":["AVG","MIN","MAX"]},"quantification":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"quantType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"objectId":{"type":"string"},"foldChange":{"type":"number","format":"double"}}},"StatisticsTable":{"type":"object","properties":{"statisticsType":{"type":"string","enum":["FOLD_CHANGE"]},"aggregationType":{"type":"string","enum":["AVG","MIN","MAX"]},"quantificationMeasure":{"type":"string","enum":["APEX_INTENSITY","AREA_UNDER_CURVE"]},"rowType":{"type":"string","enum":["FEATURES","COMPOUNDS"]},"rowIds":{"type":"array","items":{"type":"string"}},"columnNames":{"type":"array","items":{"type":"string"}},"columnLeftGroups":{"type":"array","items":{"type":"string"}},"columnRightGroups":{"type":"array","items":{"type":"string"}},"values":{"type":"array","items":{"type":"array","items":{"type":"number","format":"double"}}}}},"SpectralLibraryMatchSummary":{"required":["databaseCompoundCount","referenceSpectraCount","spectralMatchCount"],"type":"object","properties":{"bestMatch":{"$ref":"#/components/schemas/SpectralLibraryMatch"},"spectralMatchCount":{"type":"integer","format":"int64"},"referenceSpectraCount":{"type":"integer","format":"int32"},"databaseCompoundCount":{"type":"integer","format":"int32"}}},"PagedModelSpectralLibraryMatch":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SpectralLibraryMatch"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"AlignedFeatureQualityExperimental":{"required":["alignedFeatureId","categories","overallQuality"],"type":"object","properties":{"alignedFeatureId":{"type":"string","description":"Id of the feature (aligned over runs) this quality information belongs to."},"overallQuality":{"type":"string","description":"Overall Quality","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"categories":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Category"},"description":"Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,"}},"description":"EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable."},"Category":{"type":"object","properties":{"categoryName":{"type":"string"},"overallQuality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"items":{"type":"array","items":{"$ref":"#/components/schemas/QualityItem"}}}},"QualityItem":{"type":"object","properties":{"description":{"type":"string"},"quality":{"type":"string","nullable":true,"enum":["NOT_APPLICABLE","LOWEST","BAD","DECENT","GOOD"]},"weight":{"type":"string","enum":["MINOR","MAJOR","CRITICAL"]}}},"AnnotatedMsMsData":{"required":["mergedMs2","ms2Spectra"],"type":"object","properties":{"mergedMs2":{"$ref":"#/components/schemas/AnnotatedSpectrum"},"ms2Spectra":{"type":"array","items":{"$ref":"#/components/schemas/AnnotatedSpectrum"}}}},"PagedModelStructureCandidateScored":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateScored"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelFormulaCandidate":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/FormulaCandidate"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelStructureCandidateFormula":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/StructureCandidateFormula"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"PagedModelAlignedFeature":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AlignedFeature"}},"page":{"$ref":"#/components/schemas/PageMetadata"}}},"Info":{"required":["availableILPSolvers","supportedILPSolvers"],"type":"object","properties":{"nightSkyApiVersion":{"type":"string","description":"API version of the SIRIUS Nightsky API","nullable":true},"siriusVersion":{"type":"string","description":"Version of the SIRIUS application","nullable":true},"latestSiriusVersion":{"type":"string","description":"Latest available Version of the SIRIUS application","nullable":true},"latestSiriusLink":{"type":"string","description":"Link to the latest available Version of the SIRIUS application","nullable":true},"updateAvailable":{"type":"boolean","description":"true if newer SIRIUS version is available"},"siriusLibVersion":{"type":"string","description":"Version of the SIRIUS libraries","nullable":true},"fingerIdLibVersion":{"type":"string","description":"Version of the CSI:FingerID libraries","nullable":true},"chemDbVersion":{"type":"string","description":"Version of the Chemical Database available via SIRIUS web services","nullable":true},"fingerIdModelVersion":{"type":"string","description":"Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.","nullable":true},"fingerprintId":{"type":"string","description":"Version of the Molecular Fingerprint used by SIRIUS","nullable":true},"availableILPSolvers":{"type":"array","description":"Set of solvers that are configured correctly and can be loaded","items":{"type":"string","enum":["GUROBI","CPLEX","GLPK","CLP"]}},"supportedILPSolvers":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of ILP Solvers that are Supported and their version information"}}},"ConnectionCheck":{"required":["errors","licenseInfo"],"type":"object","properties":{"licenseInfo":{"$ref":"#/components/schemas/LicenseInfo"},"errors":{"type":"array","description":"List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors","items":{"$ref":"#/components/schemas/ConnectionError"}}}},"ConnectionError":{"required":["errorKlass","errorType","siriusErrorCode","siriusMessage"],"type":"object","properties":{"errorType":{"type":"string","enum":["WARNING","ERROR"]},"errorKlass":{"type":"string","enum":["UNKNOWN","INTERNET","LOGIN_SERVER","LICENSE_SERVER","TOKEN","LOGIN","LICENSE","TERMS","APP_SERVER"]},"siriusErrorCode":{"type":"integer","format":"int32"},"siriusMessage":{"type":"string"},"serverResponseErrorCode":{"type":"integer","format":"int32","nullable":true},"serverResponseErrorMessage":{"type":"string","nullable":true},"error":{"type":"boolean"},"warning":{"type":"boolean"}}},"LicenseInfo":{"type":"object","properties":{"userEmail":{"type":"string","description":"Email address of the user account this license information belongs to.","nullable":true},"userId":{"type":"string","description":"User ID (uid) of the user account this license information belongs to.","nullable":true},"subscription":{"$ref":"#/components/schemas/Subscription"},"consumables":{"$ref":"#/components/schemas/SubscriptionConsumables"},"terms":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/Term"}}}},"SubscriptionConsumables":{"type":"object","properties":{"pendingJobs":{"type":"integer","format":"int32"},"countedCompounds":{"type":"integer","format":"int32"}},"nullable":true},"Term":{"type":"object","properties":{"name":{"type":"string"},"link":{"type":"string","format":"uri"}},"nullable":true},"WebServerNamespace":{"type":"object","properties":{"value":{"type":"string"}}},"SecurityContext":{"type":"object","properties":{"principal":{"type":"object","properties":{"name":{"type":"string"}}}}}}}} \ No newline at end of file +{ + "openapi": "3.0.1", + "info": { + "title": "SIRIUS Nightsky API", + "description": "REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6", + "version": "3.1" + }, + "servers": [ + { + "url": "http://localhost:8080", + "description": "Generated server url" + } + ], + "tags": [ + { + "name": "Tags", + "description": "[EXPERIMENTAL] This API allows managing tags and tag based data groupings. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + }, + { + "name": "Info", + "description": "Status und Information" + }, + { + "name": "Feature Statistics", + "description": "[EXPERIMENTAL] This feature based API allows computing and accessing statistics for features (aligned over runs).All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + }, + { + "name": "Jobs", + "description": "Start, monitor and cancel background jobs." + }, + { + "name": "Compounds", + "description": "This compound based API allows to retrieve all AlignedFeatures that belong to the same compound (also known as a group of ion identities). It also provides for each AlignedFeature the corresponding annotation results (which are usually computed on a per-feature basis)" + }, + { + "name": "Login and Account", + "description": "Perform signIn, signOut and signUp. Get tokens and account information." + }, + { + "name": "Actuator", + "description": "Monitor and interact", + "externalDocs": { + "description": "Spring Boot Actuator Web API Documentation", + "url": "https://docs.spring.io/spring-boot/docs/current/actuator-api/html/" + } + }, + { + "name": "Searchable Databases", + "description": "Manage structure and spectral databases that can be used by various computational methods." + }, + { + "name": "Features", + "description": "This feature based API allows access features (aligned over runs) and there Annotations of a specified project-space. This is the entry point to access all raw annotation results an there summaries." + }, + { + "name": "Projects", + "description": "Manage SIRIUS projects." + }, + { + "name": "Runs", + "description": "[EXPERIMENTAL] This API allows accessing LC/MS runs. All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + }, + { + "name": "Compound Statistics", + "description": "[EXPERIMENTAL] This compound based API allows allows computing and accessing statistics for compounds (also known as a group of ion identities). All endpoints are experimental and not part of the stable API specification. These endpoints can change at any time, even in minor updates." + } + ], + "paths": { + "/api/projects/{projectId}": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get project space info by its projectId.", + "description": "Get project space info by its projectId.", + "operationId": "getProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier tof the project-space to be accessed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "compatibilityInfo", + "sizeInformation" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + }, + "put": { + "tags": [ + "Projects" + ], + "summary": "Open an existing project-space and make it accessible via the given projectId.", + "description": "Open an existing project-space and make it accessible via the given projectId.", + "operationId": "openProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pathToProject", + "in": "query", + "description": "local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.", + "required": false, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "compatibilityInfo", + "sizeInformation" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + }, + "post": { + "tags": [ + "Projects" + ], + "summary": "Create and open a new project-space at given location and make it accessible via the given projectId.", + "description": "Create and open a new project-space at given location and make it accessible via the given projectId.", + "operationId": "createProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "pathToProject", + "in": "query", + "description": "local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.", + "required": false, + "deprecated": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "compatibilityInfo", + "sizeInformation" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Projects" + ], + "summary": "Close project-space and remove it from the application", + "description": "Close project-space and remove it from the application. The Project will NOT be deleted from disk.\n

\n ATTENTION: This will cancel and remove all jobs running on this Project before closing it.\n If there are many jobs, this might take some time.", + "operationId": "closeProject", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "unique name/identifier of the project-space to be closed.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compact", + "in": "query", + "description": "if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version.", + "required": false, + "deprecated": true, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/tags": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get all tag definitions in the given project-space", + "description": "[EXPERIMENTAL] Get all tag definitions in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getTags", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagType", + "in": "query", + "description": "scope of the tag (optional)", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Tag definitions.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Add tags to the project", + "description": "[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "createTags", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the tag definitions to be created", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDefinitionImport" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the definitions of the tags that have been created", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tags/{runId}": { + "put": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Add tags to a run in the project", + "description": "[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addTagsToRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "in": "path", + "description": "run to add tags to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "tags to add.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the tags that have been added", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/blanksubtract/compute": { + "put": { + "tags": [ + "Runs" + ], + "summary": "**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter", + "description": "**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.\n\n

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

", + "operationId": "computeFoldChangeForBlankSubtraction", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to compute the fold change in.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "job opt fields.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "progress" + ] + } + } + ], + "requestBody": { + "description": "request with lists of run IDs that are sample, blank, and control runs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SampleTypeFoldChangeRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/tags/{compoundId}": { + "put": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Tags with the same name will be overwritten", + "description": "[EXPERIMENTAL] Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addTagsToCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound (group of ion identities) to add tags to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "tags to add.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the tags that have been added", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchange/compute": { + "put": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] Compute the fold change between two groups of runs", + "description": "[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "computeCompoundFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to compute the fold change in.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "type": "string", + "default": "AVG", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_INTENSITY", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + }, + { + "name": "optFields", + "in": "query", + "description": "job opt fields.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "progress" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidates", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + } + } + } + } + } + }, + "put": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures.", + "description": "[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list.", + "operationId": "addDeNovoStructureCandidate", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "smiles", + "in": "query", + "description": "smiles", + "required": false, + "schema": { + "type": "string", + "default": "none" + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}": { + "put": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project", + "description": "[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addTagsToAlignedFeatureExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "run to add tags to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "tags to add.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the tags that have been added", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchange/compute": { + "put": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] Compute the fold change between two groups of runs", + "description": "[EXPERIMENTAL] Compute the fold change between two groups of runs.\n

\n The runs need to be tagged and grouped.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "computeAlignedFeatureFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to compute the fold change in.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right tag group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "type": "string", + "default": "AVG", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_INTENSITY", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + }, + { + "name": "optFields", + "in": "query", + "description": "job opt fields.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "progress" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/delete": { + "put": { + "tags": [ + "Features" + ], + "summary": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "description": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "operationId": "deleteAlignedFeatures", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/databases/{databaseId}": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "put": { + "tags": [ + "Searchable Databases" + ], + "operationId": "updateDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabaseParameters" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "post": { + "tags": [ + "Searchable Databases" + ], + "operationId": "createDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "pattern": "^[a-zA-Z0-9-_]+$", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabaseParameters" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Searchable Databases" + ], + "operationId": "removeDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "delete", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/account/subscriptions/select-active": { + "put": { + "tags": [ + "Login and Account" + ], + "summary": "Select a subscription as active subscription to be used for computations.", + "description": "Select a subscription as active subscription to be used for computations.", + "operationId": "selectSubscription", + "parameters": [ + { + "name": "sid", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Account information with updated active subscription", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountInfo" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get List of all available jobs with information such as current state and progress (if available).", + "description": "Get List of all available jobs with information such as current state and progress (if available).", + "operationId": "getJobs", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Jobs" + ], + "summary": "Start computation for given compounds and with given parameters.", + "description": "Start computation for given compounds and with given parameters.", + "operationId": "startJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "command", + "progress" + ] + } + } + ], + "requestBody": { + "description": "configuration of the job that will be submitted of the job to be returned", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "summary": "* Delete ALL jobs.", + "description": "* Delete ALL jobs. Specify how to behave for running jobs.", + "operationId": "deleteJobs", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete jobs from", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cancelIfRunning", + "in": "query", + "description": "If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "awaitDeletion", + "in": "query", + "description": "If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + } + } + }, + "/api/projects/{projectId}/jobs/from-config": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "Start computation for given compounds and with parameters from a stored job-config.", + "description": "Start computation for given compounds and with parameters from a stored job-config.", + "operationId": "startJobFromConfig", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "jobConfigName", + "in": "query", + "description": "name if the config to be used", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "recompute", + "in": "query", + "description": "enable or disable recompute. If null the stored value will be used.", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "command", + "progress" + ] + } + } + ], + "requestBody": { + "description": "List of alignedFeatureIds to be computed", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "202": { + "description": "Accepted", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/preprocessed-data-files": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)", + "description": "Import already preprocessed ms/ms data from various formats into the specified project\n Possible formats (ms, mgf, cef, msp)", + "operationId": "importPreprocessedData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ignoreFormulas", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "allowMs1Only", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "files to import into project", + "items": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportResult" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/preprocessed-data-files-job": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import ms/ms data from the given format into the specified project-space as background job.", + "description": "Import ms/ms data from the given format into the specified project-space as background job.\n Possible formats (ms, mgf, cef, msp)", + "operationId": "importPreprocessedDataAsJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "ignoreFormulas", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "allowMs1Only", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "progress" + ] + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "items": { + "type": "string", + "format": "binary" + } + } + } + } + } + } + }, + "responses": { + "200": { + "description": "the import job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/ms-data-files": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)", + "description": "Import and Align full MS-Runs from various formats into the specified project\n Possible formats (mzML, mzXML)", + "operationId": "importMsRunData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles", + "parameters" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "Files to import into project.", + "items": { + "type": "string", + "format": "binary" + } + }, + "parameters": { + "$ref": "#/components/schemas/LcmsSubmissionParameters" + } + } + }, + "encoding": { + "parameters": { + "contentType": "application/json" + }, + "inputFiles": { + "contentType": "application/octet-stream" + } + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ImportResult" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/import/ms-data-files-job": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Import and Align full MS-Runs from various formats into the specified project as background job.", + "description": "Import and Align full MS-Runs from various formats into the specified project as background job.\n Possible formats (mzML, mzXML)", + "operationId": "importMsRunDataAsJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "Set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "progress" + ] + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles", + "parameters" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "Files to import into project.", + "items": { + "type": "string", + "format": "binary" + } + }, + "parameters": { + "$ref": "#/components/schemas/LcmsSubmissionParameters" + } + } + }, + "encoding": { + "parameters": { + "contentType": "application/json" + }, + "inputFiles": { + "contentType": "application/octet-stream" + } + } + } + } + }, + "responses": { + "200": { + "description": "the import job.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/groups/{groupName}": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get tag group by name in the given project-space", + "description": "[EXPERIMENTAL] Get tag group by name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getGroupByName", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "path", + "description": "name of the group", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Tag group.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagGroup" + } + } + } + } + } + }, + "post": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Group tags in the project", + "description": "[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.\n\n

\n See /tagged for filter syntax.\n

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addGroup", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "path", + "description": "name of the new group", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "filter query to create the group", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "type of the group", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tag group that was added", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagGroup" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space", + "description": "[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteGroup", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "path", + "description": "name of group to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "List of all available compounds (group of ion identities) in the given project-space.", + "description": "List of all available compounds (group of ion identities) in the given project-space.", + "operationId": "getCompounds", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "consensusAnnotations", + "consensusAnnotationsDeNovo", + "customAnnotations", + "tags" + ] + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Compounds with additional optional fields (if specified).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Compound" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Compounds" + ], + "summary": "Import Compounds and its contained features.", + "description": "Import Compounds and its contained features. Compounds and Features must not exist in the project.\n Otherwise, they will exist twice.", + "operationId": "addCompounds", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "query", + "description": "profile describing the instrument used to measure the data. Used to merge spectra.", + "required": false, + "schema": { + "type": "string", + "nullable": true, + "enum": [ + "QTOF", + "ORBITRAP" + ] + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "consensusAnnotations", + "consensusAnnotationsDeNovo", + "customAnnotations", + "tags" + ] + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "description": "set of optional fields of the nested features to be included. Use 'none' to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "requestBody": { + "description": "the compound data to be imported", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CompoundImport" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the Compounds that have been imported with specified optional fields", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Compound" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features": { + "get": { + "tags": [ + "Features" + ], + "summary": "Get all available features (aligned over runs) in the given project-space.", + "description": "Get all available features (aligned over runs) in the given project-space.", + "operationId": "getAlignedFeatures", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "AlignedFeatures with additional annotations and MS/MS data (if specified).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Features" + ], + "summary": "Import (aligned) features into the project.", + "description": "Import (aligned) features into the project. Features must not exist in the project.\n Otherwise, they will exist twice.", + "operationId": "addAlignedFeatures", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to import into.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "profile", + "in": "query", + "description": "profile describing the instrument used to measure the data. Used to merge spectra.", + "required": false, + "schema": { + "type": "string", + "nullable": true, + "enum": [ + "QTOF", + "ORBITRAP" + ] + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "requestBody": { + "description": "the feature data to be imported", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FeatureImport" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the Features that have been imported with specified optional fields", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + } + } + } + } + } + } + }, + "/api/job-configs/{name}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Request job configuration with given name.", + "description": "Request job configuration with given name.", + "operationId": "getJobConfig", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "name of the job-config to return", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "moveParametersToConfigMap", + "in": "query", + "description": "if true, object-based parameters will be converted to and added to the generic configMap parameters", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "{@link JobSubmission JobSubmission} for given name.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoredJobSubmission" + } + } + } + } + } + }, + "post": { + "tags": [ + "Jobs" + ], + "summary": "Add new job configuration with given name.", + "description": "Add new job configuration with given name.", + "operationId": "saveJobConfig", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "name of the job-config to add", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "overrideExisting", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "moveParametersToConfigMap", + "in": "query", + "description": "if true, object-based parameters will be converted to and added to the generic configMap parameters in the return object", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "description": "to add", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "StoredJobSubmission that contains the JobSubmission and the probably modified name of the config (to ensure path compatibility).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoredJobSubmission" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "summary": "Delete job configuration with given name.", + "description": "Delete job configuration with given name.", + "operationId": "deleteJobConfig", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "name of the job-config to delete", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + } + } + }, + "/api/job-configs/get-command": { + "post": { + "tags": [ + "Jobs" + ], + "summary": "Get a CLI command for the given job configuration.", + "description": "Get a CLI command for the given job configuration.", + "operationId": "getCommand", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + } + }, + "/api/databases": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getDatabases", + "parameters": [ + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeWithErrors", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + }, + "post": { + "tags": [ + "Searchable Databases" + ], + "summary": "DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API.", + "operationId": "addDatabases", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + }, + "deprecated": true + } + }, + "/api/databases/{databaseId}/import/from-files": { + "post": { + "tags": [ + "Searchable Databases" + ], + "summary": "Start import of structure and spectra files into the specified database.", + "description": "Start import of structure and spectra files into the specified database.", + "operationId": "importIntoDatabase", + "parameters": [ + { + "name": "databaseId", + "in": "path", + "description": "database to import into", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "bufferSize", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1000 + } + } + ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "required": [ + "inputFiles" + ], + "type": "object", + "properties": { + "inputFiles": { + "type": "array", + "description": "files to be imported", + "items": { + "type": "string", + "format": "binary" + } + }, + "bioTransformerParameters": { + "$ref": "#/components/schemas/BioTransformerParameters" + } + } + }, + "encoding": { + "bioTransformerParameters": { + "contentType": "application/json" + }, + "inputFiles": { + "contentType": "application/octet-stream" + } + } + } + } + }, + "responses": { + "200": { + "description": "Meta-Information of the affected database after the import has been performed.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + }, + "/api/account/logout": { + "post": { + "tags": [ + "Login and Account" + ], + "summary": "Logout from SIRIUS web services.", + "description": "Logout from SIRIUS web services.", + "operationId": "logout", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/account/login": { + "post": { + "tags": [ + "Login and Account" + ], + "summary": "Login into SIRIUS web services and activate default subscription if available.", + "description": "Login into SIRIUS web services and activate default subscription if available.", + "operationId": "login", + "parameters": [ + { + "name": "acceptTerms", + "in": "query", + "required": true, + "schema": { + "type": "boolean" + } + }, + { + "name": "failWhenLoggedIn", + "in": "query", + "description": "if true request fails if an active login already exists.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeSubs", + "in": "query", + "description": "include available and active subscriptions in {@link AccountInfo AccountInfo}.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "requestBody": { + "description": "used to log in.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountCredentials" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Basic information about the account that has been logged in and its subscriptions.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountInfo" + } + } + } + } + } + } + }, + "/actuator/shutdown": { + "post": { + "tags": [ + "Actuator" + ], + "summary": "Actuator web endpoint 'shutdown'", + "operationId": "shutdown", + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request" + } + } + } + }, + "/api/projects/{projectId}/tags/{tagName}": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get tag definition by its name in the given project-space", + "description": "[EXPERIMENTAL] Get tag definition by its name in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getTag", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Tag definition.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space", + "description": "[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.\n

\n This will also remove all tags belonging to this definition from every tagged entity.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteTag", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag definition to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + }, + "patch": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Add a possible value to the tag definition in the project", + "description": "[EXPERIMENTAL] Add a possible value to the tag definition in the project.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "addPossibleValuesToTagDefinition", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to add to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "the tag definition to add the values to", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "the definitions of the tags that have been added", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TagDefinition" + } + } + } + } + } + } + }, + "/api/projects": { + "get": { + "tags": [ + "Projects" + ], + "summary": "List opened project spaces.", + "description": "List opened project spaces.", + "operationId": "getProjects", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectInfo" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/{runId}": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get run with the given identifier from the specified project-space", + "description": "[EXPERIMENTAL] Get run with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "in": "path", + "description": "identifier of run to access.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "Run with tags (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Run" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tags/{objectId}": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get all tags associated with this Run", + "description": "[EXPERIMENTAL] Get all tags associated with this Run", + "operationId": "getTagsForRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to get from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "RunId to get tags for.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tags of the requested object", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tagged": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get runs by tag", + "description": "[EXPERIMENTAL] Get runs by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunsByTagExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project space to get runs from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "tag filter.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "tagged runs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelRun" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/page": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get all available runs in the given project-space", + "description": "[EXPERIMENTAL] Get all available runs in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunPageExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "Runs with tags (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelRun" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/grouped": { + "get": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Get runs by tag group", + "description": "[EXPERIMENTAL] Get runs by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getRunsByGroupExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "query", + "description": "tag group name.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RunOptField" + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "tagged runs", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelRun" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/npc-data": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get CANOPUS prediction vector definition for NPC classes", + "operationId": "getCanopusNpcData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "charge", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/csv": { + "schema": { + "type": "string" + } + }, + "application/CSV": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/jobs/{jobId}": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get job information and its current state and progress (if available).", + "description": "Get job information and its current state and progress (if available).", + "operationId": "getJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "jobId", + "in": "path", + "description": "of the job to be returned", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "progress" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Job" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "summary": "Delete job.", + "description": "Delete job. Specify how to behave for running jobs.", + "operationId": "deleteJob", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete job from", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "jobId", + "in": "path", + "description": "of the job to be deleted", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "cancelIfRunning", + "in": "query", + "description": "If true, job will be canceled if it is not finished. Otherwise,\n deletion will fail for running jobs or request will block until job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "awaitDeletion", + "in": "query", + "description": "If true, request will block until deletion succeeded or failed.\n If the job is still running the request will wait until the job has finished.", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "202": { + "description": "Accepted" + } + } + } + }, + "/api/projects/{projectId}/jobs/page": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Get Page of jobs with information such as current state and progress (if available).", + "description": "Get Page of jobs with information such as current state and progress (if available).", + "operationId": "getJobsPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to run jobs on", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "command", + "progress", + "affectedIds" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelJob" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/has-jobs": { + "get": { + "tags": [ + "Jobs" + ], + "operationId": "hasJobs", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "includeFinished", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/groups": { + "get": { + "tags": [ + "Tags" + ], + "summary": "[EXPERIMENTAL] Get all tag based groups in the given project-space", + "description": "[EXPERIMENTAL] Get all tag based groups in the given project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getGroups", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupType", + "in": "query", + "description": "type of the group", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Groups.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagGroup" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/fingerid-data": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get CSI:FingerID fingerprint (prediction vector) definition", + "operationId": "getFingerIdData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "charge", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/csv": { + "schema": { + "type": "string" + } + }, + "application/CSV": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/{compoundId}": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "Get compound (group of ion identities) with the given identifier from the specified project-space.", + "description": "Get compound (group of ion identities) with the given identifier from the specified project-space.", + "operationId": "getCompound", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "identifier of the compound (group of ion identities) to access.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "consensusAnnotations", + "consensusAnnotationsDeNovo", + "customAnnotations", + "tags" + ] + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Compounds with additional optional fields (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Compound" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Compounds" + ], + "summary": "Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.", + "description": "Delete compound (group of ion identities) with the given identifier (and the included features) from the\n specified project-space.", + "operationId": "deleteCompound", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "identifier of the compound to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds/{compoundId}/traces": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Returns the traces of the given compound", + "description": "[EXPERIMENTAL] Returns the traces of the given compound.\n

\n A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*", + "operationId": "getCompoundTracesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound which intensities should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "featureId", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "Traces of the given compound.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TraceSetExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/{compoundId}/quant-table-row": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Returns a single quantification table row for the given compound", + "description": "[EXPERIMENTAL] Returns a single quantification table row for the given compound.\n

\n The quantification table contains a quantification of the feature within all\n samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*", + "operationId": "getCompoundQuantTableRowExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound which should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_HEIGHT", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/tags/{objectId}": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Get all tags associated with this Compound", + "description": "[EXPERIMENTAL] Get all tags associated with this Compound", + "operationId": "getTagsForCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to get from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "CompoundId to get tags for.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tags of the requested Compound", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/tagged": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag", + "description": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getCompoundsByTagExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project space to get compounds (group of ion identities) from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "tag filter.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "consensusAnnotations", + "consensusAnnotationsDeNovo", + "customAnnotations", + "tags" + ] + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "tagged compounds (group of ion identities)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelCompound" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}": { + "get": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] List all fold changes that are associated with an object", + "description": "[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getFoldChangesByCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "id of the object the fold changes are assigned to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "fold changes", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FoldChange" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table": { + "get": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] Get table of all fold changes in the project space", + "description": "[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getCompoundFoldChangeTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "type": "string", + "default": "AVG", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_INTENSITY", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "table of fold changes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StatisticsTable" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/quant-table": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Returns the full quantification table of compounds", + "description": "[EXPERIMENTAL] Returns the full quantification table of compounds.\n

\n The quantification table contains a quantification of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.*", + "operationId": "getCompoundQuantTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_HEIGHT", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/page": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "Page of available compounds (group of ion identities) in the given project-space.", + "description": "Page of available compounds (group of ion identities) in the given project-space.", + "operationId": "getCompoundsPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "consensusAnnotations", + "consensusAnnotationsDeNovo", + "customAnnotations", + "tags" + ] + }, + "default": [ + "none" + ] + } + }, + { + "name": "optFieldsFeatures", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Compounds with additional optional fields (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelCompound" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/compounds/grouped": { + "get": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag group", + "description": "[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getCompoundsByGroupExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "query", + "description": "tag group name.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "consensusAnnotations", + "consensusAnnotationsDeNovo", + "customAnnotations", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "tagged compounds (group of ion identities)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelCompound" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/cf-data": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Get CANOPUS prediction vector definition for ClassyFire classes", + "operationId": "getCanopusClassyFireData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "charge", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/csv": { + "schema": { + "type": "string" + } + }, + "application/CSV": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "Get feature (aligned over runs) with the given identifier from the specified project-space.", + "description": "Get feature (aligned over runs) with the given identifier from the specified project-space.", + "operationId": "getAlignedFeature", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "identifier of feature (aligned over runs) to access.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "AlignedFeature with additional annotations and MS/MS data (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlignedFeature" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Features" + ], + "summary": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "description": "Delete feature (aligned over runs) with the given identifier from the specified project-space.", + "operationId": "deleteAlignedFeature", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "identifier of feature (aligned over runs) to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId)", + "description": "[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).\n

\n Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention\n time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis,\n but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data.\n However, this also means that all traces can be directly compared against each other, as they all lie in the same\n retention time axis.\n By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set,\n it also includes samples in which the same trace appears in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getTracesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature which intensities should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "includeAll", + "in": "query", + "description": "when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Traces of the given feature.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TraceSetExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of spectral library matches for the given 'alignedFeatureId'.", + "description": "List of spectral library matches for the given 'alignedFeatureId'.", + "operationId": "getSpectralLibraryMatches", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "minSharedPeaks", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "minSimilarity", + "in": "query", + "required": false, + "schema": { + "type": "number", + "format": "double", + "default": 0.2 + } + }, + { + "name": "inchiKey", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "referenceSpectrum" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Spectral library matches of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "Spectral library match for the given 'alignedFeatureId'.", + "description": "Spectral library match for the given 'alignedFeatureId'.", + "operationId": "getSpectralLibraryMatch", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "matchId", + "in": "path", + "description": "id of the library match to be returned.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "referenceSpectrum" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Spectral library match with requested mathcId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations", + "description": "[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getStructureAnnotatedSpectralLibraryMatchExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "matchId", + "in": "path", + "description": "id of the library match to be returned.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Spectral library match with requested mathcId.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary": { + "get": { + "tags": [ + "Features" + ], + "summary": "Summarize matched reference spectra for the given 'alignedFeatureId'.", + "description": "Summarize matched reference spectra for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key.", + "operationId": "getSpectralLibraryMatchesSummary", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "minSharedPeaks", + "in": "query", + "description": "min threshold of shared peaks.", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "minSimilarity", + "in": "query", + "description": "min spectral similarity threshold.", + "required": false, + "schema": { + "type": "number", + "format": "double", + "default": 0.2 + } + }, + { + "name": "inchiKey", + "in": "query", + "description": "2D inchi key of the compound in the structure database.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + } + ], + "responses": { + "200": { + "description": "Summary object with best match, number of spectral library matches, matched reference spectra and matched database compounds of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpectralLibraryMatchSummary" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of spectral library matches for the given 'alignedFeatureId'.", + "description": "Page of spectral library matches for the given 'alignedFeatureId'.\n If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key.", + "operationId": "getSpectralLibraryMatchesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "minSharedPeaks", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": 1 + } + }, + { + "name": "minSimilarity", + "in": "query", + "required": false, + "schema": { + "type": "number", + "format": "double", + "default": 0.2 + } + }, + { + "name": "inchiKey", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "optFields", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "referenceSpectrum" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "Spectral library matches of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelSpectralLibraryMatch" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId)", + "description": "[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).\n

\n The quantification table contains a quantity of the feature within all samples it is contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getQuantTableRowExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature which quantity should be read out", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_HEIGHT", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "Quant table row for this feature", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n ", + "description": "[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)\n

\n Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeatureQualityExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "identifier of feature (aligned over runs) to access.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "AlignedFeatureQuality quality information of the respective feature.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AlignedFeatureQualityExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data": { + "get": { + "tags": [ + "Features" + ], + "summary": "Mass Spec data (input data) for the given 'alignedFeatureId' .", + "description": "Mass Spec data (input data) for the given 'alignedFeatureId' .", + "operationId": "getMsData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the Mass Spec data belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Mass Spec data of this feature (aligned over runs).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MsData" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of FormulaResultContainers available for this feature with minimal information.", + "description": "List of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.", + "operationId": "getFormulaCandidates", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "statistics", + "fragmentationTree", + "annotatedSpectrum", + "isotopePattern", + "lipidAnnotation", + "predictedFingerprint", + "compoundClasses", + "canopusPredictions" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "All FormulaCandidate of this feature with.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormulaCandidate" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "FormulaResultContainers for the given 'formulaId' with minimal information.", + "description": "FormulaResultContainers for the given 'formulaId' with minimal information.\n Can be enriched with an optional results overview and formula candidate information.", + "operationId": "getFormulaCandidate", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "statistics", + "fragmentationTree", + "annotatedSpectrum", + "isotopePattern", + "lipidAnnotation", + "predictedFingerprint", + "compoundClasses", + "canopusPredictions" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "FormulaCandidate of this feature (aligned over runs) with.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FormulaCandidate" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n ", + "description": "[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey\n

\n Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result\n These annotations are only available if a fragmentation tree is available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getStructureAnnotatedSpectrumExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "inchiKey", + "in": "path", + "description": "2d InChIKey of the structure candidate to be used to annotate the spectrum annotation", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spectrumIndex", + "in": "query", + "description": "index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": -1 + } + }, + { + "name": "searchPrepared", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectrum annotated with fragments and sub-structures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey", + "description": "[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.\n

\n Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses\n for the given formula result identifier and structure candidate inChIKey.\n These annotations are only available if a fragmentation tree and the structure candidate are available.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getStructureAnnotatedMsDataExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "inchiKey", + "in": "path", + "description": "2d InChIKey of the structure candidate to be used to annotate the spectrum annotation", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectrum annotated with fragments and sub-structures.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedMsMsData" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns Lipid annotation (ElGordo) for the given formulaId", + "description": "Returns Lipid annotation (ElGordo) for the given formulaId.\n

\n ElGordo lipid annotation runs as part of the SIRIUS formula identification step.", + "operationId": "getLipidAnnotation", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "LipidAnnotation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LipidAnnotation" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns Isotope pattern information for given formulaId\n ", + "description": "Returns Isotope pattern information for given formulaId\n

\n Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting)\n for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore).", + "operationId": "getIsotopePatternAnnotation", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Isotope pattern information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IsotopePatternAnnotation" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns fragmentation tree (SIRIUS) for the given formula result identifier\n ", + "description": "Returns fragmentation tree (SIRIUS) for the given formula result identifier\n

\n This tree is used to rank formula candidates (treeScore).", + "operationId": "getFragTree", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Fragmentation Tree", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FragmentationTree" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n ", + "description": "Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)\n

\n This fingerprint is used to perform structure database search and predict compound classes.", + "operationId": "getFingerprintPrediction", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "probabilistic fingerprint predicted by CSI:FingerID", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidatesByFormula", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateScored" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidatesByFormulaPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateScored" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.", + "description": "List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidatesByFormula", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateScored" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.", + "description": "Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidatesByFormulaPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this formula candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateScored" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction": { + "get": { + "tags": [ + "Features" + ], + "summary": "All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,", + "description": "All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities,", + "operationId": "getCanopusPrediction", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Predicted compound classes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CanopusPrediction" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes": { + "get": { + "tags": [ + "Features" + ], + "summary": "Return Best matching compound classes for given formulaId", + "description": "Return Best matching compound classes for given formulaId.\n

\n Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology,", + "operationId": "getBestMatchingCompoundClasses", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Best matching Predicted compound classes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CompoundClasses" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns a fragmentation spectrum (e", + "description": "Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier\n

\n These annotations are only available if a fragmentation tree is available.", + "operationId": "getFormulaAnnotatedSpectrum", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "spectrumIndex", + "in": "query", + "description": "index of the spectrum to be annotated. Merged MS/MS will be used if spectrumIndex < 0 (default)", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "default": -1 + } + }, + { + "name": "searchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectrum annotated with fragment formulas and losses.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata": { + "get": { + "tags": [ + "Features" + ], + "summary": "Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId", + "description": "Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.\n

\n Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses\n for the given formula result identifier\n These annotations are only available if a fragmentation tree and the structure candidate are available.", + "operationId": "getFormulaAnnotatedMsMsData", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "formulaId", + "in": "path", + "description": "identifier of the requested formula result", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Fragmentation spectra annotated with fragment formulas and losses.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnnotatedMsMsData" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of FormulaResultContainers available for this feature with minimal information.", + "description": "Page of FormulaResultContainers available for this feature with minimal information.\n Can be enriched with an optional results overview.", + "operationId": "getFormulaCandidatesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the formula result belongs to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "statistics", + "fragmentationTree", + "annotatedSpectrum", + "isotopePattern", + "lipidAnnotation", + "predictedFingerprint", + "compoundClasses", + "canopusPredictions" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "All FormulaCandidate of this feature with.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelFormulaCandidate" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "description": "Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint.", + "operationId": "getDeNovoStructureCandidatesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateFormula" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures": { + "get": { + "tags": [ + "Features" + ], + "summary": "List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.", + "description": "List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidates", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.", + "description": "Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information.\n StructureCandidates can be enriched with molecular fingerprint, structure database links.", + "operationId": "getStructureCandidatesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) the structure candidates belong to.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "fingerprint", + "dbLinks", + "libraryMatches", + "structureSvg" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "StructureCandidate of this feature (aligned over runs) candidate with specified optional fields.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelStructureCandidateFormula" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network", + "description": "[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAdductNetworkWithMergedTracesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "one feature that is considered the main feature of the adduct network", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TraceSetExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tags/{objectId}": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Get all tags associated with this Object", + "description": "[EXPERIMENTAL] Get all tags associated with this Object", + "operationId": "getTagsForAlignedFeaturesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to get from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "object to get tags for.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "the tags of the requested object", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tagged": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Get features (aligned over runs) by tag", + "description": "[EXPERIMENTAL] Get features (aligned over runs) by tag.\n\n

Supported filter syntax

\n\n

The filter string must contain one or more clauses. A clause is prefíxed\n by a field name.\n

\n

\n Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition).\n Tag name based field need to be prefixed with the namespace tags..\n Possible value types of tags are bool, integer, real, text, date, or time - tag value\n\n

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

\n\n

A clause may be:

\n
    \n
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • \n
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • \n
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • \n
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • \n
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • \n
\n\n

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

\n\n

Example

\n\n

The syntax allows to build complex filter queries such as:

\n\n

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeaturesByTagExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project space to get features (aligned over runs) from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "filter", + "in": "query", + "description": "tag filter.", + "required": false, + "schema": { + "type": "string", + "default": "" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [] + } + } + ], + "responses": { + "200": { + "description": "tagged features (aligned over runs)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelAlignedFeature" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}": { + "get": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] List all fold changes that are associated with an object", + "description": "[EXPERIMENTAL] List all fold changes that are associated with an object.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getFoldChangesByAlignedFeatureExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "objectId", + "in": "path", + "description": "id of the object the fold changes are assigned to.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "fold changes", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FoldChange" + } + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table": { + "get": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] Get table of all fold changes in the project space", + "description": "[EXPERIMENTAL] Get table of all fold changes in the project space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeatureFoldChangeTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "description": "aggregation type.", + "required": false, + "schema": { + "type": "string", + "default": "AVG", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + } + }, + { + "name": "quantification", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_INTENSITY", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "table of fold changes.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StatisticsTable" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/quant-table": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId)", + "description": "[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).\n

\n Returns the full quantification table. The quantification table contains a quantities of the features within all\n runs they are contained in.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getFeatureQuantTableExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "in": "query", + "description": "quantification type.", + "required": false, + "schema": { + "type": "string", + "default": "APEX_HEIGHT", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "Quant table if akk feature in this project", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantTableExperimental" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/page": { + "get": { + "tags": [ + "Features" + ], + "summary": "Get all available features (aligned over runs) in the given project-space.", + "description": "Get all available features (aligned over runs) in the given project-space.", + "operationId": "getAlignedFeaturesPaged", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to read from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "msDataSearchPrepared", + "in": "query", + "description": "Returns all fragment spectra in a preprocessed form as used for fast\n Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch\n peak assignments and reference spectra.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "AlignedFeatures with additional annotations and MS/MS data (if specified).", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelAlignedFeature" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/aligned-features/grouped": { + "get": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Get features (aligned over runs) by tag group", + "description": "[EXPERIMENTAL] Get features (aligned over runs) by tag group.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "getAlignedFeaturesByGroupExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "groupName", + "in": "query", + "description": "tag group name.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "description": "Zero-based page index (0..N)", + "required": false, + "schema": { + "minimum": 0, + "type": "integer", + "default": 0 + } + }, + { + "name": "size", + "in": "query", + "description": "The size of the page to be returned", + "required": false, + "schema": { + "minimum": 1, + "type": "integer", + "default": 20 + } + }, + { + "name": "sort", + "in": "query", + "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "optFields", + "in": "query", + "description": "set of optional fields to be included. Use 'none' only to override defaults.", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "msData", + "topAnnotationsSummary", + "topAnnotations", + "topAnnotationsDeNovo", + "computedTools", + "tags" + ] + }, + "default": [ + "none" + ] + } + } + ], + "responses": { + "200": { + "description": "tagged features (aligned over runs)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PagedModelAlignedFeature" + } + } + } + } + } + } + }, + "/api/job-configs": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Request all available job configurations", + "description": "Request all available job configurations", + "operationId": "getJobConfigs", + "responses": { + "200": { + "description": "list of available {@link JobSubmission JobSubmission}s", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StoredJobSubmission" + } + } + } + } + } + } + } + }, + "/api/job-config-names": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "[DEPRECATED] Get all (non-default) job configuration names\n ", + "description": "[DEPRECATED] Get all (non-default) job configuration names\n

\n [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API.", + "operationId": "getJobConfigNames", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "deprecated": true + } + }, + "/api/info": { + "get": { + "tags": [ + "Info" + ], + "operationId": "getInfo", + "parameters": [ + { + "name": "serverInfo", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "updateInfo", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Info" + } + } + } + } + } + } + }, + "/api/default-job-config": { + "get": { + "tags": [ + "Jobs" + ], + "summary": "Request default job configuration", + "description": "Request default job configuration", + "operationId": "getDefaultJobConfig", + "parameters": [ + { + "name": "includeConfigMap", + "in": "query", + "description": "if true, generic configmap with-defaults will be included", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "moveParametersToConfigMap", + "in": "query", + "description": "if true, object-based parameters will be converted to and added to the generic configMap parameters", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeCustomDbsForStructureSearch", + "in": "query", + "description": "if true, default database selection of structure db search\n spectral library search contains also all available custom DB.\n If No custom dbs are selected, spectral library search is disabled by default.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "{@link JobSubmission JobSubmission} with all parameters set to default values.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JobSubmission" + } + } + } + } + } + } + }, + "/api/databases/included": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getIncludedDatabases", + "parameters": [ + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + } + }, + "/api/databases/custom": { + "get": { + "tags": [ + "Searchable Databases" + ], + "operationId": "getCustomDatabases", + "parameters": [ + { + "name": "includeStats", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "includeWithErrors", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchableDatabase" + } + } + } + } + } + } + } + }, + "/api/connection-status": { + "get": { + "tags": [ + "Info" + ], + "operationId": "getConnectionCheck", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ConnectionCheck" + } + } + } + } + } + } + }, + "/api/account/subscriptions": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Get available subscriptions of the account currently logged in.", + "description": "Get available subscriptions of the account currently logged in. Fails if not logged in.", + "operationId": "getSubscriptions", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Subscription" + } + } + } + } + } + } + } + }, + "/api/account/signUp": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Open SignUp window in system browser and return signUp link.", + "description": "Open SignUp window in system browser and return signUp link.", + "operationId": "signUp", + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain;charset=UTF-8": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/account/signUpURL": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Get SignUp URL (For signUp via web browser)", + "description": "Get SignUp URL (For signUp via web browser)", + "operationId": "getSignUpURL", + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain;charset=UTF-8": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/api/account/openPortal": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Open User portal in browser.", + "description": "Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser.", + "operationId": "openPortal", + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/account/isLoggedIn": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Check if a user is logged in.", + "description": "Check if a user is logged in.", + "operationId": "isLoggedIn", + "responses": { + "200": { + "description": "true if the user is logged in", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + } + } + } + }, + "/api/account/": { + "get": { + "tags": [ + "Login and Account" + ], + "summary": "Get information about the account currently logged in.", + "description": "Get information about the account currently logged in. Fails if not logged in.", + "operationId": "getAccountInfo", + "parameters": [ + { + "name": "includeSubs", + "in": "query", + "description": "include available and active subscriptions in {@link AccountInfo AccountInfo}.", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Basic information about the account that has been logged in and its subscriptions.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccountInfo" + } + } + } + } + } + } + }, + "/actuator/health": { + "get": { + "tags": [ + "Actuator" + ], + "summary": "Actuator web endpoint 'health'", + "operationId": "health", + "responses": { + "200": { + "description": "OK", + "content": { + "application/vnd.spring-boot.actuator.v3+json": { + "schema": { + "type": "object" + } + }, + "application/vnd.spring-boot.actuator.v2+json": { + "schema": { + "type": "object" + } + }, + "application/json": { + "schema": { + "type": "object" + } + } + } + } + } + } + }, + "/api/projects/{projectId}/runs/tags/{runId}/{tagName}": { + "delete": { + "tags": [ + "Runs" + ], + "summary": "[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space", + "description": "[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "removeTagFromRunExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "runId", + "in": "path", + "description": "run to delete tag from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}": { + "delete": { + "tags": [ + "Compounds" + ], + "summary": "[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space", + "description": "[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "removeTagFromCompoundExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "compoundId", + "in": "path", + "description": "compound (group of ion identities) to delete tag from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/compounds/statistics/foldchanges": { + "delete": { + "tags": [ + "Compound Statistics" + ], + "summary": "[EXPERIMENTAL] Delete fold changes", + "description": "[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteCompoundFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "AVG", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + } + }, + { + "name": "quantification", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "APEX_INTENSITY", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}": { + "delete": { + "tags": [ + "Features" + ], + "summary": "[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space", + "description": "[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "removeTagFromAlignedFeatureExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "alignedFeatureId", + "in": "path", + "description": "feature (aligned over runs) to delete tag from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "tagName", + "in": "path", + "description": "name of the tag to delete.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/api/projects/{projectId}/aligned-features/statistics/foldchanges": { + "delete": { + "tags": [ + "Feature Statistics" + ], + "summary": "[EXPERIMENTAL] Delete fold changes", + "description": "[EXPERIMENTAL] Delete fold changes.\n

\n [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.", + "operationId": "deleteAlignedFeatureFoldChangesExperimental", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "project-space to delete from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "leftGroupName", + "in": "query", + "description": "name of the left group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "rightGroupName", + "in": "query", + "description": "name of the right group.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "aggregation", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "AVG", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + } + }, + { + "name": "quantification", + "in": "query", + "required": false, + "schema": { + "type": "string", + "default": "APEX_INTENSITY", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + } + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + } + }, + "components": { + "schemas": { + "ProjectChangeEvent": { + "type": "object", + "properties": { + "eventType": { + "type": "string", + "enum": [ + "PROJECT_OPENED", + "PROJECT_MOVED", + "PROJECT_CLOSED", + "FEATURE_CREATED", + "FEATURE_UPDATED", + "FEATURE_DELETED", + "RESULT_CREATED", + "RESULT_UPDATED", + "RESULT_DELETED" + ] + }, + "projectId": { + "type": "string" + }, + "compoundId": { + "type": "string", + "nullable": true + }, + "featuredId": { + "type": "string", + "nullable": true + }, + "formulaId": { + "type": "string", + "nullable": true + }, + "structureInChIKey": { + "type": "string", + "nullable": true + } + } + }, + "DataImportEvent": { + "required": [ + "importedCompoundIds", + "importedFeatureIds" + ], + "type": "object", + "properties": { + "importJobId": { + "type": "string", + "nullable": true + }, + "importedCompoundIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "importedFeatureIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BackgroundComputationsStateEvent": { + "required": [ + "affectedJobs", + "numberOfFinishedJobs", + "numberOfJobs", + "numberOfRunningJobs" + ], + "type": "object", + "properties": { + "affectedJobs": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Job" + } + }, + "numberOfJobs": { + "type": "integer", + "format": "int32" + }, + "numberOfRunningJobs": { + "type": "integer", + "format": "int32" + }, + "numberOfFinishedJobs": { + "type": "integer", + "format": "int32" + } + } + }, + "ProjectInfo": { + "type": "object", + "properties": { + "projectId": { + "type": "string", + "description": "a user selected unique name of the project for easy access." + }, + "location": { + "type": "string", + "description": "storage location of the project." + }, + "description": { + "type": "string", + "description": "Description of this project.", + "nullable": true + }, + "type": { + "type": "string", + "description": "Type of this project.\n NULL if project type has not yet been specified by importing data.", + "nullable": true, + "enum": [ + "UNIMPORTED", + "DIRECT_IMPORT", + "PEAKLISTS", + "ALIGNED_RUNS", + "UNALIGNED_RUNS" + ] + }, + "compatible": { + "type": "boolean", + "description": "Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend.\n If true project is up-to-date and there are no restrictions regarding usage.\n If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information\n If NULL the information has not been requested.", + "nullable": true + }, + "numOfFeatures": { + "type": "integer", + "description": "Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').", + "format": "int32", + "nullable": true + }, + "numOfCompounds": { + "type": "integer", + "description": "Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.", + "format": "int32", + "nullable": true + }, + "numOfBytes": { + "type": "integer", + "description": "Size in Bytes this project consumes on disk If NULL, Information has not been requested (See OptField 'sizeInformation').", + "format": "int64", + "nullable": true + } + } + }, + "TagDefinitionImport": { + "required": [ + "tagName", + "valueType" + ], + "type": "object", + "properties": { + "tagName": { + "type": "string", + "description": "Name of this tag defined by this definition (key)" + }, + "description": { + "type": "string", + "description": "A human-readable description about the purpose of this tag.", + "nullable": true + }, + "tagType": { + "type": "string", + "description": "A simple string based identifier to specify the type/scope/purpose of this tag.", + "nullable": true + }, + "valueType": { + "type": "string", + "enum": [ + "NONE", + "BOOLEAN", + "INTEGER", + "REAL", + "TEXT", + "DATE", + "TIME" + ] + }, + "possibleValues": { + "type": "array", + "nullable": true, + "items": { + "type": "object", + "nullable": true + } + }, + "minValue": { + "type": "object", + "nullable": true + }, + "maxValue": { + "type": "object", + "nullable": true + } + } + }, + "TagDefinition": { + "required": [ + "tagName", + "valueType" + ], + "type": "object", + "properties": { + "tagName": { + "type": "string", + "description": "Name of this tag defined by this definition (key)" + }, + "description": { + "type": "string", + "description": "A human-readable description about the purpose of this tag.", + "nullable": true + }, + "tagType": { + "type": "string", + "description": "A simple string based identifier to specify the type/scope/purpose of this tag.", + "nullable": true + }, + "valueType": { + "type": "string", + "enum": [ + "NONE", + "BOOLEAN", + "INTEGER", + "REAL", + "TEXT", + "DATE", + "TIME" + ] + }, + "possibleValues": { + "type": "array", + "nullable": true, + "items": { + "type": "object", + "nullable": true + } + }, + "minValue": { + "type": "object", + "nullable": true + }, + "maxValue": { + "type": "object", + "nullable": true + }, + "editable": { + "type": "boolean" + } + } + }, + "Tag": { + "required": [ + "tagName" + ], + "type": "object", + "properties": { + "tagName": { + "type": "string", + "description": "Name of the tag as defined by the corresponding TagDefinition\n Links tag object to their definition." + }, + "value": { + "type": "object", + "description": "Optional value of the tag.\n

\n Generic value of the tag as defined by the corresponding TagDefinition.\n Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).", + "nullable": true + } + } + }, + "SampleTypeFoldChangeRequest": { + "type": "object", + "properties": { + "sampleRunIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "blankRunIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "controlRunIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Job": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier to access the job via the API" + }, + "command": { + "type": "string", + "description": "Command string of the executed Task", + "nullable": true + }, + "progress": { + "$ref": "#/components/schemas/JobProgress" + }, + "affectedCompoundIds": { + "type": "array", + "description": "List of compoundIds that are affected by this job.\n This lis will also contain compoundIds where not all features of the compound are affected by the job.\n If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "affectedAlignedFeatureIds": { + "type": "array", + "description": "List of alignedFeatureIds that are affected by this job.\n If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "jobEffect": { + "type": "string", + "description": "Effect this job has. The affected ids are added, removed or modified.\n Null if job does not affect features/compounds\n Not available/null if affected Ids are not requested", + "nullable": true, + "enum": [ + "IMPORT", + "COMPUTATION", + "DELETION" + ] + } + }, + "description": "Identifier created by the SIRIUS Nightsky API for a newly created Job.\n Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information.\n This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal." + }, + "JobProgress": { + "type": "object", + "properties": { + "indeterminate": { + "type": "boolean", + "description": "Is the progress indeterminate or not", + "nullable": true + }, + "state": { + "type": "string", + "description": "Current state of the Jobs in the SIRIUS internal Job scheduler\n\n WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs)\n READY: Ready for submission but not yet enqueued for submission to ExecutorService.\n QUEUED: Enqueued for submission to ExecutorService.\n SUBMITTED: Submitted and waiting to be executed.\n RUNNING: Job is running.\n CANCELED: Jobs is finished due to cancellation by user or dependent jobs.\n FAILED: Job is finished but failed.\n DONE: Job finished successfully.", + "enum": [ + "WAITING", + "READY", + "QUEUED", + "SUBMITTED", + "RUNNING", + "CANCELED", + "FAILED", + "DONE" + ] + }, + "currentProgress": { + "type": "integer", + "description": "Current progress value of the job.", + "format": "int64", + "nullable": true + }, + "maxProgress": { + "type": "integer", + "description": "Progress value to reach (might also change during execution)", + "format": "int64", + "nullable": true + }, + "message": { + "type": "string", + "description": "Progress information and warnings.", + "nullable": true + }, + "errorMessage": { + "type": "string", + "description": "Error message if the job did not finish successfully failed.", + "nullable": true + } + }, + "description": "Progress information of a computation job that has already been submitted to SIRIUS.\n if currentProgress == maxProgress job is finished and should change to state done soon.\n if a job is DONE all results can be accessed via the Project-Spaces api.", + "nullable": true + }, + "BasicSpectrum": { + "required": [ + "cosineQuery", + "peaks" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Optional Displayable name of this spectrum.", + "nullable": true + }, + "msLevel": { + "type": "integer", + "description": "MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero", + "format": "int32", + "nullable": true + }, + "collisionEnergy": { + "type": "string", + "description": "Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable", + "nullable": true + }, + "instrument": { + "type": "string", + "description": "Instrument information.", + "nullable": true + }, + "precursorMz": { + "type": "number", + "description": "Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable", + "format": "double", + "nullable": true + }, + "scanNumber": { + "type": "integer", + "description": "Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", + "format": "int32", + "nullable": true + }, + "cosineQuery": { + "type": "boolean", + "description": "True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", + "default": false + }, + "precursorPeak": { + "$ref": "#/components/schemas/SimplePeak" + }, + "peaks": { + "type": "array", + "description": "The peaks of this spectrum which might contain additional annotations such as molecular formulas.", + "items": { + "$ref": "#/components/schemas/SimplePeak" + } + }, + "absIntensityFactor": { + "type": "number", + "description": "Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.", + "format": "double", + "nullable": true, + "deprecated": true + }, + "maxNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to MAX norm.", + "format": "double", + "nullable": true + }, + "sumNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to SUM norm.", + "format": "double", + "nullable": true + }, + "l2NormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to L2 (Euclidean) norm.", + "format": "double", + "nullable": true + }, + "firstPeakNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to normalize intensities by first peak intensity.", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "BinaryFingerprint": { + "type": "object", + "properties": { + "bitsSet": { + "type": "array", + "description": "Array that contains all RELATIVE indices (masked FP) of bits that are set (are 1)", + "items": { + "type": "integer", + "format": "int32" + } + }, + "length": { + "type": "integer", + "description": "Size of the fingerprint (masked fp), e.g. to reconstruct the binary array from the array of set bits", + "format": "int32" + } + }, + "nullable": true + }, + "DBLink": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "nullable": true + }, + "PeakPair": { + "required": [ + "queryPeak", + "referencePeak" + ], + "type": "object", + "properties": { + "queryPeak": { + "type": "integer", + "format": "int32" + }, + "referencePeak": { + "type": "integer", + "format": "int32" + } + } + }, + "SimplePeak": { + "type": "object", + "properties": { + "mz": { + "type": "number", + "format": "double" + }, + "intensity": { + "type": "number", + "format": "double" + } + } + }, + "SpectralLibraryMatch": { + "required": [ + "inchiKey", + "querySpectrumIndex", + "similarity", + "uuid" + ], + "type": "object", + "properties": { + "specMatchId": { + "type": "string" + }, + "rank": { + "type": "integer", + "format": "int32" + }, + "similarity": { + "type": "number", + "description": "Similarity between query and reference spectrum", + "format": "float" + }, + "sharedPeaks": { + "type": "integer", + "description": "Number of shared/matched peaks", + "format": "int32" + }, + "sharedPeakMapping": { + "type": "array", + "description": "List of paired/matched peak indices.\n\n Maps indices of peaks from the query spectrum (mass sorted)\n to indices of matched peaks in the reference spectrum (mass sorted)", + "items": { + "$ref": "#/components/schemas/PeakPair" + } + }, + "querySpectrumIndex": { + "type": "integer", + "format": "int32" + }, + "dbName": { + "type": "string" + }, + "dbId": { + "type": "string" + }, + "uuid": { + "type": "integer", + "format": "int64" + }, + "splash": { + "type": "string" + }, + "molecularFormula": { + "type": "string" + }, + "adduct": { + "type": "string" + }, + "exactMass": { + "type": "number", + "format": "double" + }, + "smiles": { + "type": "string" + }, + "type": { + "type": "string", + "default": "IDENTITY", + "enum": [ + "IDENTITY", + "ANALOG" + ] + }, + "inchiKey": { + "type": "string" + }, + "referenceSpectrumType": { + "type": "string", + "default": "SPECTRUM", + "enum": [ + "SPECTRUM", + "MERGED_SPECTRUM" + ] + }, + "referenceSpectrum": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "querySpectrumType": { + "type": "string", + "enum": [ + "SPECTRUM", + "MERGED_SPECTRUM" + ] + } + }, + "nullable": true + }, + "StructureCandidateFormula": { + "type": "object", + "properties": { + "inchiKey": { + "type": "string" + }, + "smiles": { + "type": "string" + }, + "structureName": { + "type": "string", + "nullable": true + }, + "structureSvg": { + "type": "string", + "description": "SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true + }, + "dbLinks": { + "type": "array", + "description": "List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/DBLink" + } + }, + "spectralLibraryMatches": { + "type": "array", + "description": "List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "xlogP": { + "type": "number", + "format": "double", + "nullable": true + }, + "rank": { + "type": "integer", + "description": "the overall rank of this candidate among all candidates of this feature", + "format": "int32" + }, + "csiScore": { + "type": "number", + "description": "CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates", + "format": "double" + }, + "tanimotoSimilarity": { + "type": "number", + "description": "Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", + "format": "double", + "nullable": true + }, + "mcesDistToTopHit": { + "type": "number", + "description": "Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", + "format": "double", + "nullable": true + }, + "fingerprint": { + "$ref": "#/components/schemas/BinaryFingerprint" + }, + "molecularFormula": { + "type": "string", + "description": "Molecular formula of this candidate" + }, + "adduct": { + "type": "string", + "description": "Adduct of this candidate" + }, + "formulaId": { + "type": "string", + "description": "Id of the corresponding Formula candidate" + } + } + }, + "SearchableDatabaseParameters": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "display name of the database\n Should be short", + "nullable": true + }, + "location": { + "type": "string", + "description": "Storage location of user database\n Might be NULL for non-user databases or if default location is used.", + "nullable": true + }, + "matchRtOfReferenceSpectra": { + "type": "boolean", + "description": "Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on", + "nullable": true, + "default": false + } + } + }, + "SearchableDatabase": { + "required": [ + "customDb", + "databaseId", + "searchable", + "updateNeeded" + ], + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "display name of the database\n Should be short", + "nullable": true + }, + "location": { + "type": "string", + "description": "Storage location of user database\n Might be NULL for non-user databases or if default location is used.", + "nullable": true + }, + "matchRtOfReferenceSpectra": { + "type": "boolean", + "description": "Indicates whether this database shall be used to use retention time information for library matching.\n Typically used for in-house spectral libraries that have been measured on", + "nullable": true, + "default": false + }, + "databaseId": { + "type": "string", + "description": "A unique identifier or name of the database.\n Should only contain file path and url save characters\n For user databases this is usually the file name." + }, + "customDb": { + "type": "boolean", + "description": "Indicates whether the database is a user managed custom database or if it is a\n database that is included in SIRIUS which cannot be modified." + }, + "searchable": { + "type": "boolean", + "description": "True when this database can be used as a search parameter.\n False if the database is just an additional filter that can be applied after search." + }, + "dbDate": { + "type": "string", + "description": "Date on which the data was imported / database was created.", + "nullable": true + }, + "dbVersion": { + "type": "integer", + "description": "database schema version", + "format": "int32", + "nullable": true + }, + "updateNeeded": { + "type": "boolean", + "description": "If true the database version is outdated and the database needs to be updated or re-imported before it can be used." + }, + "numberOfStructures": { + "type": "integer", + "description": "Number of unique compounds available in this database.", + "format": "int64", + "nullable": true + }, + "numberOfFormulas": { + "type": "integer", + "description": "Number of different molecular formulas available in this database.", + "format": "int64", + "nullable": true + }, + "numberOfReferenceSpectra": { + "type": "integer", + "description": "Number of reference spectra available in this database", + "format": "int64", + "nullable": true + }, + "errorMessage": { + "type": "string", + "description": "Error message if the database could not be loaded", + "nullable": true + } + } + }, + "AccountInfo": { + "type": "object", + "properties": { + "userID": { + "type": "string" + }, + "username": { + "type": "string", + "nullable": true + }, + "userEmail": { + "type": "string" + }, + "gravatarURL": { + "type": "string", + "nullable": true + }, + "subscriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Subscription" + } + }, + "activeSubscriptionId": { + "type": "string", + "nullable": true + } + } + }, + "AllowedFeatures": { + "type": "object", + "properties": { + "cli": { + "type": "boolean" + }, + "api": { + "type": "boolean" + }, + "deNovo": { + "type": "boolean" + }, + "importMSRuns": { + "type": "boolean" + }, + "importPeakLists": { + "type": "boolean" + }, + "importCef": { + "type": "boolean" + } + } + }, + "Subscription": { + "type": "object", + "properties": { + "sid": { + "type": "string", + "description": "Unique identifier of this subscription" + }, + "subscriberId": { + "type": "string", + "description": "ID of the owner of the subscription.\n This can be the ID of any SubscriptionOwner (e.g. Group or User)\n depending on the level on which a subscription should be is valid." + }, + "subscriberName": { + "type": "string", + "description": "Optional name of the owner of this subscription", + "nullable": true + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "startDate": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "countQueries": { + "type": "boolean", + "nullable": true + }, + "instanceLimit": { + "type": "integer", + "description": "Limit of instances (features) that can be computed with this subscription", + "format": "int32", + "nullable": true + }, + "instanceHashRecordingTime": { + "type": "integer", + "description": "Hash is used to allow recomputing identical data without increasing counted instances (features).\n The recording time is the amount of time an instance is memorized is", + "format": "int32", + "nullable": true + }, + "maxQueriesPerInstance": { + "type": "integer", + "description": "Maximum number of queries (e.g. prediction) that can be performed\n for one instance before it is counted another time.", + "format": "int32", + "nullable": true + }, + "maxUserAccounts": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "serviceUrl": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "tos": { + "type": "string", + "nullable": true + }, + "pp": { + "type": "string", + "nullable": true + }, + "allowedFeatures": { + "$ref": "#/components/schemas/AllowedFeatures" + } + } + }, + "Canopus": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + } + }, + "description": "User/developer friendly parameter subset for the CANOPUS tool\n CANOPUS is parameter free, so this Object is just a flag that canopus should be executed.\n Needs results from FingerprintPrediction Tool", + "nullable": true + }, + "FingerprintPrediction": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "useScoreThreshold": { + "type": "boolean", + "description": "If true, an adaptive soft threshold will be applied to only compute Fingerprints for promising formula candidates\n Enabling is highly recommended.", + "nullable": true + }, + "alwaysPredictHighRefMatches": { + "type": "boolean", + "description": "If true Fingerprint/Classes/Structures will be predicted for formulas candidates with\n reference spectrum similarity > Sirius.minReferenceMatchScoreToInject will be predicted no matter which\n score threshold rules apply.\n If NULL default value will be used.", + "nullable": true + } + }, + "description": "User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool\n Needs results from Formula/SIRIUS Tool", + "nullable": true + }, + "JobSubmission": { + "type": "object", + "properties": { + "compoundIds": { + "type": "array", + "description": "Compounds that should be the input for this Job\n Will be converted to the respective alignedFeatureIds for computation.\n\n At least one compoundId or alignedFeatureId needs to be specified.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "alignedFeatureIds": { + "type": "array", + "description": "Features (aligned over runs) that should be the input for this Job\n\n At least one compoundId or alignedFeatureId needs to be specified.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "fallbackAdducts": { + "type": "array", + "description": "Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "enforcedAdducts": { + "type": "array", + "description": "Describes how to deal with Adducts: Enforced adducts that are always considered.\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "detectableAdducts": { + "type": "array", + "description": "Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta).\n Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+\n Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "recompute": { + "type": "boolean", + "description": "Indicate if already existing result for a tool to be executed should be overwritten or not.", + "nullable": true + }, + "spectraSearchParams": { + "$ref": "#/components/schemas/SpectralLibrarySearch" + }, + "formulaIdParams": { + "$ref": "#/components/schemas/Sirius" + }, + "zodiacParams": { + "$ref": "#/components/schemas/Zodiac" + }, + "fingerprintPredictionParams": { + "$ref": "#/components/schemas/FingerprintPrediction" + }, + "canopusParams": { + "$ref": "#/components/schemas/Canopus" + }, + "structureDbSearchParams": { + "$ref": "#/components/schemas/StructureDbSearch" + }, + "msNovelistParams": { + "$ref": "#/components/schemas/MsNovelist" + }, + "configMap": { + "type": "object", + "additionalProperties": { + "type": "string", + "nullable": true + }, + "description": "As an alternative to the object based parameters, this map allows to store key value pairs\n of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.", + "nullable": true + } + }, + "description": "Object to submit a job to be executed by SIRIUS" + }, + "MsNovelist": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "numberOfCandidateToPredict": { + "type": "integer", + "description": "Number of structure candidates to be predicted by MsNovelist.\n Max Value 128. Values > 128 will be set to 128.\n Actual number of returned candidate might be lower du to duplicates being created by MsNovelist.", + "format": "int32", + "nullable": true + } + }, + "nullable": true + }, + "Sirius": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "profile": { + "type": "string", + "description": "Instrument specific profile for internal algorithms\n Just select what comes closest to the instrument that was used for measuring the data.", + "nullable": true, + "enum": [ + "QTOF", + "ORBITRAP" + ] + }, + "numberOfCandidates": { + "type": "integer", + "description": "Number of formula candidates to keep as result list (Formula Candidates).", + "format": "int32", + "nullable": true + }, + "numberOfCandidatesPerIonization": { + "type": "integer", + "description": "Use this parameter if you want to force SIRIUS to report at least\n NumberOfCandidatesPerIonization results per ionization.\n if <= 0, this parameter will have no effect and just the top\n NumberOfCandidates results will be reported.", + "format": "int32", + "nullable": true + }, + "massAccuracyMS2ppm": { + "type": "number", + "description": "Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.", + "format": "double", + "nullable": true + }, + "isotopeMs2Settings": { + "type": "string", + "description": "Specify how isotope patterns in MS/MS should be handled.\n

\n FILTER: When filtering is enabled, molecular formulas are excluded if their\n theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.\n

\n SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns\n

\n IGNORE: Ignore that there might be isotope patterns in MS/MS", + "nullable": true, + "enum": [ + "IGNORE", + "FILTER", + "SCORE" + ] + }, + "filterByIsotopePattern": { + "type": "boolean", + "description": "When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.", + "nullable": true + }, + "enforceElGordoFormula": { + "type": "boolean", + "description": "El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.", + "nullable": true + }, + "performBottomUpSearch": { + "type": "boolean", + "description": "If true, molecular formula generation via bottom up search is enabled.", + "nullable": true + }, + "performDenovoBelowMz": { + "type": "number", + "description": "Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.", + "format": "double", + "nullable": true + }, + "formulaSearchDBs": { + "type": "array", + "description": "List Structure database to extract molecular formulas from to reduce formula search space.\n SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "applyFormulaConstraintsToDBAndBottomUpSearch": { + "type": "boolean", + "description": "By default, the formula (element) constraints are only applied to de novo molecular formula generation.\n If true, the constraints are as well applied to database search and bottom up search.", + "nullable": true + }, + "enforcedFormulaConstraints": { + "type": "string", + "description": "These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Enforced: Enforced elements are always considered", + "nullable": true + }, + "fallbackFormulaConstraints": { + "type": "string", + "description": "These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)", + "nullable": true + }, + "detectableElements": { + "type": "array", + "description": "These configurations hold the information how to autodetect elements based on the given formula constraints.\n Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.\n

\n Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "ilpTimeout": { + "$ref": "#/components/schemas/Timeout" + }, + "useHeuristic": { + "$ref": "#/components/schemas/UseHeuristic" + }, + "injectSpecLibMatchFormulas": { + "type": "boolean", + "description": "If true formula candidates that belong to spectral library matches above a certain threshold will\n we inject/preserved for further analyses no matter which score they have or which filter is applied", + "nullable": true + }, + "minScoreToInjectSpecLibMatch": { + "type": "number", + "description": "Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied.\n If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.", + "format": "double", + "nullable": true + }, + "minPeaksToInjectSpecLibMatch": { + "type": "integer", + "description": "Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.", + "format": "int32", + "nullable": true + } + }, + "description": "User/developer friendly parameter subset for the Formula/SIRIUS tool\n Can use results from Spectral library search tool.", + "nullable": true + }, + "SpectralLibrarySearch": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "spectraSearchDBs": { + "type": "array", + "description": "Structure Databases with Reference spectra to search in.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "precursorDeviationPpm": { + "type": "number", + "description": "Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.", + "format": "double", + "nullable": true + }, + "minSimilarity": { + "type": "number", + "description": "Minimal spectral similarity of a spectral match to be considered a hit.", + "format": "float", + "nullable": true + }, + "minNumOfPeaks": { + "type": "integer", + "description": "Minimal number of matching peaks of a spectral match to be considered a hit.", + "format": "int32", + "nullable": true + }, + "enableAnalogueSearch": { + "type": "boolean", + "description": "Enable analogue search in addition to the identity spectral library search" + }, + "minSimilarityAnalogue": { + "type": "number", + "description": "Minimal spectral similarity of a spectral match to be considered an analogue hit.", + "format": "float", + "nullable": true + }, + "minNumOfPeaksAnalogue": { + "type": "integer", + "description": "Minimal number of matching peaks of a spectral match to be considered an analogue hit.", + "format": "int32", + "nullable": true + }, + "scoring": { + "type": "string", + "description": "NO LONGER SUPPORTED (IGNORED)\n Specify scoring method to match spectra\n INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum.\n GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum.\n MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.", + "nullable": true, + "deprecated": true, + "enum": [ + "INTENSITY", + "GAUSSIAN", + "MODIFIED_COSINE", + "FAST_COSINE" + ] + }, + "peakDeviationPpm": { + "type": "number", + "description": "NO LONGER SUPPORTED (IGNORED)\n Maximum allowed mass deviation in ppm for matching peaks.", + "format": "double", + "nullable": true, + "deprecated": true + } + }, + "description": "User/developer friendly parameter subset for the Spectral library search tool.", + "nullable": true + }, + "StructureDbSearch": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "structureSearchDBs": { + "type": "array", + "description": "Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem\n if not high confidence hit was found in the selected databases.\n

\n Defaults to BIO + Custom Databases. Possible values are available to Database API.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "tagStructuresWithLipidClass": { + "type": "boolean", + "description": "Candidates matching the lipid class estimated by El Gordo will be tagged.\n The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum.\n If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation\n tree, but the matching structure candidates will not be tagged if they match lipid class.", + "nullable": true + }, + "expansiveSearchConfidenceMode": { + "type": "string", + "description": "Expansive search mode.\n Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was\n found in one of the specified databases (structureSearchDBs).\n

\n Possible Values\n OFF - No expansive search is performed\n EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification.\n APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.", + "nullable": true, + "enum": [ + "OFF", + "EXACT", + "APPROXIMATE" + ] + } + }, + "description": "User/developer friendly parameter subset for the CSI:FingerID structure db search tool.\n Needs results from FingerprintPrediction and Canopus Tool.\n Non-Null parameters in this Object well override their equivalent value in the config map.", + "nullable": true + }, + "Timeout": { + "type": "object", + "properties": { + "numberOfSecondsPerDecomposition": { + "type": "integer", + "format": "int32" + }, + "numberOfSecondsPerInstance": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "UseHeuristic": { + "type": "object", + "properties": { + "useHeuristicAboveMz": { + "type": "integer", + "format": "int32" + }, + "useOnlyHeuristicAboveMz": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "Zodiac": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "tags whether the tool is enabled" + }, + "consideredCandidatesAt300Mz": { + "type": "integer", + "description": "Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.", + "format": "int32", + "nullable": true + }, + "consideredCandidatesAt800Mz": { + "type": "integer", + "description": "Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.", + "format": "int32", + "nullable": true + }, + "runInTwoSteps": { + "type": "boolean", + "description": "As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.", + "nullable": true + }, + "edgeFilterThresholds": { + "$ref": "#/components/schemas/ZodiacEdgeFilterThresholds" + }, + "gibbsSamplerParameters": { + "$ref": "#/components/schemas/ZodiacEpochs" + }, + "librarySearchAnchors": { + "$ref": "#/components/schemas/ZodiacLibraryScoring" + }, + "analogueSearchAnchors": { + "$ref": "#/components/schemas/ZodiacAnalogueNodes" + } + }, + "description": "User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking).\n Needs results from Formula/SIRIUS Tool", + "nullable": true + }, + "ZodiacAnalogueNodes": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "minSimilarity": { + "type": "number", + "format": "double" + }, + "minSharedPeaks": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "ZodiacEdgeFilterThresholds": { + "type": "object", + "properties": { + "thresholdFilter": { + "type": "number", + "format": "double" + }, + "minLocalCandidates": { + "type": "integer", + "format": "int32" + }, + "minLocalConnections": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "ZodiacEpochs": { + "type": "object", + "properties": { + "iterations": { + "type": "integer", + "format": "int32" + }, + "burnInPeriod": { + "type": "integer", + "format": "int32" + }, + "numberOfMarkovChains": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "ZodiacLibraryScoring": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + }, + "minSimilarity": { + "type": "number", + "format": "double" + } + }, + "nullable": true + }, + "ImportResult": { + "required": [ + "affectedAlignedFeatureIds", + "affectedCompoundIds" + ], + "type": "object", + "properties": { + "affectedCompoundIds": { + "type": "array", + "description": "List of compoundIds that have been imported.", + "items": { + "type": "string" + } + }, + "affectedAlignedFeatureIds": { + "type": "array", + "description": "List of alignedFeatureIds that have been imported..", + "items": { + "type": "string" + } + } + } + }, + "Deviation": { + "type": "object", + "properties": { + "ppm": { + "type": "number", + "format": "double" + }, + "absolute": { + "type": "number", + "format": "double" + } + } + }, + "LcmsSubmissionParameters": { + "type": "object", + "properties": { + "alignLCMSRuns": { + "type": "boolean", + "description": "Specifies whether LC/MS runs should be aligned", + "default": true + }, + "noiseIntensity": { + "type": "number", + "description": "Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level\n to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level.\n If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify\n this parameter, as the automated detection is usually sufficient.", + "format": "double", + "default": -1 + }, + "traceMaxMassDeviation": { + "$ref": "#/components/schemas/Deviation" + }, + "alignMaxMassDeviation": { + "$ref": "#/components/schemas/Deviation" + }, + "alignMaxRetentionTimeDeviation": { + "type": "number", + "description": "Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.", + "format": "double", + "default": -1 + }, + "minSNR": { + "type": "number", + "description": "Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory", + "format": "double", + "default": 3 + } + } + }, + "TagGroup": { + "type": "object", + "properties": { + "groupName": { + "type": "string", + "description": "Name of this Grouping query." + }, + "luceneQuery": { + "type": "string", + "description": "Query used to group the entities in lucene format." + }, + "groupType": { + "type": "string" + } + } + }, + "CompoundImport": { + "required": [ + "features" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Some (optional) human-readable name", + "nullable": true + }, + "features": { + "type": "array", + "description": "The features this compound consists of.", + "items": { + "$ref": "#/components/schemas/FeatureImport" + } + } + } + }, + "FeatureImport": { + "required": [ + "charge", + "ionMass" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "nullable": true + }, + "externalFeatureId": { + "type": "string", + "description": "Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.", + "nullable": true + }, + "ionMass": { + "type": "number", + "format": "double" + }, + "charge": { + "type": "integer", + "format": "int32" + }, + "detectedAdducts": { + "uniqueItems": true, + "type": "array", + "description": "Detected adducts of this feature. Can be NULL or empty if no adducts are known.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "rtStartSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtEndSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtApexSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "dataQuality": { + "type": "string", + "description": "A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.", + "nullable": true, + "enum": [ + "NOT_APPLICABLE", + "LOWEST", + "BAD", + "DECENT", + "GOOD" + ] + }, + "mergedMs1": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "ms1Spectra": { + "type": "array", + "description": "List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative\n mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the\n isotope pattern of the precursor ion.\n Note: Will be ignored if 'mergedMs1' is given.", + "nullable": true, + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + }, + "ms2Spectra": { + "type": "array", + "description": "List of MS/MS spectra that belong to this feature.", + "nullable": true, + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + } + }, + "description": "Represents an (aligned) feature to be imported into a SIRIUS project.\n At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given.\n Otherwise, the import will fail." + }, + "AlignedFeature": { + "required": [ + "charge", + "detectedAdducts" + ], + "type": "object", + "properties": { + "alignedFeatureId": { + "type": "string" + }, + "compoundId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "externalFeatureId": { + "type": "string", + "description": "Externally provided FeatureId (e.g. by some preprocessing tool).\n This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source." + }, + "ionMass": { + "type": "number", + "format": "double" + }, + "charge": { + "type": "integer", + "description": "Ion mode (charge) this feature has been measured in.", + "format": "int32" + }, + "detectedAdducts": { + "uniqueItems": true, + "type": "array", + "description": "Adducts of this feature that have been detected during preprocessing.", + "items": { + "type": "string" + } + }, + "rtStartSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtEndSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "rtApexSeconds": { + "type": "number", + "format": "double", + "nullable": true + }, + "quality": { + "type": "string", + "description": "Quality of this feature.", + "nullable": true, + "enum": [ + "NOT_APPLICABLE", + "LOWEST", + "BAD", + "DECENT", + "GOOD" + ] + }, + "hasMs1": { + "type": "boolean", + "description": "If true, the feature has at lease one MS1 spectrum" + }, + "hasMsMs": { + "type": "boolean", + "description": "If true, the feature has at lease one MS/MS spectrum" + }, + "msData": { + "$ref": "#/components/schemas/MsData" + }, + "topAnnotations": { + "$ref": "#/components/schemas/FeatureAnnotations" + }, + "topAnnotationsDeNovo": { + "$ref": "#/components/schemas/FeatureAnnotations" + }, + "computing": { + "type": "boolean", + "description": "Write lock for this feature. If the feature is locked no write operations are possible.\n True if any computation is modifying this feature or its results" + }, + "computedTools": { + "$ref": "#/components/schemas/ComputedSubtools" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Tag" + }, + "description": "Key: tagName, value: tag", + "nullable": true + } + }, + "description": "The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information\n that might be displayed in some summary view." + }, + "AnnotatedPeak": { + "type": "object", + "properties": { + "mz": { + "type": "number", + "format": "double" + }, + "intensity": { + "type": "number", + "format": "double" + }, + "peakAnnotation": { + "$ref": "#/components/schemas/PeakAnnotation" + } + } + }, + "AnnotatedSpectrum": { + "required": [ + "cosineQuery", + "peaks" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Optional Displayable name of this spectrum.", + "nullable": true + }, + "msLevel": { + "type": "integer", + "description": "MS level of the measured spectrum.\n Artificial spectra with no msLevel (e.g. Simulated Isotope patterns) use null or zero", + "format": "int32", + "nullable": true + }, + "collisionEnergy": { + "type": "string", + "description": "Collision energy used for MS/MS spectra\n Null for spectra where collision energy is not applicable", + "nullable": true + }, + "instrument": { + "type": "string", + "description": "Instrument information.", + "nullable": true + }, + "precursorMz": { + "type": "number", + "description": "Precursor m/z of the MS/MS spectrum\n Null for spectra where precursor m/z is not applicable", + "format": "double", + "nullable": true + }, + "scanNumber": { + "type": "integer", + "description": "Scan number of the spectrum.\n Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", + "format": "int32", + "nullable": true + }, + "cosineQuery": { + "type": "boolean", + "description": "True if spectrum is in cosine query normalized format.\n Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", + "default": false + }, + "precursorPeak": { + "$ref": "#/components/schemas/SimplePeak" + }, + "peaks": { + "type": "array", + "description": "The peaks of this spectrum which might contain additional annotations such as molecular formulas.", + "items": { + "$ref": "#/components/schemas/AnnotatedPeak" + } + }, + "absIntensityFactor": { + "type": "number", + "description": "Factor to convert relative intensities to absolute intensities.\n Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)\n

\n DEPRECATED: Spectra are always returned with raw intensities.\n Use provided normalization factors to normalize on the fly.", + "format": "double", + "nullable": true, + "deprecated": true + }, + "maxNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to MAX norm.", + "format": "double", + "nullable": true + }, + "sumNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to SUM norm.", + "format": "double", + "nullable": true + }, + "l2NormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to L2 (Euclidean) norm.", + "format": "double", + "nullable": true + }, + "firstPeakNormFactor": { + "type": "number", + "description": "Factor to convert absolute intensities to normalize intensities by first peak intensity.", + "format": "double", + "nullable": true + }, + "spectrumAnnotation": { + "$ref": "#/components/schemas/SpectrumAnnotation" + } + }, + "description": "Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations.\n Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree.\n Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes", + "nullable": true + }, + "CanopusPrediction": { + "type": "object", + "properties": { + "classyFireClasses": { + "type": "array", + "description": "All predicted ClassyFire classes", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + }, + "npcClasses": { + "type": "array", + "description": "All predicted NPC classes", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + } + }, + "description": "Container class that holds the CANOPUS compound class predictions for alle predictable compound classes.\n This is the full CANOPUS result.", + "nullable": true + }, + "Compound": { + "type": "object", + "properties": { + "compoundId": { + "type": "string", + "description": "uid of this compound Entity" + }, + "name": { + "type": "string", + "description": "Some (optional) human-readable name", + "nullable": true + }, + "rtStartSeconds": { + "type": "number", + "description": "The merged/consensus retention time start (earliest rt) of this compound", + "format": "double", + "nullable": true + }, + "rtEndSeconds": { + "type": "number", + "description": "The merged/consensus retention time end (latest rt) of this compound", + "format": "double", + "nullable": true + }, + "neutralMass": { + "type": "number", + "description": "Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of\n this compound should result in the same neutral mass", + "format": "double", + "nullable": true + }, + "features": { + "type": "array", + "description": "List of aligned features (adducts) that belong to the same (this) compound", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + }, + "consensusAnnotations": { + "$ref": "#/components/schemas/ConsensusAnnotationsCSI" + }, + "consensusAnnotationsDeNovo": { + "$ref": "#/components/schemas/ConsensusAnnotationsDeNovo" + }, + "customAnnotations": { + "$ref": "#/components/schemas/ConsensusAnnotationsCSI" + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Tag" + }, + "description": "Key: tagName, value: tag", + "nullable": true + } + } + }, + "CompoundClass": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Specifies the classification ontology the CompoundClass belongs to.", + "nullable": true, + "enum": [ + "ClassyFire", + "NPC" + ] + }, + "level": { + "type": "string", + "description": "Name of the level this compound class belongs to", + "nullable": true + }, + "levelIndex": { + "type": "integer", + "description": "Index of the level this compound class belongs to", + "format": "int32", + "nullable": true + }, + "name": { + "type": "string", + "description": "Name of the compound class.", + "nullable": true + }, + "description": { + "type": "string", + "description": "Description of the compound class.", + "nullable": true + }, + "id": { + "type": "integer", + "description": "Unique id of the class. Might be undefined for certain classification ontologies.", + "format": "int32", + "nullable": true + }, + "probability": { + "type": "number", + "description": "prediction probability", + "format": "double" + }, + "index": { + "type": "integer", + "description": "Absolute index of this property in the predicted vector/embedding", + "format": "int32" + }, + "parentId": { + "type": "integer", + "description": "Unique id of the parent class. Might be undefined for certain classification ontologies.", + "format": "int32", + "nullable": true + }, + "parentName": { + "type": "string", + "description": "Name of the parent compound class.", + "nullable": true + } + }, + "description": "Predicted compound class with name, probability and id if available.\n (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to", + "nullable": true + }, + "CompoundClasses": { + "type": "object", + "properties": { + "npcPathway": { + "$ref": "#/components/schemas/CompoundClass" + }, + "npcSuperclass": { + "$ref": "#/components/schemas/CompoundClass" + }, + "npcClass": { + "$ref": "#/components/schemas/CompoundClass" + }, + "classyFireLineage": { + "type": "array", + "description": "Most likely ClassyFire lineage from ordered from least specific to most specific class\n classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + }, + "classyFireAlternatives": { + "type": "array", + "description": "Alternative ClassyFire classes with high probability that do not fit into the linage", + "nullable": true, + "items": { + "$ref": "#/components/schemas/CompoundClass" + } + } + }, + "description": "Container class that holds the most likely compound class for different levels of each ontology for a\n certain Compound/Feature/FormulaCandidate/PredictedFingerprint.", + "nullable": true + }, + "ComputedSubtools": { + "type": "object", + "properties": { + "librarySearch": { + "type": "boolean" + }, + "formulaSearch": { + "type": "boolean" + }, + "zodiac": { + "type": "boolean" + }, + "fingerprint": { + "type": "boolean" + }, + "canopus": { + "type": "boolean" + }, + "structureSearch": { + "type": "boolean" + }, + "deNovoSearch": { + "type": "boolean" + } + }, + "description": "Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.", + "nullable": true + }, + "ConsensusAnnotationsCSI": { + "type": "object", + "properties": { + "molecularFormula": { + "type": "string", + "description": "Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.", + "nullable": true + }, + "compoundClasses": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "supportingFeatureIds": { + "type": "array", + "description": "FeatureIds where the topAnnotation supports this annotation.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "selectionCriterion": { + "type": "string", + "description": "Null if this is a custom selection", + "nullable": true, + "enum": [ + "MAJORITY_STRUCTURE", + "CONFIDENCE_STRUCTURE", + "SINGLETON_STRUCTURE", + "MAJORITY_FORMULA", + "TOP_FORMULA", + "SINGLETON_FORMULA" + ] + }, + "csiFingerIdStructure": { + "$ref": "#/components/schemas/StructureCandidate" + }, + "confidenceExactMatch": { + "type": "number", + "description": "Confidence value that represents the certainty that reported consensus structure is exactly the measured one\n If multiple features support this consensus structure the maximum confidence is reported", + "format": "double", + "nullable": true + }, + "confidenceApproxMatch": { + "type": "number", + "description": "Confidence value that represents the certainty that the exact consensus structure or a very similar\n structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one.\n If multiple features support this consensus structure the maximum confidence is reported", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "ConsensusAnnotationsDeNovo": { + "type": "object", + "properties": { + "molecularFormula": { + "type": "string", + "description": "Molecular formula of the consensus annotation\n Might be null if no consensus formula is available.", + "nullable": true + }, + "compoundClasses": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "supportingFeatureIds": { + "type": "array", + "description": "FeatureIds where the topAnnotation supports this annotation.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "selectionCriterion": { + "type": "string", + "description": "Criterion that was used to select the consensus annotation.", + "nullable": true, + "enum": [ + "MAJORITY_FORMULA", + "TOP_FORMULA", + "SINGLETON_FORMULA" + ] + } + }, + "nullable": true + }, + "FeatureAnnotations": { + "type": "object", + "properties": { + "formulaAnnotation": { + "$ref": "#/components/schemas/FormulaCandidate" + }, + "structureAnnotation": { + "$ref": "#/components/schemas/StructureCandidateScored" + }, + "compoundClassAnnotation": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "confidenceExactMatch": { + "type": "number", + "description": "Confidence Score that represents the confidence whether the top hit is correct.", + "format": "double", + "nullable": true + }, + "confidenceApproxMatch": { + "type": "number", + "description": "Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.", + "format": "double", + "nullable": true + }, + "expansiveSearchState": { + "type": "string", + "description": "Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)", + "nullable": true, + "enum": [ + "OFF", + "EXACT", + "APPROXIMATE" + ] + }, + "specifiedDatabases": { + "type": "array", + "description": "List of databases that have been specified by for structure db search. Null if no structure db search has been performed.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "expandedDatabases": { + "type": "array", + "description": "List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + } + }, + "description": "Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature.\n The different annotation fields within this summary object are null if the corresponding\n feature does not contain the represented results. If fields are non-null\n the corresponding result has been computed but might still be empty.", + "nullable": true + }, + "FormulaCandidate": { + "type": "object", + "properties": { + "formulaId": { + "type": "string", + "description": "Unique identifier of this formula candidate" + }, + "molecularFormula": { + "type": "string", + "description": "molecular formula of this formula candidate" + }, + "adduct": { + "type": "string", + "description": "Adduct of this formula candidate" + }, + "rank": { + "type": "integer", + "format": "int32" + }, + "siriusScoreNormalized": { + "type": "number", + "description": "Normalized Sirius Score of the formula candidate.\n If NULL result is not available", + "format": "double", + "nullable": true + }, + "siriusScore": { + "type": "number", + "description": "Sirius Score (isotope + tree score) of the formula candidate.\n If NULL result is not available", + "format": "double", + "nullable": true + }, + "isotopeScore": { + "type": "number", + "format": "double", + "nullable": true + }, + "treeScore": { + "type": "number", + "format": "double", + "nullable": true + }, + "zodiacScore": { + "type": "number", + "description": "Zodiac Score of the formula candidate.\n If NULL result is not available", + "format": "double", + "nullable": true + }, + "numOfExplainedPeaks": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "numOfExplainablePeaks": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "totalExplainedIntensity": { + "type": "number", + "format": "double", + "nullable": true + }, + "medianMassDeviation": { + "$ref": "#/components/schemas/Deviation" + }, + "fragmentationTree": { + "$ref": "#/components/schemas/FragmentationTree" + }, + "annotatedSpectrum": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + }, + "isotopePatternAnnotation": { + "$ref": "#/components/schemas/IsotopePatternAnnotation" + }, + "lipidAnnotation": { + "$ref": "#/components/schemas/LipidAnnotation" + }, + "predictedFingerprint": { + "type": "array", + "description": "Probabilistic molecular fingerprint predicted by CSI:FingerID", + "nullable": true, + "items": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "compoundClasses": { + "$ref": "#/components/schemas/CompoundClasses" + }, + "canopusPrediction": { + "$ref": "#/components/schemas/CanopusPrediction" + } + }, + "description": "Molecular formula candidate that holds a unique identifier (molecular formula + adduct).\n It can be extended with optional scoring metrics and the raw results\n such as fragmentation trees and simulated isotope pattern.", + "nullable": true + }, + "FragmentNode": { + "type": "object", + "properties": { + "fragmentId": { + "type": "integer", + "format": "int32" + }, + "molecularFormula": { + "type": "string", + "description": "neutral molecular formula of the fragment without adduct", + "nullable": true + }, + "adduct": { + "type": "string", + "description": "This combines the ionization plus adduct of the fragment. In contrast to the {@link FragmentationTree FragmentationTree}s adduct,\n this adduct may not include any in-source loss.", + "nullable": true + }, + "massDeviationDa": { + "type": "number", + "format": "double", + "nullable": true + }, + "massDeviationPpm": { + "type": "number", + "format": "double", + "nullable": true + }, + "score": { + "type": "number", + "format": "double", + "nullable": true + }, + "intensity": { + "type": "number", + "format": "double", + "nullable": true + }, + "mz": { + "type": "number", + "format": "double", + "nullable": true + } + } + }, + "FragmentationTree": { + "type": "object", + "properties": { + "fragments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FragmentNode" + } + }, + "losses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LossEdge" + } + }, + "treeScore": { + "type": "number", + "format": "double" + }, + "molecularFormula": { + "type": "string" + }, + "adduct": { + "type": "string" + } + }, + "description": "Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges\n Root fragment has index 0;\n Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation", + "nullable": true + }, + "IsotopePatternAnnotation": { + "type": "object", + "properties": { + "isotopePattern": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "simulatedPattern": { + "$ref": "#/components/schemas/BasicSpectrum" + } + }, + "nullable": true + }, + "LipidAnnotation": { + "type": "object", + "properties": { + "lipidSpecies": { + "type": "string", + "description": "Predicted lipid species in LIPID MAPS notation.\n NULL if not classified as lipid.", + "nullable": true + }, + "lipidMapsId": { + "type": "string", + "description": "LIPID MAPS id of the predicted lipid class.", + "nullable": true + }, + "lipidClassName": { + "type": "string", + "description": "Human-readable name of the predicted lipid class.", + "nullable": true + }, + "hypotheticalStructure": { + "type": "string", + "description": "Hypothetical molecular structure of the predicted lipid species as SMILES.\n NULL if hypothetical structure not available.", + "nullable": true + }, + "chainsUnknown": { + "type": "boolean", + "description": "True of the formula composition of the chains could not be determined from the MS/MS.", + "nullable": true + } + }, + "nullable": true + }, + "LossEdge": { + "type": "object", + "properties": { + "sourceFragmentIdx": { + "type": "integer", + "format": "int32" + }, + "targetFragmentIdx": { + "type": "integer", + "format": "int32" + }, + "molecularFormula": { + "type": "string" + }, + "score": { + "type": "number", + "format": "double" + } + } + }, + "MsData": { + "type": "object", + "properties": { + "isotopePattern": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "mergedMs1": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "mergedMs2": { + "$ref": "#/components/schemas/BasicSpectrum" + }, + "ms1Spectra": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + }, + "ms2Spectra": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BasicSpectrum" + } + } + }, + "description": "The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional.\n However, at least one Spectrum field needs to be set to create a valid MsData Object.\n The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.\n

\n Each Feature can have:\n - One extracted isotope pattern (optional)\n - One merged MS/MS spectrum (optional)\n - One merged MS spectrum (optional)\n - many MS/MS spectra (optional)\n - many MS spectra (optional)\n

\n Each non-merged spectrum has an index which can be used to access the spectrum.\n

\n In the future we might add some additional information like chromatographic peak or something similar", + "nullable": true + }, + "ParentPeak": { + "required": [ + "lossFormula", + "parentFragmentId", + "parentIdx" + ], + "type": "object", + "properties": { + "parentIdx": { + "type": "integer", + "description": "Index to the parent peak connected by this loss in this particular spectrum", + "format": "int32" + }, + "parentFragmentId": { + "type": "integer", + "description": "Identifier of the parent fragment connected via this loss. Can be used to map fragments and peaks\n among fragmentation trees and spectra.", + "format": "int32" + }, + "lossFormula": { + "type": "string", + "description": "Molecular formula of the neutral loss that connects these two peaks." + } + }, + "description": "Link from annotated fragment peak to its parent fragment peak connected by their neutral loss.", + "nullable": true + }, + "PeakAnnotation": { + "required": [ + "fragmentId" + ], + "type": "object", + "properties": { + "fragmentId": { + "type": "integer", + "description": "Identifier of the peak/fragment. Can be used to map fragments and peaks\n among fragmentation trees and spectra.", + "format": "int32" + }, + "molecularFormula": { + "type": "string", + "description": "Molecular formula that has been annotated to this peak", + "nullable": true + }, + "adduct": { + "type": "string", + "description": "Adduct that has been annotated to this peak", + "nullable": true + }, + "exactMass": { + "type": "number", + "description": "Exact mass of the annotated molecular formula and adduct", + "format": "double", + "nullable": true + }, + "massDeviationMz": { + "type": "number", + "description": "Absolute mass deviation of the exact mass to the measured peak mass in mDa", + "format": "double", + "nullable": true + }, + "massDeviationPpm": { + "type": "number", + "description": "Relative mass deviation of the exact mass to the measured peak mass in ppm", + "format": "double", + "nullable": true + }, + "recalibratedMassDeviationMz": { + "type": "number", + "description": "Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa", + "format": "double", + "nullable": true + }, + "recalibratedMassDeviationPpm": { + "type": "number", + "description": "Relative mass deviation of the exact mass to the recalibrated peak mass in ppm", + "format": "double", + "nullable": true + }, + "parentPeak": { + "$ref": "#/components/schemas/ParentPeak" + }, + "substructureAtoms": { + "type": "array", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure\n (highlighted atoms)", + "nullable": true, + "items": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "substructureBonds": { + "type": "array", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure\n (highlighted bonds)\n\n Null if substructure annotation not available or not requested.", + "nullable": true, + "items": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "substructureBondsCut": { + "type": "array", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments\n substructure (highlighted cutted bonds).\n\n Null if substructure annotation not available or not requested.", + "nullable": true, + "items": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "substructureScore": { + "type": "number", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n This score roughly reflects the probability of this fragment forming.\n\n This is the score of the path from root to this node which has the maximal score or \"profit\".\n The score of a path is equal to the sum of scores of its contained fragments and edges.\n Note: Refers to 'totalScore' in CombinatorialNode\n\n Null if substructure annotation not available or not requested.", + "format": "float", + "nullable": true + }, + "hydrogenRearrangements": { + "type": "integer", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n\n Number of hydrogens rearrangements needed to match the substructure to the fragment formula.\n\n Null if substructure annotation not available or not requested.", + "format": "int32", + "nullable": true + } + }, + "nullable": true + }, + "SpectrumAnnotation": { + "type": "object", + "properties": { + "molecularFormula": { + "type": "string", + "description": "Molecular formula that has been annotated to this spectrum", + "nullable": true + }, + "adduct": { + "type": "string", + "description": "Adduct that has been annotated to this spectrum", + "nullable": true + }, + "exactMass": { + "type": "number", + "description": "Exact mass based on the annotated molecular formula and ionization", + "format": "double", + "nullable": true + }, + "massDeviationMz": { + "type": "number", + "description": "Absolute mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in mDa", + "format": "double", + "nullable": true + }, + "massDeviationPpm": { + "type": "number", + "description": "Relative mass deviation of the exact mass to the precursor mass (precursorMz) of this spectrum in ppm", + "format": "double", + "nullable": true + }, + "structureAnnotationSmiles": { + "type": "string", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Smiles of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refer to this specific SMILES.\n If you standardize or canonicalize this SMILES in any way the indices of substructure highlighting might\n not match correctly anymore.\n

\n Null if substructure annotation not available or not requested.", + "nullable": true + }, + "structureAnnotationName": { + "type": "string", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Name of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation.\n

\n Null if substructure annotation not available or not requested.", + "nullable": true + }, + "structureAnnotationSvg": { + "type": "string", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n SVG graphics of the structure candidate used to derive substructure peak annotations via epimetheus insilico fragmentation\n Substructure highlighting (bond and atom indices) refers to this SVG.\n

\n Null if substructure annotation not available or not requested.", + "nullable": true + }, + "structureAnnotationScore": { + "type": "number", + "description": "EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable.\n

\n Overall score of all substructure annotations computed for this structure candidate (structureAnnotationSmiles)\n

\n Null if substructure annotation not available or not requested.", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "StructureCandidate": { + "type": "object", + "properties": { + "inchiKey": { + "type": "string" + }, + "smiles": { + "type": "string" + }, + "structureName": { + "type": "string", + "nullable": true + }, + "structureSvg": { + "type": "string", + "description": "SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true + }, + "dbLinks": { + "type": "array", + "description": "List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/DBLink" + } + }, + "spectralLibraryMatches": { + "type": "array", + "description": "List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "xlogP": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "nullable": true + }, + "StructureCandidateScored": { + "type": "object", + "properties": { + "inchiKey": { + "type": "string" + }, + "smiles": { + "type": "string" + }, + "structureName": { + "type": "string", + "nullable": true + }, + "structureSvg": { + "type": "string", + "description": "SVG graphics of the structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true + }, + "dbLinks": { + "type": "array", + "description": "List of structure database links belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/DBLink" + } + }, + "spectralLibraryMatches": { + "type": "array", + "description": "List of spectral library matches belonging to this structure candidate\n OPTIONAL: needs to be added by parameter", + "nullable": true, + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "xlogP": { + "type": "number", + "format": "double", + "nullable": true + }, + "rank": { + "type": "integer", + "description": "the overall rank of this candidate among all candidates of this feature", + "format": "int32" + }, + "csiScore": { + "type": "number", + "description": "CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID\n This is the score used for ranking structure candidates", + "format": "double" + }, + "tanimotoSimilarity": { + "type": "number", + "description": "Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", + "format": "double", + "nullable": true + }, + "mcesDistToTopHit": { + "type": "number", + "description": "Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", + "format": "double", + "nullable": true + }, + "fingerprint": { + "$ref": "#/components/schemas/BinaryFingerprint" + } + }, + "nullable": true + }, + "StoredJobSubmission": { + "required": [ + "editable", + "jobSubmission", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Unique name to identify this JobSubmission (job config)." + }, + "editable": { + "type": "boolean", + "description": "False for predefined configs which are not editable and not removable." + }, + "jobSubmission": { + "$ref": "#/components/schemas/JobSubmission" + } + } + }, + "BioTransformerParameters": { + "required": [ + "bioTransformerSequenceSteps", + "cyp450Mode", + "p2Mode" + ], + "type": "object", + "properties": { + "cyp450Mode": { + "type": "string", + "description": "Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Cyp450 mode.", + "nullable": true, + "default": "COMBINED", + "enum": [ + "RULE_BASED", + "CY_PRODUCT", + "COMBINED" + ] + }, + "p2Mode": { + "type": "string", + "description": "Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that\n require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified\n that do not need the Phase II mode.", + "nullable": true, + "default": "BT_RULE_BASED", + "enum": [ + "BT_RULE_BASED", + "P2_RULE_ONLY", + "COMBINED_RULES" + ] + }, + "useDB": { + "type": "boolean", + "description": "\"Specify if you want to enable the retrieving from database (HMDB) feature.\"", + "default": true + }, + "bioTransformerSequenceSteps": { + "type": "array", + "description": "Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can\n only be used as singletons (list size of one).", + "items": { + "$ref": "#/components/schemas/BioTransformerSequenceStep" + } + } + } + }, + "BioTransformerSequenceStep": { + "type": "object", + "properties": { + "metabolicTransformation": { + "type": "string", + "enum": [ + "PHASE_1_CYP450", + "EC_BASED", + "PHASE_2", + "HUMAN_GUT", + "ALL_HUMAN", + "ABIOTIC", + "HUMAN_CUSTOM_MULTI" + ] + }, + "iterations": { + "type": "integer", + "format": "int32" + } + } + }, + "AccountCredentials": { + "type": "object", + "properties": { + "username": { + "type": "string", + "nullable": true + }, + "password": { + "type": "string", + "nullable": true + }, + "refreshToken": { + "type": "string", + "nullable": true + } + }, + "description": "Simple object to hold account credentials, e.g. to perform login operations.\n If refreshToken is given, it is usually preferred over password based authentication.\n But in the end this is up to the respective web service." + }, + "RunOptField": { + "type": "string", + "nullable": true, + "enum": [ + "none", + "tags" + ] + }, + "Run": { + "type": "object", + "properties": { + "runId": { + "type": "string", + "description": "Identifier" + }, + "name": { + "type": "string", + "description": "Informative, human-readable name of this run" + }, + "source": { + "type": "string", + "description": "Source location" + }, + "chromatography": { + "type": "string", + "nullable": true + }, + "ionization": { + "type": "string", + "nullable": true + }, + "fragmentation": { + "type": "string", + "nullable": true + }, + "massAnalyzers": { + "type": "array", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Tag" + }, + "description": "Key: tagName, value: tag", + "nullable": true + } + } + }, + "PageMetadata": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "format": "int64" + }, + "number": { + "type": "integer", + "format": "int64" + }, + "totalElements": { + "type": "integer", + "format": "int64" + }, + "totalPages": { + "type": "integer", + "format": "int64" + } + } + }, + "PagedModelRun": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Run" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelJob": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Job" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "AdductEdgeExperimental": { + "type": "object", + "properties": { + "mzDelta": { + "type": "number", + "format": "double" + }, + "annotation": { + "type": "string" + }, + "from": { + "type": "integer", + "format": "int32" + }, + "to": { + "type": "integer", + "format": "int32" + }, + "mergedCorrelation": { + "type": "number", + "format": "float" + }, + "representativeCorrelation": { + "type": "number", + "format": "float" + }, + "ms2cosine": { + "type": "number", + "format": "float" + }, + "pvalue": { + "type": "number", + "format": "float" + }, + "intensityRatioScore": { + "type": "number", + "format": "float" + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "AdductNetworkExperimental": { + "type": "object", + "properties": { + "nodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AdductNodeExperimental" + } + }, + "edges": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AdductEdgeExperimental" + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "AdductNodeExperimental": { + "type": "object", + "properties": { + "alignedFeatureId": { + "type": "string" + }, + "mz": { + "type": "number", + "format": "double" + }, + "adductAnnotations": { + "type": "object", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "Axes": { + "type": "object", + "properties": { + "scanNumber": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "scanIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "retentionTimeInSeconds": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + }, + "TraceAnnotationExperimental": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable.", + "enum": [ + "FEATURE", + "MS2" + ] + }, + "description": { + "type": "string", + "nullable": true + }, + "index": { + "type": "integer", + "format": "int32" + }, + "from": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "to": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "TraceExperimental": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sampleId": { + "type": "string", + "nullable": true + }, + "sampleName": { + "type": "string", + "nullable": true + }, + "label": { + "type": "string" + }, + "color": { + "type": "string" + }, + "intensities": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TraceAnnotationExperimental" + } + }, + "mz": { + "type": "number", + "format": "double" + }, + "merged": { + "type": "boolean" + }, + "normalizationFactor": { + "type": "number", + "description": "Traces are stored with raw intensity values. The normalization factor maps them to relative intensities,\n such that traces from different samples can be compared.", + "format": "double" + }, + "noiseLevel": { + "type": "number", + "description": "The noise level is estimated from the median noise in the surrounding scans. It can be used to\n calculate signal-to-noise ratios.", + "format": "double" + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "TraceSetExperimental": { + "type": "object", + "properties": { + "adductNetwork": { + "$ref": "#/components/schemas/AdductNetworkExperimental" + }, + "sampleId": { + "type": "string" + }, + "sampleName": { + "type": "string" + }, + "axes": { + "$ref": "#/components/schemas/Axes" + }, + "traces": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TraceExperimental" + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "QuantTableExperimental": { + "type": "object", + "properties": { + "quantificationMeasure": { + "type": "string", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + }, + "rowType": { + "type": "string", + "enum": [ + "FEATURES", + "COMPOUNDS" + ] + }, + "rowIds": { + "type": "array", + "nullable": true, + "items": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "columnIds": { + "type": "array", + "nullable": true, + "items": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "rowNames": { + "type": "array", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "columnNames": { + "type": "array", + "nullable": true, + "items": { + "type": "string", + "nullable": true + } + }, + "values": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "PagedModelCompound": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Compound" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "FoldChange": { + "required": [ + "foldChange", + "objectId", + "quantType" + ], + "type": "object", + "properties": { + "leftGroup": { + "type": "string" + }, + "rightGroup": { + "type": "string" + }, + "aggregation": { + "type": "string", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + }, + "quantification": { + "type": "string", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + }, + "quantType": { + "type": "string", + "enum": [ + "FEATURES", + "COMPOUNDS" + ] + }, + "objectId": { + "type": "string" + }, + "foldChange": { + "type": "number", + "format": "double" + } + } + }, + "StatisticsTable": { + "type": "object", + "properties": { + "statisticsType": { + "type": "string", + "enum": [ + "FOLD_CHANGE" + ] + }, + "aggregationType": { + "type": "string", + "enum": [ + "AVG", + "MIN", + "MAX" + ] + }, + "quantificationMeasure": { + "type": "string", + "enum": [ + "APEX_INTENSITY", + "AREA_UNDER_CURVE" + ] + }, + "rowType": { + "type": "string", + "enum": [ + "FEATURES", + "COMPOUNDS" + ] + }, + "rowIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "columnNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "columnLeftGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "columnRightGroups": { + "type": "array", + "items": { + "type": "string" + } + }, + "values": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + } + } + } + }, + "SpectralLibraryMatchSummary": { + "required": [ + "databaseCompoundCount", + "referenceSpectraCount", + "spectralMatchCount" + ], + "type": "object", + "properties": { + "bestMatch": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + }, + "spectralMatchCount": { + "type": "integer", + "format": "int64" + }, + "referenceSpectraCount": { + "type": "integer", + "format": "int32" + }, + "databaseCompoundCount": { + "type": "integer", + "format": "int32" + } + } + }, + "PagedModelSpectralLibraryMatch": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SpectralLibraryMatch" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "AlignedFeatureQualityExperimental": { + "required": [ + "alignedFeatureId", + "categories", + "overallQuality" + ], + "type": "object", + "properties": { + "alignedFeatureId": { + "type": "string", + "description": "Id of the feature (aligned over runs) this quality information belongs to." + }, + "overallQuality": { + "type": "string", + "description": "Overall Quality", + "nullable": true, + "enum": [ + "NOT_APPLICABLE", + "LOWEST", + "BAD", + "DECENT", + "GOOD" + ] + }, + "categories": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Category" + }, + "description": "Contains all pre-computation quality information that belong to\n this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.," + } + }, + "description": "EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable." + }, + "Category": { + "type": "object", + "properties": { + "categoryName": { + "type": "string" + }, + "overallQuality": { + "type": "string", + "nullable": true, + "enum": [ + "NOT_APPLICABLE", + "LOWEST", + "BAD", + "DECENT", + "GOOD" + ] + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QualityItem" + } + } + } + }, + "QualityItem": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "quality": { + "type": "string", + "nullable": true, + "enum": [ + "NOT_APPLICABLE", + "LOWEST", + "BAD", + "DECENT", + "GOOD" + ] + }, + "weight": { + "type": "string", + "enum": [ + "MINOR", + "MAJOR", + "CRITICAL" + ] + } + } + }, + "AnnotatedMsMsData": { + "required": [ + "mergedMs2", + "ms2Spectra" + ], + "type": "object", + "properties": { + "mergedMs2": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + }, + "ms2Spectra": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AnnotatedSpectrum" + } + } + } + }, + "PagedModelStructureCandidateScored": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateScored" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelFormulaCandidate": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/FormulaCandidate" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelStructureCandidateFormula": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StructureCandidateFormula" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "PagedModelAlignedFeature": { + "type": "object", + "properties": { + "content": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlignedFeature" + } + }, + "page": { + "$ref": "#/components/schemas/PageMetadata" + } + } + }, + "Info": { + "required": [ + "availableILPSolvers", + "supportedILPSolvers" + ], + "type": "object", + "properties": { + "nightSkyApiVersion": { + "type": "string", + "description": "API version of the SIRIUS Nightsky API", + "nullable": true + }, + "siriusVersion": { + "type": "string", + "description": "Version of the SIRIUS application", + "nullable": true + }, + "latestSiriusVersion": { + "type": "string", + "description": "Latest available Version of the SIRIUS application", + "nullable": true + }, + "latestSiriusLink": { + "type": "string", + "description": "Link to the latest available Version of the SIRIUS application", + "nullable": true + }, + "updateAvailable": { + "type": "boolean", + "description": "true if newer SIRIUS version is available" + }, + "siriusLibVersion": { + "type": "string", + "description": "Version of the SIRIUS libraries", + "nullable": true + }, + "fingerIdLibVersion": { + "type": "string", + "description": "Version of the CSI:FingerID libraries", + "nullable": true + }, + "chemDbVersion": { + "type": "string", + "description": "Version of the Chemical Database available via SIRIUS web services", + "nullable": true + }, + "fingerIdModelVersion": { + "type": "string", + "description": "Version of the Machine learning models used for Fingerprint, Compound Class and Structure Prediction\n Not available if web service is not reachable.", + "nullable": true + }, + "fingerprintId": { + "type": "string", + "description": "Version of the Molecular Fingerprint used by SIRIUS", + "nullable": true + }, + "availableILPSolvers": { + "type": "array", + "description": "Set of solvers that are configured correctly and can be loaded", + "items": { + "type": "string", + "enum": [ + "GUROBI", + "CPLEX", + "GLPK", + "CLP" + ] + } + }, + "supportedILPSolvers": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Set of ILP Solvers that are Supported and their version information" + } + } + }, + "ConnectionCheck": { + "required": [ + "errors", + "licenseInfo" + ], + "type": "object", + "properties": { + "licenseInfo": { + "$ref": "#/components/schemas/LicenseInfo" + }, + "errors": { + "type": "array", + "description": "List of errors ordered by significance. first error should be reported and addressed first.\n Following errors might just be follow-up errors", + "items": { + "$ref": "#/components/schemas/ConnectionError" + } + } + } + }, + "ConnectionError": { + "required": [ + "errorKlass", + "errorType", + "siriusErrorCode", + "siriusMessage" + ], + "type": "object", + "properties": { + "errorType": { + "type": "string", + "enum": [ + "WARNING", + "ERROR" + ] + }, + "errorKlass": { + "type": "string", + "enum": [ + "UNKNOWN", + "INTERNET", + "LOGIN_SERVER", + "LICENSE_SERVER", + "TOKEN", + "LOGIN", + "LICENSE", + "TERMS", + "APP_SERVER" + ] + }, + "siriusErrorCode": { + "type": "integer", + "format": "int32" + }, + "siriusMessage": { + "type": "string" + }, + "serverResponseErrorCode": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "serverResponseErrorMessage": { + "type": "string", + "nullable": true + }, + "error": { + "type": "boolean" + }, + "warning": { + "type": "boolean" + } + } + }, + "LicenseInfo": { + "type": "object", + "properties": { + "userEmail": { + "type": "string", + "description": "Email address of the user account this license information belongs to.", + "nullable": true + }, + "userId": { + "type": "string", + "description": "User ID (uid) of the user account this license information belongs to.", + "nullable": true + }, + "subscription": { + "$ref": "#/components/schemas/Subscription" + }, + "consumables": { + "$ref": "#/components/schemas/SubscriptionConsumables" + }, + "terms": { + "type": "array", + "nullable": true, + "items": { + "$ref": "#/components/schemas/Term" + } + } + } + }, + "SubscriptionConsumables": { + "type": "object", + "properties": { + "pendingJobs": { + "type": "integer", + "format": "int32" + }, + "countedCompounds": { + "type": "integer", + "format": "int32" + } + }, + "nullable": true + }, + "Term": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "link": { + "type": "string", + "format": "uri" + } + }, + "nullable": true + }, + "WebServerNamespace": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + } + }, + "SecurityContext": { + "type": "object", + "properties": { + "principal": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } + } + } + } +} \ No newline at end of file From edb7c665e7203f4eb7f0c3582f2987fb398511c1 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 18:14:14 +0000 Subject: [PATCH 28/76] Auto-Generated RSirius Manual --- client-api_r/generated/man/JobsApi.Rd | 8 ++++---- client-api_r/generated/man/ProjectsApi.Rd | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/client-api_r/generated/man/JobsApi.Rd b/client-api_r/generated/man/JobsApi.Rd index fabc39fe..427036d2 100644 --- a/client-api_r/generated/man/JobsApi.Rd +++ b/client-api_r/generated/man/JobsApi.Rd @@ -605,7 +605,7 @@ Get job information and its current state and progress (if available). \if{html}{\out{

}}\preformatted{JobsApi$GetJob( project_id, job_id, - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -639,7 +639,7 @@ Get job information and its current state and progress (if available). \if{html}{\out{
}}\preformatted{JobsApi$GetJobWithHttpInfo( project_id, job_id, - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1159,7 +1159,7 @@ Start computation for given compounds and with parameters from a stored job-conf job_config_name, request_body, recompute = NULL, - opt_fields = list(command, progress), + opt_fields = list("command", "progress"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1199,7 +1199,7 @@ Start computation for given compounds and with parameters from a stored job-conf job_config_name, request_body, recompute = NULL, - opt_fields = list(command, progress), + opt_fields = list("command", "progress"), data_file = NULL, ... )}\if{html}{\out{}} diff --git a/client-api_r/generated/man/ProjectsApi.Rd b/client-api_r/generated/man/ProjectsApi.Rd index 95ac227e..740af97d 100644 --- a/client-api_r/generated/man/ProjectsApi.Rd +++ b/client-api_r/generated/man/ProjectsApi.Rd @@ -733,7 +733,7 @@ Import and Align full MS-Runs from various formats into the specified project as project_id, input_files, parameters, - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{}} @@ -770,7 +770,7 @@ Import and Align full MS-Runs from various formats into the specified project as project_id, input_files, parameters, - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{}} @@ -882,7 +882,7 @@ Import ms/ms data from the given format into the specified project-space as back input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{}} @@ -922,7 +922,7 @@ Import ms/ms data from the given format into the specified project-space as back input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{}} From 96934199f2ea5e93cc2722ec8515f05d0cf49863 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 18:24:34 +0200 Subject: [PATCH 29/76] add the newest python version --- .github/workflows/PythonTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index f1932efd..22eeeb76 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] env: SIRIUS_USER: ${{ secrets.SIRIUS_USER }} SIRIUS_PW: ${{ secrets.SIRIUS_PW }} From 49dc26ff9415d37c0b17e3f09b6656b34cd93345 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 18:25:35 +0200 Subject: [PATCH 30/76] update R versions --- .github/workflows/RManualGeneration.yml | 2 +- .github/workflows/RTest.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/RManualGeneration.yml b/.github/workflows/RManualGeneration.yml index bb7ecdad..2c863c2b 100644 --- a/.github/workflows/RManualGeneration.yml +++ b/.github/workflows/RManualGeneration.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - r-version: ["4.4.0"] + r-version: ["4.5"] steps: - uses: actions/checkout@v3 - name: Set up R ${{ matrix.r-version }} diff --git a/.github/workflows/RTest.yml b/.github/workflows/RTest.yml index 2d1c0f29..9d187537 100644 --- a/.github/workflows/RTest.yml +++ b/.github/workflows/RTest.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - r-version: ["4.0.0", "4.1.0", "4.2.0", "4.3.0", "4.4.0"] + r-version: ["4.1", "4.2", "4.3", "4.4", "4.5"] env: SIRIUS_USER: ${{ secrets.SIRIUS_USER }} SIRIUS_PW: ${{ secrets.SIRIUS_PW }} From aa220337c483e52d5deb3ec6086a2d2cae3f6281 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 18:26:34 +0200 Subject: [PATCH 31/76] manually generated and tested R package for 6.3.3-SNAPSHOT --- client-api_r/generated/DESCRIPTION | 2 +- client-api_r/generated/R/actuator_api.R | 41 +- client-api_r/generated/R/aligned_feature.R | 16 +- .../R/aligned_feature_quality_experimental.R | 10 - .../generated/R/annotated_ms_ms_data.R | 10 - client-api_r/generated/R/annotated_spectrum.R | 8 +- client-api_r/generated/R/api_client.R | 39 +- client-api_r/generated/R/basic_spectrum.R | 4 +- .../generated/R/bio_transformer_parameters.R | 20 - client-api_r/generated/R/compound.R | 12 +- client-api_r/generated/R/compound_classes.R | 12 +- .../generated/R/compound_statistics_api.R | 131 +- client-api_r/generated/R/compounds_api.R | 513 ++++- client-api_r/generated/R/computed_subtools.R | 2 +- .../generated/R/consensus_annotations_csi.R | 8 +- .../R/consensus_annotations_de_novo.R | 4 +- .../generated/R/feature_annotations.R | 12 +- client-api_r/generated/R/feature_import.R | 4 +- .../generated/R/feature_statistics_api.R | 131 +- client-api_r/generated/R/features_api.R | 1827 +++++++++++++---- client-api_r/generated/R/formula_candidate.R | 24 +- client-api_r/generated/R/info_api.R | 82 +- client-api_r/generated/R/job.R | 4 +- client-api_r/generated/R/job_submission.R | 28 +- client-api_r/generated/R/jobs_api.R | 512 ++++- .../generated/R/lcms_submission_parameters.R | 8 +- client-api_r/generated/R/license_info.R | 8 +- .../generated/R/login_and_account_api.R | 287 ++- client-api_r/generated/R/peak_annotation.R | 4 +- client-api_r/generated/R/projects_api.R | 519 ++++- client-api_r/generated/R/runs_api.R | 297 ++- .../generated/R/searchable_databases_api.R | 354 +++- client-api_r/generated/R/sirius.R | 8 +- .../generated/R/stored_job_submission.R | 4 +- .../generated/R/structure_candidate_formula.R | 4 +- .../generated/R/structure_candidate_scored.R | 4 +- client-api_r/generated/R/tag.R | 13 +- client-api_r/generated/R/tag_definition.R | 32 +- .../generated/R/tag_definition_import.R | 32 +- client-api_r/generated/R/tags_api.R | 307 ++- client-api_r/generated/R/zodiac.R | 16 +- client-api_r/generated/README.md | 8 +- client-api_r/generated/docs/AlignedFeature.md | 8 +- .../generated/docs/AnnotatedSpectrum.md | 4 +- client-api_r/generated/docs/BasicSpectrum.md | 2 +- client-api_r/generated/docs/Compound.md | 6 +- .../generated/docs/CompoundClasses.md | 6 +- .../generated/docs/CompoundStatisticsApi.md | 4 +- client-api_r/generated/docs/CompoundsApi.md | 24 +- .../generated/docs/ComputedSubtools.md | 1 + .../generated/docs/ConsensusAnnotationsCSI.md | 4 +- .../docs/ConsensusAnnotationsDeNovo.md | 2 +- .../generated/docs/FeatureAnnotations.md | 6 +- client-api_r/generated/docs/FeatureImport.md | 2 +- .../generated/docs/FeatureStatisticsApi.md | 4 +- client-api_r/generated/docs/FeaturesApi.md | 66 +- .../generated/docs/FormulaCandidate.md | 12 +- client-api_r/generated/docs/Job.md | 2 +- client-api_r/generated/docs/JobSubmission.md | 14 +- client-api_r/generated/docs/JobsApi.md | 12 +- .../docs/LcmsSubmissionParameters.md | 4 +- client-api_r/generated/docs/LicenseInfo.md | 4 +- client-api_r/generated/docs/PeakAnnotation.md | 2 +- client-api_r/generated/docs/ProjectsApi.md | 24 +- client-api_r/generated/docs/RunsApi.md | 2 +- .../generated/docs/SearchableDatabasesApi.md | 4 +- client-api_r/generated/docs/Sirius.md | 4 +- .../generated/docs/StoredJobSubmission.md | 2 +- .../docs/StructureCandidateFormula.md | 2 +- .../docs/StructureCandidateScored.md | 2 +- client-api_r/generated/docs/Tag.md | 2 +- client-api_r/generated/docs/TagDefinition.md | 6 +- .../generated/docs/TagDefinitionImport.md | 6 +- client-api_r/generated/docs/TagsApi.md | 6 +- client-api_r/generated/docs/Zodiac.md | 8 +- 75 files changed, 4353 insertions(+), 1265 deletions(-) diff --git a/client-api_r/generated/DESCRIPTION b/client-api_r/generated/DESCRIPTION index 4a64d12f..1317355b 100644 --- a/client-api_r/generated/DESCRIPTION +++ b/client-api_r/generated/DESCRIPTION @@ -1,6 +1,6 @@ Package: Rsirius Title: R Package Client for SIRIUS Nightsky API -Version: 6.3.1 +Version: 6.3.3-SNAPSHOT Author: person("OpenAPI Generator community", email = "team@openapitools.org", role = c("aut", "cre")) Maintainer: OpenAPI Generator community Description: REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 diff --git a/client-api_r/generated/R/actuator_api.R b/client-api_r/generated/R/actuator_api.R index 5aa8ed72..c313aa25 100644 --- a/client-api_r/generated/R/actuator_api.R +++ b/client-api_r/generated/R/actuator_api.R @@ -121,13 +121,40 @@ ActuatorApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "object", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "object", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/aligned_feature.R b/client-api_r/generated/R/aligned_feature.R index 19fb1927..9c36aee4 100644 --- a/client-api_r/generated/R/aligned_feature.R +++ b/client-api_r/generated/R/aligned_feature.R @@ -20,11 +20,11 @@ #' @field quality Quality of this feature. character [optional] #' @field hasMs1 If true, the feature has at lease one MS1 spectrum character [optional] #' @field hasMsMs If true, the feature has at lease one MS/MS spectrum character [optional] -#' @field msData Mass Spec data of this feature (input data) \link{MsData} [optional] -#' @field topAnnotations Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional] -#' @field topAnnotationsDeNovo Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional] +#' @field msData \link{MsData} [optional] +#' @field topAnnotations \link{FeatureAnnotations} [optional] +#' @field topAnnotationsDeNovo \link{FeatureAnnotations} [optional] #' @field computing Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results character [optional] -#' @field computedTools Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. \link{ComputedSubtools} [optional] +#' @field computedTools \link{ComputedSubtools} [optional] #' @field tags Key: tagName, value: tag named list(\link{Tag}) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -68,11 +68,11 @@ AlignedFeature <- R6::R6Class( #' @param quality Quality of this feature. #' @param hasMs1 If true, the feature has at lease one MS1 spectrum #' @param hasMsMs If true, the feature has at lease one MS/MS spectrum - #' @param msData Mass Spec data of this feature (input data) - #' @param topAnnotations Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. - #' @param topAnnotationsDeNovo Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. + #' @param msData msData + #' @param topAnnotations topAnnotations + #' @param topAnnotationsDeNovo topAnnotationsDeNovo #' @param computing Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results - #' @param computedTools Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. + #' @param computedTools computedTools #' @param tags Key: tagName, value: tag #' @param ... Other optional arguments. initialize = function(`charge`, `detectedAdducts`, `alignedFeatureId` = NULL, `compoundId` = NULL, `name` = NULL, `externalFeatureId` = NULL, `ionMass` = NULL, `rtStartSeconds` = NULL, `rtEndSeconds` = NULL, `rtApexSeconds` = NULL, `quality` = NULL, `hasMs1` = NULL, `hasMsMs` = NULL, `msData` = NULL, `topAnnotations` = NULL, `topAnnotationsDeNovo` = NULL, `computing` = NULL, `computedTools` = NULL, `tags` = NULL, ...) { diff --git a/client-api_r/generated/R/aligned_feature_quality_experimental.R b/client-api_r/generated/R/aligned_feature_quality_experimental.R index ea030f3b..e986237b 100644 --- a/client-api_r/generated/R/aligned_feature_quality_experimental.R +++ b/client-api_r/generated/R/aligned_feature_quality_experimental.R @@ -194,11 +194,6 @@ AlignedFeatureQualityExperimental <- R6::R6Class( return(FALSE) } - # check if the required `overallQuality` is null - if (is.null(self$`overallQuality`)) { - return(FALSE) - } - # check if the required `categories` is null if (is.null(self$`categories`)) { return(FALSE) @@ -218,11 +213,6 @@ AlignedFeatureQualityExperimental <- R6::R6Class( invalid_fields["alignedFeatureId"] <- "Non-nullable required field `alignedFeatureId` cannot be null." } - # check if the required `overallQuality` is null - if (is.null(self$`overallQuality`)) { - invalid_fields["overallQuality"] <- "Non-nullable required field `overallQuality` cannot be null." - } - # check if the required `categories` is null if (is.null(self$`categories`)) { invalid_fields["categories"] <- "Non-nullable required field `categories` cannot be null." diff --git a/client-api_r/generated/R/annotated_ms_ms_data.R b/client-api_r/generated/R/annotated_ms_ms_data.R index 5c9ff58f..98a443c7 100644 --- a/client-api_r/generated/R/annotated_ms_ms_data.R +++ b/client-api_r/generated/R/annotated_ms_ms_data.R @@ -153,11 +153,6 @@ AnnotatedMsMsData <- R6::R6Class( #' #' @return true if the values in all fields are valid. isValid = function() { - # check if the required `mergedMs2` is null - if (is.null(self$`mergedMs2`)) { - return(FALSE) - } - # check if the required `ms2Spectra` is null if (is.null(self$`ms2Spectra`)) { return(FALSE) @@ -172,11 +167,6 @@ AnnotatedMsMsData <- R6::R6Class( #' @return A list of invalid fields (if any). getInvalidFields = function() { invalid_fields <- list() - # check if the required `mergedMs2` is null - if (is.null(self$`mergedMs2`)) { - invalid_fields["mergedMs2"] <- "Non-nullable required field `mergedMs2` cannot be null." - } - # check if the required `ms2Spectra` is null if (is.null(self$`ms2Spectra`)) { invalid_fields["ms2Spectra"] <- "Non-nullable required field `ms2Spectra` cannot be null." diff --git a/client-api_r/generated/R/annotated_spectrum.R b/client-api_r/generated/R/annotated_spectrum.R index 96c2300f..c2ba2539 100644 --- a/client-api_r/generated/R/annotated_spectrum.R +++ b/client-api_r/generated/R/annotated_spectrum.R @@ -14,14 +14,14 @@ #' @field precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable numeric [optional] #' @field scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) integer [optional] #' @field cosineQuery True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character -#' @field precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional] +#' @field precursorPeak \link{SimplePeak} [optional] #' @field peaks The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{AnnotatedPeak}) #' @field absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. numeric [optional] #' @field maxNormFactor Factor to convert absolute intensities to MAX norm. numeric [optional] #' @field sumNormFactor Factor to convert absolute intensities to SUM norm. numeric [optional] #' @field l2NormFactor Factor to convert absolute intensities to L2 (Euclidean) norm. numeric [optional] #' @field firstPeakNormFactor Factor to convert absolute intensities to normalize intensities by first peak intensity. numeric [optional] -#' @field spectrumAnnotation Optional Annotations of this spectrum. \link{SpectrumAnnotation} [optional] +#' @field spectrumAnnotation \link{SpectrumAnnotation} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -55,13 +55,13 @@ AnnotatedSpectrum <- R6::R6Class( #' @param instrument Instrument information. #' @param precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable #' @param scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) - #' @param precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. + #' @param precursorPeak precursorPeak #' @param absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. #' @param maxNormFactor Factor to convert absolute intensities to MAX norm. #' @param sumNormFactor Factor to convert absolute intensities to SUM norm. #' @param l2NormFactor Factor to convert absolute intensities to L2 (Euclidean) norm. #' @param firstPeakNormFactor Factor to convert absolute intensities to normalize intensities by first peak intensity. - #' @param spectrumAnnotation Optional Annotations of this spectrum. + #' @param spectrumAnnotation spectrumAnnotation #' @param ... Other optional arguments. initialize = function(`cosineQuery`, `peaks`, `name` = NULL, `msLevel` = NULL, `collisionEnergy` = NULL, `instrument` = NULL, `precursorMz` = NULL, `scanNumber` = NULL, `precursorPeak` = NULL, `absIntensityFactor` = NULL, `maxNormFactor` = NULL, `sumNormFactor` = NULL, `l2NormFactor` = NULL, `firstPeakNormFactor` = NULL, `spectrumAnnotation` = NULL, ...) { if (!missing(`cosineQuery`)) { diff --git a/client-api_r/generated/R/api_client.R b/client-api_r/generated/R/api_client.R index 9d873c19..4559eb41 100644 --- a/client-api_r/generated/R/api_client.R +++ b/client-api_r/generated/R/api_client.R @@ -38,7 +38,7 @@ ApiClient <- R6::R6Class( # base path of all requests base_path = "http://localhost:8080", # user agent in the HTTP request - user_agent = "OpenAPI-Generator/6.3.1/r", + user_agent = "OpenAPI-Generator/6.3.3-SNAPSHOT/r", # default headers in the HTTP request default_headers = NULL, # username (HTTP basic authentication) @@ -210,12 +210,43 @@ ApiClient <- R6::R6Class( # has file upload? if (!is.null(file_params) && length(file_params) != 0) { - req <- req %>% req_body_multipart(!!!file_params) + # Create multipart body data + multipart_data <- list() - # add form parameters via req_body_multipart + # Add form parameters first if (!is.null(form_params) && length(form_params) != 0) { - req <- req %>% req_body_multipart(!!!form_params) + for (param_name in names(form_params)) { + param_value <- form_params[[param_name]] + is_json <- tryCatch({ + jsonlite::validate(param_value) + }, error = function(e) { + FALSE + }) + + if (is_json) { + multipart_data[[param_name]] <- curl::form_data(param_value, type = "application/json") + } else { + multipart_data[[param_name]] <- param_value + } + } + } + + # Add file parameters - handle multiple files with same name + for (param_name in names(file_params)) { + param_value <- file_params[[param_name]] + + if (is.list(param_value) && length(param_value) > 1) { + # Multiple files with same parameter name + for (i in seq_along(param_value)) { + multipart_data[[length(multipart_data) + 1]] <- param_value[[i]] + names(multipart_data)[length(multipart_data)] <- param_name + } + } else { + # Single file + multipart_data[[param_name]] <- param_value[[1]] + } } + req <- req %>% req_body_multipart(!!!multipart_data) } else { # no file upload # add form parameters via req_body_form if (!is.null(form_params) && length(form_params) != 0) { diff --git a/client-api_r/generated/R/basic_spectrum.R b/client-api_r/generated/R/basic_spectrum.R index 467d5065..f187da6d 100644 --- a/client-api_r/generated/R/basic_spectrum.R +++ b/client-api_r/generated/R/basic_spectrum.R @@ -14,7 +14,7 @@ #' @field precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable numeric [optional] #' @field scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) integer [optional] #' @field cosineQuery True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character -#' @field precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional] +#' @field precursorPeak \link{SimplePeak} [optional] #' @field peaks The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{SimplePeak}) #' @field absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. numeric [optional] #' @field maxNormFactor Factor to convert absolute intensities to MAX norm. numeric [optional] @@ -53,7 +53,7 @@ BasicSpectrum <- R6::R6Class( #' @param instrument Instrument information. #' @param precursorMz Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable #' @param scanNumber Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) - #' @param precursorPeak A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. + #' @param precursorPeak precursorPeak #' @param absIntensityFactor Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. #' @param maxNormFactor Factor to convert absolute intensities to MAX norm. #' @param sumNormFactor Factor to convert absolute intensities to SUM norm. diff --git a/client-api_r/generated/R/bio_transformer_parameters.R b/client-api_r/generated/R/bio_transformer_parameters.R index b1822162..d7cdde6b 100644 --- a/client-api_r/generated/R/bio_transformer_parameters.R +++ b/client-api_r/generated/R/bio_transformer_parameters.R @@ -215,16 +215,6 @@ BioTransformerParameters <- R6::R6Class( #' #' @return true if the values in all fields are valid. isValid = function() { - # check if the required `cyp450Mode` is null - if (is.null(self$`cyp450Mode`)) { - return(FALSE) - } - - # check if the required `p2Mode` is null - if (is.null(self$`p2Mode`)) { - return(FALSE) - } - # check if the required `bioTransformerSequenceSteps` is null if (is.null(self$`bioTransformerSequenceSteps`)) { return(FALSE) @@ -239,16 +229,6 @@ BioTransformerParameters <- R6::R6Class( #' @return A list of invalid fields (if any). getInvalidFields = function() { invalid_fields <- list() - # check if the required `cyp450Mode` is null - if (is.null(self$`cyp450Mode`)) { - invalid_fields["cyp450Mode"] <- "Non-nullable required field `cyp450Mode` cannot be null." - } - - # check if the required `p2Mode` is null - if (is.null(self$`p2Mode`)) { - invalid_fields["p2Mode"] <- "Non-nullable required field `p2Mode` cannot be null." - } - # check if the required `bioTransformerSequenceSteps` is null if (is.null(self$`bioTransformerSequenceSteps`)) { invalid_fields["bioTransformerSequenceSteps"] <- "Non-nullable required field `bioTransformerSequenceSteps` cannot be null." diff --git a/client-api_r/generated/R/compound.R b/client-api_r/generated/R/compound.R index 484e9e3c..112e4d67 100644 --- a/client-api_r/generated/R/compound.R +++ b/client-api_r/generated/R/compound.R @@ -13,9 +13,9 @@ #' @field rtEndSeconds The merged/consensus retention time end (latest rt) of this compound numeric [optional] #' @field neutralMass Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass numeric [optional] #' @field features List of aligned features (adducts) that belong to the same (this) compound list(\link{AlignedFeature}) [optional] -#' @field consensusAnnotations The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsCSI} [optional] -#' @field consensusAnnotationsDeNovo The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsDeNovo} [optional] -#' @field customAnnotations Alternative annotations selected by the User. \link{ConsensusAnnotationsCSI} [optional] +#' @field consensusAnnotations \link{ConsensusAnnotationsCSI} [optional] +#' @field consensusAnnotationsDeNovo \link{ConsensusAnnotationsDeNovo} [optional] +#' @field customAnnotations \link{ConsensusAnnotationsCSI} [optional] #' @field tags Key: tagName, value: tag named list(\link{Tag}) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -43,9 +43,9 @@ Compound <- R6::R6Class( #' @param rtEndSeconds The merged/consensus retention time end (latest rt) of this compound #' @param neutralMass Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass #' @param features List of aligned features (adducts) that belong to the same (this) compound - #' @param consensusAnnotations The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available - #' @param consensusAnnotationsDeNovo The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available - #' @param customAnnotations Alternative annotations selected by the User. + #' @param consensusAnnotations consensusAnnotations + #' @param consensusAnnotationsDeNovo consensusAnnotationsDeNovo + #' @param customAnnotations customAnnotations #' @param tags Key: tagName, value: tag #' @param ... Other optional arguments. initialize = function(`compoundId` = NULL, `name` = NULL, `rtStartSeconds` = NULL, `rtEndSeconds` = NULL, `neutralMass` = NULL, `features` = NULL, `consensusAnnotations` = NULL, `consensusAnnotationsDeNovo` = NULL, `customAnnotations` = NULL, `tags` = NULL, ...) { diff --git a/client-api_r/generated/R/compound_classes.R b/client-api_r/generated/R/compound_classes.R index 792a4bb9..c80ecdb4 100644 --- a/client-api_r/generated/R/compound_classes.R +++ b/client-api_r/generated/R/compound_classes.R @@ -7,9 +7,9 @@ #' @title CompoundClasses #' @description CompoundClasses Class #' @format An \code{R6Class} generator object -#' @field npcPathway Pathway level NPC class with the highest probability \link{CompoundClass} [optional] -#' @field npcSuperclass Superclass level NPC class with the highest probability \link{CompoundClass} [optional] -#' @field npcClass Class level NPC class with the highest probability \link{CompoundClass} [optional] +#' @field npcPathway \link{CompoundClass} [optional] +#' @field npcSuperclass \link{CompoundClass} [optional] +#' @field npcClass \link{CompoundClass} [optional] #' @field classyFireLineage Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation list(\link{CompoundClass}) [optional] #' @field classyFireAlternatives Alternative ClassyFire classes with high probability that do not fit into the linage list(\link{CompoundClass}) [optional] #' @importFrom R6 R6Class @@ -27,9 +27,9 @@ CompoundClasses <- R6::R6Class( #' @description #' Initialize a new CompoundClasses class. #' - #' @param npcPathway Pathway level NPC class with the highest probability - #' @param npcSuperclass Superclass level NPC class with the highest probability - #' @param npcClass Class level NPC class with the highest probability + #' @param npcPathway npcPathway + #' @param npcSuperclass npcSuperclass + #' @param npcClass npcClass #' @param classyFireLineage Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation #' @param classyFireAlternatives Alternative ClassyFire classes with high probability that do not fit into the linage #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/compound_statistics_api.R b/client-api_r/generated/R/compound_statistics_api.R index 48ff3322..742937ee 100644 --- a/client-api_r/generated/R/compound_statistics_api.R +++ b/client-api_r/generated/R/compound_statistics_api.R @@ -107,12 +107,12 @@ CompoundStatisticsApi <- R6::R6Class( #' @param right_group_name name of the right tag group. #' @param aggregation (optional) aggregation type. (default value: "AVG") #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") - #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param opt_fields (optional) job opt fields. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Job - ComputeCompoundFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + ComputeCompoundFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list("progress"), data_file = NULL, ...) { local_var_response <- self$ComputeCompoundFoldChangesExperimentalWithHttpInfo(project_id, left_group_name, right_group_name, aggregation, quantification, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -133,12 +133,12 @@ CompoundStatisticsApi <- R6::R6Class( #' @param right_group_name name of the right tag group. #' @param aggregation (optional) aggregation type. (default value: "AVG") #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") - #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param opt_fields (optional) job opt fields. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - ComputeCompoundFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + ComputeCompoundFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list("progress"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -220,13 +220,40 @@ CompoundStatisticsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -447,13 +474,40 @@ CompoundStatisticsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -553,13 +607,40 @@ CompoundStatisticsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/compounds_api.R b/client-api_r/generated/R/compounds_api.R index 14fff211..a72c6b36 100644 --- a/client-api_r/generated/R/compounds_api.R +++ b/client-api_r/generated/R/compounds_api.R @@ -36,7 +36,7 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. -#' var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +#' var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. #' #' #[EXPERIMENTAL] Tags with the same name will be overwritten #' api_instance <- rsirius_api$new() @@ -254,13 +254,13 @@ CompoundsApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param compound_import the compound data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) - #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[Compound] - AddCompounds = function(project_id, compound_import, profile = NULL, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + AddCompounds = function(project_id, compound_import, profile = NULL, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { local_var_response <- self$AddCompoundsWithHttpInfo(project_id, compound_import, profile, opt_fields, opt_fields_features, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -279,13 +279,13 @@ CompoundsApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param compound_import the compound data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) - #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[Compound]) with additional information such as HTTP status code, headers - AddCompoundsWithHttpInfo = function(project_id, compound_import, profile = NULL, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + AddCompoundsWithHttpInfo = function(project_id, compound_import, profile = NULL, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -333,8 +333,12 @@ CompoundsApi <- R6::R6Class( if (!is.null(`compound_import`)) { body.items <- paste(unlist(lapply(`compound_import`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -371,13 +375,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -451,8 +482,12 @@ CompoundsApi <- R6::R6Class( if (!is.null(`tag`)) { body.items <- paste(unlist(lapply(`tag`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -493,13 +528,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -612,13 +674,13 @@ CompoundsApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param compound_id identifier of the compound (group of ion identities) to access. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) - #' @param opt_fields_features (optional) No description (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Compound - GetCompound = function(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + GetCompound = function(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { local_var_response <- self$GetCompoundWithHttpInfo(project_id, compound_id, ms_data_search_prepared, opt_fields, opt_fields_features, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -637,13 +699,13 @@ CompoundsApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param compound_id identifier of the compound (group of ion identities) to access. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) - #' @param opt_fields_features (optional) No description (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Compound) with additional information such as HTTP status code, headers - GetCompoundWithHttpInfo = function(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + GetCompoundWithHttpInfo = function(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -721,13 +783,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Compound", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Compound", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -824,13 +913,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -938,13 +1054,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1049,13 +1192,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1173,13 +1343,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1201,12 +1398,12 @@ CompoundsApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelCompound - GetCompoundsByGroupExperimental = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetCompoundsByGroupExperimental = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetCompoundsByGroupExperimentalWithHttpInfo(project_id, group_name, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1227,12 +1424,12 @@ CompoundsApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelCompound) with additional information such as HTTP status code, headers - GetCompoundsByGroupExperimentalWithHttpInfo = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetCompoundsByGroupExperimentalWithHttpInfo = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1313,13 +1510,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1449,13 +1673,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1477,13 +1728,13 @@ CompoundsApi <- R6::R6Class( #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) - #' @param opt_fields_features (optional) No description (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelCompound - GetCompoundsPaged = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + GetCompoundsPaged = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { local_var_response <- self$GetCompoundsPagedWithHttpInfo(project_id, page, size, sort, ms_data_search_prepared, opt_fields, opt_fields_features, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1504,13 +1755,13 @@ CompoundsApi <- R6::R6Class( #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) - #' @param opt_fields_features (optional) No description (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) + #' @param opt_fields_features (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelCompound) with additional information such as HTTP status code, headers - GetCompoundsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), opt_fields_features = list(NULL), data_file = NULL, ...) { + GetCompoundsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list("none"), opt_fields_features = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1597,13 +1848,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1703,13 +1981,40 @@ CompoundsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/computed_subtools.R b/client-api_r/generated/R/computed_subtools.R index 4b3c1eda..0d434051 100644 --- a/client-api_r/generated/R/computed_subtools.R +++ b/client-api_r/generated/R/computed_subtools.R @@ -1,7 +1,7 @@ #' Create a new ComputedSubtools #' #' @description -#' ComputedSubtools Class +#' Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. #' #' @docType class #' @title ComputedSubtools diff --git a/client-api_r/generated/R/consensus_annotations_csi.R b/client-api_r/generated/R/consensus_annotations_csi.R index 18fca992..c8f8baa2 100644 --- a/client-api_r/generated/R/consensus_annotations_csi.R +++ b/client-api_r/generated/R/consensus_annotations_csi.R @@ -8,10 +8,10 @@ #' @description ConsensusAnnotationsCSI Class #' @format An \code{R6Class} generator object #' @field molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional] -#' @field compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional] +#' @field compoundClasses \link{CompoundClasses} [optional] #' @field supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. list(character) [optional] #' @field selectionCriterion Null if this is a custom selection character [optional] -#' @field csiFingerIdStructure Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. \link{StructureCandidate} [optional] +#' @field csiFingerIdStructure \link{StructureCandidate} [optional] #' @field confidenceExactMatch Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported numeric [optional] #' @field confidenceApproxMatch Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported numeric [optional] #' @importFrom R6 R6Class @@ -32,10 +32,10 @@ ConsensusAnnotationsCSI <- R6::R6Class( #' Initialize a new ConsensusAnnotationsCSI class. #' #' @param molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. - #' @param compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. + #' @param compoundClasses compoundClasses #' @param supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. #' @param selectionCriterion Null if this is a custom selection - #' @param csiFingerIdStructure Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. + #' @param csiFingerIdStructure csiFingerIdStructure #' @param confidenceExactMatch Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported #' @param confidenceApproxMatch Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/consensus_annotations_de_novo.R b/client-api_r/generated/R/consensus_annotations_de_novo.R index 774ff391..86f8a8cf 100644 --- a/client-api_r/generated/R/consensus_annotations_de_novo.R +++ b/client-api_r/generated/R/consensus_annotations_de_novo.R @@ -8,7 +8,7 @@ #' @description ConsensusAnnotationsDeNovo Class #' @format An \code{R6Class} generator object #' @field molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional] -#' @field compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional] +#' @field compoundClasses \link{CompoundClasses} [optional] #' @field supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. list(character) [optional] #' @field selectionCriterion Criterion that was used to select the consensus annotation. character [optional] #' @importFrom R6 R6Class @@ -26,7 +26,7 @@ ConsensusAnnotationsDeNovo <- R6::R6Class( #' Initialize a new ConsensusAnnotationsDeNovo class. #' #' @param molecularFormula Molecular formula of the consensus annotation Might be null if no consensus formula is available. - #' @param compoundClasses Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. + #' @param compoundClasses compoundClasses #' @param supportingFeatureIds FeatureIds where the topAnnotation supports this annotation. #' @param selectionCriterion Criterion that was used to select the consensus annotation. #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/feature_annotations.R b/client-api_r/generated/R/feature_annotations.R index e48db544..d076594a 100644 --- a/client-api_r/generated/R/feature_annotations.R +++ b/client-api_r/generated/R/feature_annotations.R @@ -7,9 +7,9 @@ #' @title FeatureAnnotations #' @description FeatureAnnotations Class #' @format An \code{R6Class} generator object -#' @field formulaAnnotation Best matching FormulaCandidate. \link{FormulaCandidate} [optional] -#' @field structureAnnotation Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. \link{StructureCandidateScored} [optional] -#' @field compoundClassAnnotation Best matching compound classes that correspond to the formulaAnnotation \link{CompoundClasses} [optional] +#' @field formulaAnnotation \link{FormulaCandidate} [optional] +#' @field structureAnnotation \link{StructureCandidateScored} [optional] +#' @field compoundClassAnnotation \link{CompoundClasses} [optional] #' @field confidenceExactMatch Confidence Score that represents the confidence whether the top hit is correct. numeric [optional] #' @field confidenceApproxMatch Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. numeric [optional] #' @field expansiveSearchState Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) character [optional] @@ -33,9 +33,9 @@ FeatureAnnotations <- R6::R6Class( #' @description #' Initialize a new FeatureAnnotations class. #' - #' @param formulaAnnotation Best matching FormulaCandidate. - #' @param structureAnnotation Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. - #' @param compoundClassAnnotation Best matching compound classes that correspond to the formulaAnnotation + #' @param formulaAnnotation formulaAnnotation + #' @param structureAnnotation structureAnnotation + #' @param compoundClassAnnotation compoundClassAnnotation #' @param confidenceExactMatch Confidence Score that represents the confidence whether the top hit is correct. #' @param confidenceApproxMatch Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. #' @param expansiveSearchState Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) diff --git a/client-api_r/generated/R/feature_import.R b/client-api_r/generated/R/feature_import.R index 51c6cdd1..f9605b50 100644 --- a/client-api_r/generated/R/feature_import.R +++ b/client-api_r/generated/R/feature_import.R @@ -16,7 +16,7 @@ #' @field rtEndSeconds numeric [optional] #' @field rtApexSeconds numeric [optional] #' @field dataQuality A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. character [optional] -#' @field mergedMs1 Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. \link{BasicSpectrum} [optional] +#' @field mergedMs1 \link{BasicSpectrum} [optional] #' @field ms1Spectra List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. list(\link{BasicSpectrum}) [optional] #' @field ms2Spectra List of MS/MS spectra that belong to this feature. list(\link{BasicSpectrum}) [optional] #' @importFrom R6 R6Class @@ -50,7 +50,7 @@ FeatureImport <- R6::R6Class( #' @param rtEndSeconds rtEndSeconds #' @param rtApexSeconds rtApexSeconds #' @param dataQuality A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. - #' @param mergedMs1 Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. + #' @param mergedMs1 mergedMs1 #' @param ms1Spectra List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. #' @param ms2Spectra List of MS/MS spectra that belong to this feature. #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/feature_statistics_api.R b/client-api_r/generated/R/feature_statistics_api.R index 87839580..cdd55b6d 100644 --- a/client-api_r/generated/R/feature_statistics_api.R +++ b/client-api_r/generated/R/feature_statistics_api.R @@ -107,12 +107,12 @@ FeatureStatisticsApi <- R6::R6Class( #' @param right_group_name name of the right tag group. #' @param aggregation (optional) aggregation type. (default value: "AVG") #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") - #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param opt_fields (optional) job opt fields. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Job - ComputeAlignedFeatureFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + ComputeAlignedFeatureFoldChangesExperimental = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list("progress"), data_file = NULL, ...) { local_var_response <- self$ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo(project_id, left_group_name, right_group_name, aggregation, quantification, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -133,12 +133,12 @@ FeatureStatisticsApi <- R6::R6Class( #' @param right_group_name name of the right tag group. #' @param aggregation (optional) aggregation type. (default value: "AVG") #' @param quantification (optional) quantification type. (default value: "APEX_INTENSITY") - #' @param opt_fields (optional) job opt fields. (default value: [progress]) + #' @param opt_fields (optional) job opt fields. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list(progress), data_file = NULL, ...) { + ComputeAlignedFeatureFoldChangesExperimentalWithHttpInfo = function(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = list("progress"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -220,13 +220,40 @@ FeatureStatisticsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -447,13 +474,40 @@ FeatureStatisticsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -553,13 +607,40 @@ FeatureStatisticsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/features_api.R b/client-api_r/generated/R/features_api.R index 5ca56184..89e76984 100644 --- a/client-api_r/generated/R/features_api.R +++ b/client-api_r/generated/R/features_api.R @@ -51,7 +51,7 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. -#' var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +#' var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. #' #' #[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project #' api_instance <- rsirius_api$new() @@ -783,12 +783,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param feature_import the feature data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[AlignedFeature] - AddAlignedFeatures = function(project_id, feature_import, profile = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + AddAlignedFeatures = function(project_id, feature_import, profile = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$AddAlignedFeaturesWithHttpInfo(project_id, feature_import, profile, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -807,12 +807,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to import into. #' @param feature_import the feature data to be imported #' @param profile (optional) profile describing the instrument used to measure the data. Used to merge spectra. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[AlignedFeature]) with additional information such as HTTP status code, headers - AddAlignedFeaturesWithHttpInfo = function(project_id, feature_import, profile = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + AddAlignedFeaturesWithHttpInfo = function(project_id, feature_import, profile = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -850,8 +850,12 @@ FeaturesApi <- R6::R6Class( if (!is.null(`feature_import`)) { body.items <- paste(unlist(lapply(`feature_import`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -888,13 +892,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -999,13 +1030,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1079,8 +1137,12 @@ FeaturesApi <- R6::R6Class( if (!is.null(`tag`)) { body.items <- paste(unlist(lapply(`tag`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -1121,13 +1183,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1422,13 +1511,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1448,12 +1564,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id identifier of feature (aligned over runs) to access. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return AlignedFeature - GetAlignedFeature = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeature = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetAlignedFeatureWithHttpInfo(project_id, aligned_feature_id, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1472,12 +1588,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id identifier of feature (aligned over runs) to access. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (AlignedFeature) with additional information such as HTTP status code, headers - GetAlignedFeatureWithHttpInfo = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeatureWithHttpInfo = function(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1545,13 +1661,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeature", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeature", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1651,13 +1794,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeatureQualityExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeatureQualityExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1676,12 +1846,12 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[AlignedFeature] - GetAlignedFeatures = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeatures = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetAlignedFeaturesWithHttpInfo(project_id, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1699,12 +1869,12 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[AlignedFeature]) with additional information such as HTTP status code, headers - GetAlignedFeaturesWithHttpInfo = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeaturesWithHttpInfo = function(project_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1763,13 +1933,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1791,12 +1988,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelAlignedFeature - GetAlignedFeaturesByGroupExperimental = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeaturesByGroupExperimental = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetAlignedFeaturesByGroupExperimentalWithHttpInfo(project_id, group_name, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1817,12 +2014,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelAlignedFeature) with additional information such as HTTP status code, headers - GetAlignedFeaturesByGroupExperimentalWithHttpInfo = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeaturesByGroupExperimentalWithHttpInfo = function(project_id, group_name, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1903,13 +2100,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2039,13 +2263,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2067,12 +2318,12 @@ FeaturesApi <- R6::R6Class( #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelAlignedFeature - GetAlignedFeaturesPaged = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeaturesPaged = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetAlignedFeaturesPagedWithHttpInfo(project_id, page, size, sort, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -2093,12 +2344,12 @@ FeaturesApi <- R6::R6Class( #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelAlignedFeature) with additional information such as HTTP status code, headers - GetAlignedFeaturesPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetAlignedFeaturesPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2175,13 +2426,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2292,13 +2570,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "CompoundClasses", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "CompoundClasses", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2409,13 +2714,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "CanopusPrediction", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "CanopusPrediction", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2527,13 +2859,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2553,12 +2912,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[StructureCandidateScored] - GetDeNovoStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetDeNovoStructureCandidatesByFormulaWithHttpInfo(project_id, aligned_feature_id, formula_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -2577,12 +2936,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[StructureCandidateScored]) with additional information such as HTTP status code, headers - GetDeNovoStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2656,13 +3015,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2685,12 +3071,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateScored - GetDeNovoStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo(project_id, aligned_feature_id, formula_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -2712,12 +3098,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateScored) with additional information such as HTTP status code, headers - GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetDeNovoStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2809,13 +3195,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -2837,12 +3250,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateFormula - GetDeNovoStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetDeNovoStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetDeNovoStructureCandidatesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -2863,12 +3276,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateFormula) with additional information such as HTTP status code, headers - GetDeNovoStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetDeNovoStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -2951,13 +3364,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3054,13 +3494,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3171,13 +3638,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[numeric]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[numeric]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3293,13 +3787,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3420,13 +3941,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3447,12 +3995,12 @@ FeaturesApi <- R6::R6Class( #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return FormulaCandidate - GetFormulaCandidate = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetFormulaCandidate = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetFormulaCandidateWithHttpInfo(project_id, aligned_feature_id, formula_id, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -3472,12 +4020,12 @@ FeaturesApi <- R6::R6Class( #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (FormulaCandidate) with additional information such as HTTP status code, headers - GetFormulaCandidateWithHttpInfo = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetFormulaCandidateWithHttpInfo = function(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -3554,13 +4102,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "FormulaCandidate", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "FormulaCandidate", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3677,13 +4252,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[FormulaCandidate]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FormulaCandidate]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3706,12 +4308,12 @@ FeaturesApi <- R6::R6Class( #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelFormulaCandidate - GetFormulaCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetFormulaCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetFormulaCandidatesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, ms_data_search_prepared, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -3733,12 +4335,12 @@ FeaturesApi <- R6::R6Class( #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. #' @param ms_data_search_prepared (optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelFormulaCandidate) with additional information such as HTTP status code, headers - GetFormulaCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list(NULL), data_file = NULL, ...) { + GetFormulaCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, ms_data_search_prepared = FALSE, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -3824,13 +4426,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelFormulaCandidate", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelFormulaCandidate", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -3941,13 +4570,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "FragmentationTree", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "FragmentationTree", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4058,13 +4714,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "IsotopePatternAnnotation", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "IsotopePatternAnnotation", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4175,13 +4858,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "LipidAnnotation", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "LipidAnnotation", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4286,13 +4996,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "MsData", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "MsData", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4400,13 +5137,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4426,12 +5190,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. #' @param match_id id of the library match to be returned. - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return SpectralLibraryMatch - GetSpectralLibraryMatch = function(project_id, aligned_feature_id, match_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetSpectralLibraryMatch = function(project_id, aligned_feature_id, match_id, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetSpectralLibraryMatchWithHttpInfo(project_id, aligned_feature_id, match_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -4450,12 +5214,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. #' @param match_id id of the library match to be returned. - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (SpectralLibraryMatch) with additional information such as HTTP status code, headers - GetSpectralLibraryMatchWithHttpInfo = function(project_id, aligned_feature_id, match_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetSpectralLibraryMatchWithHttpInfo = function(project_id, aligned_feature_id, match_id, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4529,13 +5293,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatch", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatch", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4662,13 +5453,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SpectralLibraryMatch]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SpectralLibraryMatch]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4693,12 +5511,12 @@ FeaturesApi <- R6::R6Class( #' @param min_shared_peaks (optional) No description (default value: 1) #' @param min_similarity (optional) No description (default value: 0.2) #' @param inchi_key (optional) No description (default value: "") - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelSpectralLibraryMatch - GetSpectralLibraryMatchesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list(NULL), data_file = NULL, ...) { + GetSpectralLibraryMatchesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetSpectralLibraryMatchesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, min_shared_peaks, min_similarity, inchi_key, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -4722,12 +5540,12 @@ FeaturesApi <- R6::R6Class( #' @param min_shared_peaks (optional) No description (default value: 1) #' @param min_similarity (optional) No description (default value: 0.2) #' @param inchi_key (optional) No description (default value: "") - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelSpectralLibraryMatch) with additional information such as HTTP status code, headers - GetSpectralLibraryMatchesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list(NULL), data_file = NULL, ...) { + GetSpectralLibraryMatchesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -4819,13 +5637,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelSpectralLibraryMatch", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelSpectralLibraryMatch", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -4940,13 +5785,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatchSummary", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatchSummary", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5073,13 +5945,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5190,13 +6089,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5328,13 +6254,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5353,12 +6306,12 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[StructureCandidateFormula] - GetStructureCandidates = function(project_id, aligned_feature_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidates = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesWithHttpInfo(project_id, aligned_feature_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -5376,12 +6329,12 @@ FeaturesApi <- R6::R6Class( #' #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the structure candidates belong to. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[StructureCandidateFormula]) with additional information such as HTTP status code, headers - GetStructureCandidatesWithHttpInfo = function(project_id, aligned_feature_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidatesWithHttpInfo = function(project_id, aligned_feature_id, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -5446,13 +6399,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5472,12 +6452,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return array[StructureCandidateScored] - GetStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidatesByFormula = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesByFormulaWithHttpInfo(project_id, aligned_feature_id, formula_id, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -5496,12 +6476,12 @@ FeaturesApi <- R6::R6Class( #' @param project_id project-space to read from. #' @param aligned_feature_id feature (aligned over runs) the formula result belongs to. #' @param formula_id identifier of the requested formula result - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (array[StructureCandidateScored]) with additional information such as HTTP status code, headers - GetStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidatesByFormulaWithHttpInfo = function(project_id, aligned_feature_id, formula_id, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -5575,13 +6555,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5604,12 +6611,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateScored - GetStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidatesByFormulaPaged = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesByFormulaPagedWithHttpInfo(project_id, aligned_feature_id, formula_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -5631,12 +6638,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateScored) with additional information such as HTTP status code, headers - GetStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidatesByFormulaPagedWithHttpInfo = function(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -5728,13 +6735,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5756,12 +6790,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelStructureCandidateFormula - GetStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidatesPaged = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetStructureCandidatesPagedWithHttpInfo(project_id, aligned_feature_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -5782,12 +6816,12 @@ FeaturesApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelStructureCandidateFormula) with additional information such as HTTP status code, headers - GetStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetStructureCandidatesPagedWithHttpInfo = function(project_id, aligned_feature_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -5870,13 +6904,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -5976,13 +7037,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -6087,13 +7175,40 @@ FeaturesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/formula_candidate.R b/client-api_r/generated/R/formula_candidate.R index f555dbfb..fd2168a1 100644 --- a/client-api_r/generated/R/formula_candidate.R +++ b/client-api_r/generated/R/formula_candidate.R @@ -20,13 +20,13 @@ #' @field numOfExplainablePeaks integer [optional] #' @field totalExplainedIntensity numeric [optional] #' @field medianMassDeviation \link{Deviation} [optional] -#' @field fragmentationTree The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). \link{FragmentationTree} [optional] -#' @field annotatedSpectrum Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses \link{AnnotatedSpectrum} [optional] -#' @field isotopePatternAnnotation The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. \link{IsotopePatternAnnotation} [optional] -#' @field lipidAnnotation ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid \link{LipidAnnotation} [optional] +#' @field fragmentationTree \link{FragmentationTree} [optional] +#' @field annotatedSpectrum \link{AnnotatedSpectrum} [optional] +#' @field isotopePatternAnnotation \link{IsotopePatternAnnotation} [optional] +#' @field lipidAnnotation \link{LipidAnnotation} [optional] #' @field predictedFingerprint Probabilistic molecular fingerprint predicted by CSI:FingerID list(numeric) [optional] -#' @field compoundClasses Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) \link{CompoundClasses} [optional] -#' @field canopusPrediction All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) \link{CanopusPrediction} [optional] +#' @field compoundClasses \link{CompoundClasses} [optional] +#' @field canopusPrediction \link{CanopusPrediction} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -70,13 +70,13 @@ FormulaCandidate <- R6::R6Class( #' @param numOfExplainablePeaks numOfExplainablePeaks #' @param totalExplainedIntensity totalExplainedIntensity #' @param medianMassDeviation medianMassDeviation - #' @param fragmentationTree The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). - #' @param annotatedSpectrum Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses - #' @param isotopePatternAnnotation The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. - #' @param lipidAnnotation ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid + #' @param fragmentationTree fragmentationTree + #' @param annotatedSpectrum annotatedSpectrum + #' @param isotopePatternAnnotation isotopePatternAnnotation + #' @param lipidAnnotation lipidAnnotation #' @param predictedFingerprint Probabilistic molecular fingerprint predicted by CSI:FingerID - #' @param compoundClasses Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) - #' @param canopusPrediction All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) + #' @param compoundClasses compoundClasses + #' @param canopusPrediction canopusPrediction #' @param ... Other optional arguments. initialize = function(`formulaId` = NULL, `molecularFormula` = NULL, `adduct` = NULL, `rank` = NULL, `siriusScoreNormalized` = NULL, `siriusScore` = NULL, `isotopeScore` = NULL, `treeScore` = NULL, `zodiacScore` = NULL, `numOfExplainedPeaks` = NULL, `numOfExplainablePeaks` = NULL, `totalExplainedIntensity` = NULL, `medianMassDeviation` = NULL, `fragmentationTree` = NULL, `annotatedSpectrum` = NULL, `isotopePatternAnnotation` = NULL, `lipidAnnotation` = NULL, `predictedFingerprint` = NULL, `compoundClasses` = NULL, `canopusPrediction` = NULL, ...) { if (!is.null(`formulaId`)) { diff --git a/client-api_r/generated/R/info_api.R b/client-api_r/generated/R/info_api.R index 1456a600..cd58a20d 100644 --- a/client-api_r/generated/R/info_api.R +++ b/client-api_r/generated/R/info_api.R @@ -124,13 +124,40 @@ InfoApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ConnectionCheck", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "ConnectionCheck", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -218,13 +245,40 @@ InfoApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Info", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Info", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/job.R b/client-api_r/generated/R/job.R index abf3d2a9..0417d4d6 100644 --- a/client-api_r/generated/R/job.R +++ b/client-api_r/generated/R/job.R @@ -9,7 +9,7 @@ #' @format An \code{R6Class} generator object #' @field id Unique identifier to access the job via the API character [optional] #' @field command Command string of the executed Task character [optional] -#' @field progress Optional progress information of this job \link{JobProgress} [optional] +#' @field progress \link{JobProgress} [optional] #' @field affectedCompoundIds List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished list(character) [optional] #' @field affectedAlignedFeatureIds List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished list(character) [optional] #' @field jobEffect Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested character [optional] @@ -31,7 +31,7 @@ Job <- R6::R6Class( #' #' @param id Unique identifier to access the job via the API #' @param command Command string of the executed Task - #' @param progress Optional progress information of this job + #' @param progress progress #' @param affectedCompoundIds List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished #' @param affectedAlignedFeatureIds List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished #' @param jobEffect Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested diff --git a/client-api_r/generated/R/job_submission.R b/client-api_r/generated/R/job_submission.R index e78b74b4..15054183 100644 --- a/client-api_r/generated/R/job_submission.R +++ b/client-api_r/generated/R/job_submission.R @@ -13,13 +13,13 @@ #' @field enforcedAdducts Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- list(character) [optional] #' @field detectableAdducts Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- list(character) [optional] #' @field recompute Indicate if already existing result for a tool to be executed should be overwritten or not. character [optional] -#' @field spectraSearchParams Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. \link{SpectralLibrarySearch} [optional] -#' @field formulaIdParams Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. \link{Sirius} [optional] -#' @field zodiacParams Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. \link{Zodiac} [optional] -#' @field fingerprintPredictionParams Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. \link{FingerprintPrediction} [optional] -#' @field canopusParams Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. \link{Canopus} [optional] -#' @field structureDbSearchParams Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. \link{StructureDbSearch} [optional] -#' @field msNovelistParams Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. \link{MsNovelist} [optional] +#' @field spectraSearchParams \link{SpectralLibrarySearch} [optional] +#' @field formulaIdParams \link{Sirius} [optional] +#' @field zodiacParams \link{Zodiac} [optional] +#' @field fingerprintPredictionParams \link{FingerprintPrediction} [optional] +#' @field canopusParams \link{Canopus} [optional] +#' @field structureDbSearchParams \link{StructureDbSearch} [optional] +#' @field msNovelistParams \link{MsNovelist} [optional] #' @field configMap As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. named list(character) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -51,13 +51,13 @@ JobSubmission <- R6::R6Class( #' @param enforcedAdducts Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- #' @param detectableAdducts Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- #' @param recompute Indicate if already existing result for a tool to be executed should be overwritten or not. - #' @param spectraSearchParams Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. - #' @param formulaIdParams Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. - #' @param zodiacParams Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. - #' @param fingerprintPredictionParams Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. - #' @param canopusParams Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. - #' @param structureDbSearchParams Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. - #' @param msNovelistParams Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. + #' @param spectraSearchParams spectraSearchParams + #' @param formulaIdParams formulaIdParams + #' @param zodiacParams zodiacParams + #' @param fingerprintPredictionParams fingerprintPredictionParams + #' @param canopusParams canopusParams + #' @param structureDbSearchParams structureDbSearchParams + #' @param msNovelistParams msNovelistParams #' @param configMap As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. #' @param ... Other optional arguments. initialize = function(`compoundIds` = NULL, `alignedFeatureIds` = NULL, `fallbackAdducts` = NULL, `enforcedAdducts` = NULL, `detectableAdducts` = NULL, `recompute` = NULL, `spectraSearchParams` = NULL, `formulaIdParams` = NULL, `zodiacParams` = NULL, `fingerprintPredictionParams` = NULL, `canopusParams` = NULL, `structureDbSearchParams` = NULL, `msNovelistParams` = NULL, `configMap` = NULL, ...) { diff --git a/client-api_r/generated/R/jobs_api.R b/client-api_r/generated/R/jobs_api.R index 509988f7..8e3c3dcf 100644 --- a/client-api_r/generated/R/jobs_api.R +++ b/client-api_r/generated/R/jobs_api.R @@ -611,13 +611,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -710,13 +737,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "JobSubmission", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "JobSubmission", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -735,7 +789,7 @@ JobsApi <- R6::R6Class( #' #' @param project_id project-space to run jobs on #' @param job_id of the job to be returned - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -758,7 +812,7 @@ JobsApi <- R6::R6Class( #' #' @param project_id project-space to run jobs on #' @param job_id of the job to be returned - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -828,13 +882,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -928,13 +1009,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1012,13 +1120,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1096,13 +1231,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StoredJobSubmission]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StoredJobSubmission]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1203,13 +1365,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Job]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Job]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1230,12 +1419,12 @@ JobsApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return PagedModelJob - GetJobsPaged = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetJobsPaged = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$GetJobsPagedWithHttpInfo(project_id, page, size, sort, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1255,12 +1444,12 @@ JobsApi <- R6::R6Class( #' @param page (optional) Zero-based page index (0..N) (default value: 0) #' @param size (optional) The size of the page to be returned (default value: 20) #' @param sort (optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (PagedModelJob) with additional information such as HTTP status code, headers - GetJobsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + GetJobsPagedWithHttpInfo = function(project_id, page = 0, size = 20, sort = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1334,13 +1523,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelJob", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelJob", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1434,13 +1650,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1552,13 +1795,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1672,13 +1942,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1699,12 +1996,12 @@ JobsApi <- R6::R6Class( #' @param job_config_name name if the config to be used #' @param request_body List of alignedFeatureIds to be computed #' @param recompute (optional) enable or disable recompute. If null the stored value will be used. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return Job - StartJobFromConfig = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command", "progress"), data_file = NULL, ...) { + StartJobFromConfig = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command","progress"), data_file = NULL, ...) { local_var_response <- self$StartJobFromConfigWithHttpInfo(project_id, job_config_name, request_body, recompute, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1724,12 +2021,12 @@ JobsApi <- R6::R6Class( #' @param job_config_name name if the config to be used #' @param request_body List of alignedFeatureIds to be computed #' @param recompute (optional) enable or disable recompute. If null the stored value will be used. - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (Job) with additional information such as HTTP status code, headers - StartJobFromConfigWithHttpInfo = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command", "progress"), data_file = NULL, ...) { + StartJobFromConfigWithHttpInfo = function(project_id, job_config_name, request_body, recompute = NULL, opt_fields = list("command","progress"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1813,13 +2110,40 @@ JobsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/lcms_submission_parameters.R b/client-api_r/generated/R/lcms_submission_parameters.R index 8cfb2892..06dbedd9 100644 --- a/client-api_r/generated/R/lcms_submission_parameters.R +++ b/client-api_r/generated/R/lcms_submission_parameters.R @@ -9,8 +9,8 @@ #' @format An \code{R6Class} generator object #' @field alignLCMSRuns Specifies whether LC/MS runs should be aligned character [optional] #' @field noiseIntensity Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. numeric [optional] -#' @field traceMaxMassDeviation Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. \link{Deviation} [optional] -#' @field alignMaxMassDeviation Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. \link{Deviation} [optional] +#' @field traceMaxMassDeviation \link{Deviation} [optional] +#' @field alignMaxMassDeviation \link{Deviation} [optional] #' @field alignMaxRetentionTimeDeviation Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. numeric [optional] #' @field minSNR Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory numeric [optional] #' @importFrom R6 R6Class @@ -31,8 +31,8 @@ LcmsSubmissionParameters <- R6::R6Class( #' #' @param alignLCMSRuns Specifies whether LC/MS runs should be aligned. Default to TRUE. #' @param noiseIntensity Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient.. Default to -1. - #' @param traceMaxMassDeviation Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. - #' @param alignMaxMassDeviation Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. + #' @param traceMaxMassDeviation traceMaxMassDeviation + #' @param alignMaxMassDeviation alignMaxMassDeviation #' @param alignMaxRetentionTimeDeviation Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.. Default to -1. #' @param minSNR Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory. Default to 3. #' @param ... Other optional arguments. diff --git a/client-api_r/generated/R/license_info.R b/client-api_r/generated/R/license_info.R index 38d7ee21..3f7c2a28 100644 --- a/client-api_r/generated/R/license_info.R +++ b/client-api_r/generated/R/license_info.R @@ -9,8 +9,8 @@ #' @format An \code{R6Class} generator object #' @field userEmail Email address of the user account this license information belongs to. character [optional] #' @field userId User ID (uid) of the user account this license information belongs to. character [optional] -#' @field subscription The active subscription that was used the requested the information \link{Subscription} [optional] -#' @field consumables Status of the consumable resources of the {@link Subscription Subscription}. \link{SubscriptionConsumables} [optional] +#' @field subscription \link{Subscription} [optional] +#' @field consumables \link{SubscriptionConsumables} [optional] #' @field terms list(\link{Term}) [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -29,8 +29,8 @@ LicenseInfo <- R6::R6Class( #' #' @param userEmail Email address of the user account this license information belongs to. #' @param userId User ID (uid) of the user account this license information belongs to. - #' @param subscription The active subscription that was used the requested the information - #' @param consumables Status of the consumable resources of the {@link Subscription Subscription}. + #' @param subscription subscription + #' @param consumables consumables #' @param terms terms #' @param ... Other optional arguments. initialize = function(`userEmail` = NULL, `userId` = NULL, `subscription` = NULL, `consumables` = NULL, `terms` = NULL, ...) { diff --git a/client-api_r/generated/R/login_and_account_api.R b/client-api_r/generated/R/login_and_account_api.R index bb9b4e20..d0d13d85 100644 --- a/client-api_r/generated/R/login_and_account_api.R +++ b/client-api_r/generated/R/login_and_account_api.R @@ -220,13 +220,40 @@ LoginAndAccountApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -304,13 +331,40 @@ LoginAndAccountApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -388,13 +442,40 @@ LoginAndAccountApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Subscription]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Subscription]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -472,13 +553,40 @@ LoginAndAccountApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -588,13 +696,40 @@ LoginAndAccountApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -823,13 +958,40 @@ LoginAndAccountApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -907,13 +1069,40 @@ LoginAndAccountApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/peak_annotation.R b/client-api_r/generated/R/peak_annotation.R index c692d176..d7ee56cd 100644 --- a/client-api_r/generated/R/peak_annotation.R +++ b/client-api_r/generated/R/peak_annotation.R @@ -15,7 +15,7 @@ #' @field massDeviationPpm Relative mass deviation of the exact mass to the measured peak mass in ppm numeric [optional] #' @field recalibratedMassDeviationMz Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa numeric [optional] #' @field recalibratedMassDeviationPpm Relative mass deviation of the exact mass to the recalibrated peak mass in ppm numeric [optional] -#' @field parentPeak Link to the parent peak connected via the neutral loss from the fragmentation tree. \link{ParentPeak} [optional] +#' @field parentPeak \link{ParentPeak} [optional] #' @field substructureAtoms EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) list(integer) [optional] #' @field substructureBonds EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. list(integer) [optional] #' @field substructureBondsCut EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. list(integer) [optional] @@ -53,7 +53,7 @@ PeakAnnotation <- R6::R6Class( #' @param massDeviationPpm Relative mass deviation of the exact mass to the measured peak mass in ppm #' @param recalibratedMassDeviationMz Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa #' @param recalibratedMassDeviationPpm Relative mass deviation of the exact mass to the recalibrated peak mass in ppm - #' @param parentPeak Link to the parent peak connected via the neutral loss from the fragmentation tree. + #' @param parentPeak parentPeak #' @param substructureAtoms EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) #' @param substructureBonds EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. #' @param substructureBondsCut EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. diff --git a/client-api_r/generated/R/projects_api.R b/client-api_r/generated/R/projects_api.R index ab568b7f..581e433d 100644 --- a/client-api_r/generated/R/projects_api.R +++ b/client-api_r/generated/R/projects_api.R @@ -119,7 +119,7 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | Project-space to import into. #' var_input_files <- c(123) # array[data.frame] | Files to import into project. -#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. +#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | #' #' #Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) #' api_instance <- rsirius_api$new() @@ -135,7 +135,7 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | Project-space to import into. #' var_input_files <- c(123) # array[data.frame] | Files to import into project. -#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. +#' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | #' var_opt_fields <- c("none") # array[character] | Set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' #' #Import and Align full MS-Runs from various formats into the specified project as background job. @@ -311,12 +311,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return ProjectInfo - CreateProject = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + CreateProject = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$CreateProjectWithHttpInfo(project_id, path_to_project, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -334,12 +334,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (ProjectInfo) with additional information such as HTTP status code, headers - CreateProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + CreateProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -398,13 +398,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -502,13 +529,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -606,13 +660,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -710,13 +791,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -817,13 +925,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -901,13 +1036,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[ProjectInfo]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[ProjectInfo]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -926,7 +1088,7 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id Project-space to import into. #' @param input_files Files to import into project. - #' @param parameters Parameters for feature alignment and feature finding. + #' @param parameters #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -949,7 +1111,7 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id Project-space to import into. #' @param input_files Files to import into project. - #' @param parameters Parameters for feature alignment and feature finding. + #' @param parameters #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -979,8 +1141,16 @@ ProjectsApi <- R6::R6Class( - file_params[["inputFiles"]] <- curl::form_file(`input_files`) - form_params["parameters"] <- `parameters` + file_params[["inputFiles"]] <- lapply(`input_files`, function(param) { + curl::form_file(param) + }) + if (!is.null(`parameters`)) { + if (inherits(`parameters`, "R6")) { + form_params[["parameters"]] <- `parameters`$toJSONString() + } else { + form_params[["parameters"]] <- `parameters` + } + } local_var_url_path <- "/api/projects/{projectId}/import/ms-data-files" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -1012,13 +1182,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1037,8 +1234,8 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id Project-space to import into. #' @param input_files Files to import into project. - #' @param parameters Parameters for feature alignment and feature finding. - #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) + #' @param parameters + #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -1061,8 +1258,8 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id Project-space to import into. #' @param input_files Files to import into project. - #' @param parameters Parameters for feature alignment and feature finding. - #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) + #' @param parameters + #' @param opt_fields (optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -1102,8 +1299,16 @@ ProjectsApi <- R6::R6Class( query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } - file_params[["inputFiles"]] <- curl::form_file(`input_files`) - form_params["parameters"] <- `parameters` + file_params[["inputFiles"]] <- lapply(`input_files`, function(param) { + curl::form_file(param) + }) + if (!is.null(`parameters`)) { + if (inherits(`parameters`, "R6")) { + form_params[["parameters"]] <- `parameters`$toJSONString() + } else { + form_params[["parameters"]] <- `parameters` + } + } local_var_url_path <- "/api/projects/{projectId}/import/ms-data-files-job" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -1135,13 +1340,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1216,7 +1448,9 @@ ProjectsApi <- R6::R6Class( query_params[["allowMs1Only"]] <- `allow_ms1_only` - file_params[["inputFiles"]] <- curl::form_file(`input_files`) + file_params[["inputFiles"]] <- lapply(`input_files`, function(param) { + curl::form_file(param) + }) local_var_url_path <- "/api/projects/{projectId}/import/preprocessed-data-files" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -1248,13 +1482,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1275,7 +1536,7 @@ ProjectsApi <- R6::R6Class( #' @param input_files #' @param ignore_formulas (optional) No description (default value: FALSE) #' @param allow_ms1_only (optional) No description (default value: TRUE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -1300,7 +1561,7 @@ ProjectsApi <- R6::R6Class( #' @param input_files #' @param ignore_formulas (optional) No description (default value: FALSE) #' @param allow_ms1_only (optional) No description (default value: TRUE) - #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress]) + #' @param opt_fields (optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -1341,7 +1602,9 @@ ProjectsApi <- R6::R6Class( query_params[["optFields"]] <- c(query_params[["optFields"]], list(`optFields` = query_item)) } - file_params[["inputFiles"]] <- curl::form_file(`input_files`) + file_params[["inputFiles"]] <- lapply(`input_files`, function(param) { + curl::form_file(param) + }) local_var_url_path <- "/api/projects/{projectId}/import/preprocessed-data-files-job" if (!missing(`project_id`)) { local_var_url_path <- gsub("\\{projectId\\}", URLencode(as.character(`project_id`), reserved = TRUE), local_var_url_path) @@ -1373,13 +1636,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1398,12 +1688,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return ProjectInfo - OpenProject = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + OpenProject = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { local_var_response <- self$OpenProjectWithHttpInfo(project_id, path_to_project, opt_fields, data_file = data_file, ...) if (local_var_response$status_code >= 200 && local_var_response$status_code <= 299) { local_var_response$content @@ -1421,12 +1711,12 @@ ProjectsApi <- R6::R6Class( #' #' @param project_id unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. #' @param path_to_project (optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. - #' @param opt_fields (optional) No description (default value: [none]) + #' @param opt_fields (optional) No description (default value: ["none"]) #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' #' @return API response (ProjectInfo) with additional information such as HTTP status code, headers - OpenProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list(NULL), data_file = NULL, ...) { + OpenProjectWithHttpInfo = function(project_id, path_to_project = NULL, opt_fields = list("none"), data_file = NULL, ...) { args <- list(...) query_params <- list() header_params <- c() @@ -1485,13 +1775,40 @@ ProjectsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/runs_api.R b/client-api_r/generated/R/runs_api.R index 850e363a..f39e865e 100644 --- a/client-api_r/generated/R/runs_api.R +++ b/client-api_r/generated/R/runs_api.R @@ -18,7 +18,7 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_run_id <- "run_id_example" # character | run to add tags to. -#' var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +#' var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. #' #' #[EXPERIMENTAL] Add tags to a run in the project #' api_instance <- rsirius_api$new() @@ -226,8 +226,12 @@ RunsApi <- R6::R6Class( if (!is.null(`tag`)) { body.items <- paste(unlist(lapply(`tag`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -268,13 +272,40 @@ RunsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -388,13 +419,40 @@ RunsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -502,13 +560,40 @@ RunsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Run", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "Run", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -629,13 +714,40 @@ RunsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -765,13 +877,40 @@ RunsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -897,13 +1036,40 @@ RunsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1003,13 +1169,40 @@ RunsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/searchable_databases_api.R b/client-api_r/generated/R/searchable_databases_api.R index 6b64f9a3..6e1176be 100644 --- a/client-api_r/generated/R/searchable_databases_api.R +++ b/client-api_r/generated/R/searchable_databases_api.R @@ -102,7 +102,7 @@ #' var_database_id <- "database_id_example" # character | database to import into #' var_input_files <- c(123) # array[data.frame] | files to be imported #' var_buffer_size <- 1000 # integer | (Optional) -#' var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (Optional) +#' var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | (Optional) #' #' #Start import of structure and spectra files into the specified database. #' api_instance <- rsirius_api$new() @@ -205,8 +205,12 @@ SearchableDatabasesApi <- R6::R6Class( if (!is.null(`request_body`)) { body.items <- paste(unlist(lapply(`request_body`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -239,13 +243,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -346,13 +377,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -440,13 +498,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -540,13 +625,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -634,13 +746,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -723,13 +862,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -749,7 +915,7 @@ SearchableDatabasesApi <- R6::R6Class( #' @param database_id database to import into #' @param input_files files to be imported #' @param buffer_size (optional) No description (default value: 1000) - #' @param bio_transformer_parameters (optional) configuration for biotransformer execution. If null, BioTransformer is not applied. + #' @param bio_transformer_parameters (optional) No description #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -773,7 +939,7 @@ SearchableDatabasesApi <- R6::R6Class( #' @param database_id database to import into #' @param input_files files to be imported #' @param buffer_size (optional) No description (default value: 1000) - #' @param bio_transformer_parameters (optional) configuration for biotransformer execution. If null, BioTransformer is not applied. + #' @param bio_transformer_parameters (optional) No description #' @param data_file (optional) name of the data file to save the result #' @param ... Other optional arguments #' @@ -802,8 +968,16 @@ SearchableDatabasesApi <- R6::R6Class( query_params[["bufferSize"]] <- `buffer_size` - file_params[["inputFiles"]] <- curl::form_file(`input_files`) - form_params["bioTransformerParameters"] <- `bio_transformer_parameters` + file_params[["inputFiles"]] <- lapply(`input_files`, function(param) { + curl::form_file(param) + }) + if (!is.null(`bio_transformer_parameters`)) { + if (inherits(`bio_transformer_parameters`, "R6")) { + form_params[["bioTransformerParameters"]] <- `bio_transformer_parameters`$toJSONString() + } else { + form_params[["bioTransformerParameters"]] <- `bio_transformer_parameters` + } + } local_var_url_path <- "/api/databases/{databaseId}/import/from-files" if (!missing(`database_id`)) { local_var_url_path <- gsub("\\{databaseId\\}", URLencode(as.character(`database_id`), reserved = TRUE), local_var_url_path) @@ -835,13 +1009,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1026,13 +1227,40 @@ SearchableDatabasesApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/sirius.R b/client-api_r/generated/R/sirius.R index a28a67b4..5f3fb9ed 100644 --- a/client-api_r/generated/R/sirius.R +++ b/client-api_r/generated/R/sirius.R @@ -22,8 +22,8 @@ #' @field enforcedFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Enforced: Enforced elements are always considered character [optional] #' @field fallbackFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) character [optional] #' @field detectableElements These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) list(character) [optional] -#' @field ilpTimeout Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint \link{Timeout} [optional] -#' @field useHeuristic Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. \link{UseHeuristic} [optional] +#' @field ilpTimeout \link{Timeout} [optional] +#' @field useHeuristic \link{UseHeuristic} [optional] #' @field injectSpecLibMatchFormulas If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied character [optional] #' @field minScoreToInjectSpecLibMatch Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. numeric [optional] #' @field minPeaksToInjectSpecLibMatch Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. integer [optional] @@ -72,8 +72,8 @@ Sirius <- R6::R6Class( #' @param enforcedFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Enforced: Enforced elements are always considered #' @param fallbackFormulaConstraints These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) #' @param detectableElements These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) - #' @param ilpTimeout Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint - #' @param useHeuristic Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. + #' @param ilpTimeout ilpTimeout + #' @param useHeuristic useHeuristic #' @param injectSpecLibMatchFormulas If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied #' @param minScoreToInjectSpecLibMatch Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. #' @param minPeaksToInjectSpecLibMatch Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. diff --git a/client-api_r/generated/R/stored_job_submission.R b/client-api_r/generated/R/stored_job_submission.R index 43447b9b..441b4f79 100644 --- a/client-api_r/generated/R/stored_job_submission.R +++ b/client-api_r/generated/R/stored_job_submission.R @@ -9,7 +9,7 @@ #' @format An \code{R6Class} generator object #' @field name Unique name to identify this JobSubmission (job config). character #' @field editable False for predefined configs which are not editable and not removable. character -#' @field jobSubmission The JobSubmission identified by the name \link{JobSubmission} +#' @field jobSubmission \link{JobSubmission} #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -25,7 +25,7 @@ StoredJobSubmission <- R6::R6Class( #' #' @param name Unique name to identify this JobSubmission (job config). #' @param editable False for predefined configs which are not editable and not removable. - #' @param jobSubmission The JobSubmission identified by the name + #' @param jobSubmission jobSubmission #' @param ... Other optional arguments. initialize = function(`name`, `editable`, `jobSubmission`, ...) { if (!missing(`name`)) { diff --git a/client-api_r/generated/R/structure_candidate_formula.R b/client-api_r/generated/R/structure_candidate_formula.R index f9a4dfbb..7fc1ffe4 100644 --- a/client-api_r/generated/R/structure_candidate_formula.R +++ b/client-api_r/generated/R/structure_candidate_formula.R @@ -18,7 +18,7 @@ #' @field csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates numeric [optional] #' @field tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID numeric [optional] #' @field mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional] -#' @field fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional] +#' @field fingerprint \link{BinaryFingerprint} [optional] #' @field molecularFormula Molecular formula of this candidate character [optional] #' @field adduct Adduct of this candidate character [optional] #' @field formulaId Id of the corresponding Formula candidate character [optional] @@ -58,7 +58,7 @@ StructureCandidateFormula <- R6::R6Class( #' @param csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates #' @param tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID #' @param mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. - #' @param fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter + #' @param fingerprint fingerprint #' @param molecularFormula Molecular formula of this candidate #' @param adduct Adduct of this candidate #' @param formulaId Id of the corresponding Formula candidate diff --git a/client-api_r/generated/R/structure_candidate_scored.R b/client-api_r/generated/R/structure_candidate_scored.R index 3adfd6a3..20208b10 100644 --- a/client-api_r/generated/R/structure_candidate_scored.R +++ b/client-api_r/generated/R/structure_candidate_scored.R @@ -18,7 +18,7 @@ #' @field csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates numeric [optional] #' @field tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID numeric [optional] #' @field mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional] -#' @field fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional] +#' @field fingerprint \link{BinaryFingerprint} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -52,7 +52,7 @@ StructureCandidateScored <- R6::R6Class( #' @param csiScore CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates #' @param tanimotoSimilarity Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID #' @param mcesDistToTopHit Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. - #' @param fingerprint Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter + #' @param fingerprint fingerprint #' @param ... Other optional arguments. initialize = function(`inchiKey` = NULL, `smiles` = NULL, `structureName` = NULL, `structureSvg` = NULL, `dbLinks` = NULL, `spectralLibraryMatches` = NULL, `xlogP` = NULL, `rank` = NULL, `csiScore` = NULL, `tanimotoSimilarity` = NULL, `mcesDistToTopHit` = NULL, `fingerprint` = NULL, ...) { if (!is.null(`inchiKey`)) { diff --git a/client-api_r/generated/R/tag.R b/client-api_r/generated/R/tag.R index ad33a8f4..95e7efd5 100644 --- a/client-api_r/generated/R/tag.R +++ b/client-api_r/generated/R/tag.R @@ -8,7 +8,7 @@ #' @description Tag Class #' @format An \code{R6Class} generator object #' @field tagName Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. character -#' @field value \link{AnyType} [optional] +#' @field value Optional value of the tag.

Generic value of the tag as defined by the corresponding TagDefinition. Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss). object [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -22,7 +22,7 @@ Tag <- R6::R6Class( #' Initialize a new Tag class. #' #' @param tagName Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. - #' @param value value + #' @param value Optional value of the tag.

Generic value of the tag as defined by the corresponding TagDefinition. Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss). #' @param ... Other optional arguments. initialize = function(`tagName`, `value` = NULL, ...) { if (!missing(`tagName`)) { @@ -32,7 +32,6 @@ Tag <- R6::R6Class( self$`tagName` <- `tagName` } if (!is.null(`value`)) { - stopifnot(R6::is.R6(`value`)) self$`value` <- `value` } }, @@ -74,7 +73,7 @@ Tag <- R6::R6Class( } if (!is.null(self$`value`)) { TagObject[["value"]] <- - self$`value`$toSimpleType() + self$`value` } return(TagObject) }, @@ -90,9 +89,7 @@ Tag <- R6::R6Class( self$`tagName` <- this_object$`tagName` } if (!is.null(this_object$`value`)) { - `value_object` <- AnyType$new() - `value_object`$fromJSON(jsonlite::toJSON(this_object$`value`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`value` <- `value_object` + self$`value` <- this_object$`value` } self }, @@ -116,7 +113,7 @@ Tag <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`tagName` <- this_object$`tagName` - self$`value` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`value`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`value` <- this_object$`value` self }, diff --git a/client-api_r/generated/R/tag_definition.R b/client-api_r/generated/R/tag_definition.R index 9ebd0803..1c987ae2 100644 --- a/client-api_r/generated/R/tag_definition.R +++ b/client-api_r/generated/R/tag_definition.R @@ -11,9 +11,9 @@ #' @field description A human-readable description about the purpose of this tag. character [optional] #' @field tagType A simple string based identifier to specify the type/scope/purpose of this tag. character [optional] #' @field valueType character -#' @field possibleValues list(\link{AnyType}) [optional] -#' @field minValue \link{AnyType} [optional] -#' @field maxValue \link{AnyType} [optional] +#' @field possibleValues list(object) [optional] +#' @field minValue object [optional] +#' @field maxValue object [optional] #' @field editable character [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON @@ -72,15 +72,13 @@ TagDefinition <- R6::R6Class( } if (!is.null(`possibleValues`)) { stopifnot(is.vector(`possibleValues`), length(`possibleValues`) != 0) - sapply(`possibleValues`, function(x) stopifnot(R6::is.R6(x))) + sapply(`possibleValues`, function(x) stopifnot(is.character(x))) self$`possibleValues` <- `possibleValues` } if (!is.null(`minValue`)) { - stopifnot(R6::is.R6(`minValue`)) self$`minValue` <- `minValue` } if (!is.null(`maxValue`)) { - stopifnot(R6::is.R6(`maxValue`)) self$`maxValue` <- `maxValue` } if (!is.null(`editable`)) { @@ -140,15 +138,15 @@ TagDefinition <- R6::R6Class( } if (!is.null(self$`possibleValues`)) { TagDefinitionObject[["possibleValues"]] <- - lapply(self$`possibleValues`, function(x) x$toSimpleType()) + self$`possibleValues` } if (!is.null(self$`minValue`)) { TagDefinitionObject[["minValue"]] <- - self$`minValue`$toSimpleType() + self$`minValue` } if (!is.null(self$`maxValue`)) { TagDefinitionObject[["maxValue"]] <- - self$`maxValue`$toSimpleType() + self$`maxValue` } if (!is.null(self$`editable`)) { TagDefinitionObject[["editable"]] <- @@ -180,17 +178,13 @@ TagDefinition <- R6::R6Class( self$`valueType` <- this_object$`valueType` } if (!is.null(this_object$`possibleValues`)) { - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) } if (!is.null(this_object$`minValue`)) { - `minvalue_object` <- AnyType$new() - `minvalue_object`$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`minValue` <- `minvalue_object` + self$`minValue` <- this_object$`minValue` } if (!is.null(this_object$`maxValue`)) { - `maxvalue_object` <- AnyType$new() - `maxvalue_object`$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`maxValue` <- `maxvalue_object` + self$`maxValue` <- this_object$`maxValue` } if (!is.null(this_object$`editable`)) { self$`editable` <- this_object$`editable` @@ -223,9 +217,9 @@ TagDefinition <- R6::R6Class( stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) } self$`valueType` <- this_object$`valueType` - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) - self$`minValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`maxValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) + self$`minValue` <- this_object$`minValue` + self$`maxValue` <- this_object$`maxValue` self$`editable` <- this_object$`editable` self }, diff --git a/client-api_r/generated/R/tag_definition_import.R b/client-api_r/generated/R/tag_definition_import.R index 74880765..8382e7bb 100644 --- a/client-api_r/generated/R/tag_definition_import.R +++ b/client-api_r/generated/R/tag_definition_import.R @@ -11,9 +11,9 @@ #' @field description A human-readable description about the purpose of this tag. character [optional] #' @field tagType A simple string based identifier to specify the type/scope/purpose of this tag. character [optional] #' @field valueType character -#' @field possibleValues list(\link{AnyType}) [optional] -#' @field minValue \link{AnyType} [optional] -#' @field maxValue \link{AnyType} [optional] +#' @field possibleValues list(object) [optional] +#' @field minValue object [optional] +#' @field maxValue object [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -69,15 +69,13 @@ TagDefinitionImport <- R6::R6Class( } if (!is.null(`possibleValues`)) { stopifnot(is.vector(`possibleValues`), length(`possibleValues`) != 0) - sapply(`possibleValues`, function(x) stopifnot(R6::is.R6(x))) + sapply(`possibleValues`, function(x) stopifnot(is.character(x))) self$`possibleValues` <- `possibleValues` } if (!is.null(`minValue`)) { - stopifnot(R6::is.R6(`minValue`)) self$`minValue` <- `minValue` } if (!is.null(`maxValue`)) { - stopifnot(R6::is.R6(`maxValue`)) self$`maxValue` <- `maxValue` } }, @@ -131,15 +129,15 @@ TagDefinitionImport <- R6::R6Class( } if (!is.null(self$`possibleValues`)) { TagDefinitionImportObject[["possibleValues"]] <- - lapply(self$`possibleValues`, function(x) x$toSimpleType()) + self$`possibleValues` } if (!is.null(self$`minValue`)) { TagDefinitionImportObject[["minValue"]] <- - self$`minValue`$toSimpleType() + self$`minValue` } if (!is.null(self$`maxValue`)) { TagDefinitionImportObject[["maxValue"]] <- - self$`maxValue`$toSimpleType() + self$`maxValue` } return(TagDefinitionImportObject) }, @@ -167,17 +165,13 @@ TagDefinitionImport <- R6::R6Class( self$`valueType` <- this_object$`valueType` } if (!is.null(this_object$`possibleValues`)) { - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) } if (!is.null(this_object$`minValue`)) { - `minvalue_object` <- AnyType$new() - `minvalue_object`$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`minValue` <- `minvalue_object` + self$`minValue` <- this_object$`minValue` } if (!is.null(this_object$`maxValue`)) { - `maxvalue_object` <- AnyType$new() - `maxvalue_object`$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`maxValue` <- `maxvalue_object` + self$`maxValue` <- this_object$`maxValue` } self }, @@ -207,9 +201,9 @@ TagDefinitionImport <- R6::R6Class( stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) } self$`valueType` <- this_object$`valueType` - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[AnyType]", loadNamespace("Rsirius")) - self$`minValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`minValue`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`maxValue` <- AnyType$new()$fromJSON(jsonlite::toJSON(this_object$`maxValue`, auto_unbox = TRUE, digits = NA, null = 'null')) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) + self$`minValue` <- this_object$`minValue` + self$`maxValue` <- this_object$`maxValue` self }, diff --git a/client-api_r/generated/R/tags_api.R b/client-api_r/generated/R/tags_api.R index 5f81f9c1..aa3c292d 100644 --- a/client-api_r/generated/R/tags_api.R +++ b/client-api_r/generated/R/tags_api.R @@ -35,7 +35,7 @@ #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_tag_name <- "tag_name_example" # character | the tag definition to add the values to -#' var_request_body <- c(TODO) # array[AnyType] | +#' var_request_body <- c(123) # array[object] | #' #' #[EXPERIMENTAL] Add a possible value to the tag definition in the project #' api_instance <- rsirius_api$new() @@ -50,7 +50,7 @@ #' #' library(Rsirius) #' var_project_id <- "project_id_example" # character | project-space to add to. -#' var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(TODO), TODO, TODO)) # array[TagDefinitionImport] | the tag definitions to be created +#' var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(123), 123, 123)) # array[TagDefinitionImport] | the tag definitions to be created #' #' #[EXPERIMENTAL] Add tags to the project #' api_instance <- rsirius_api$new() @@ -270,13 +270,40 @@ TagsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -350,8 +377,12 @@ TagsApi <- R6::R6Class( if (!is.null(`request_body`)) { body.items <- paste(unlist(lapply(`request_body`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -392,13 +423,40 @@ TagsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -465,8 +523,12 @@ TagsApi <- R6::R6Class( if (!is.null(`tag_definition_import`)) { body.items <- paste(unlist(lapply(`tag_definition_import`, function(param) { - param$toJSONString() - })), collapse = ",") + if (inherits(param, "character")) { + param + } else { + param$toJSONString() + } + })), collapse = ",") local_var_body <- paste0("[", body.items, "]") } else { body <- NULL @@ -503,13 +565,40 @@ TagsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -795,13 +884,40 @@ TagsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -895,13 +1011,40 @@ TagsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagGroup]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagGroup]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1001,13 +1144,40 @@ TagsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) @@ -1101,13 +1271,40 @@ TagsApi <- R6::R6Class( write(local_var_resp$response, data_file) } - deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), - error = function(e) { - stop("Failed to deserialize response") - } - ) - local_var_resp$content <- deserialized_resp_obj + # Check if we are expecting a CSV response + is_csv_response <- any(grepl("csv", local_var_accepts, ignore.case = TRUE)) + + if (is_csv_response) { + # For CSV responses, parse into data.frame + csv_resp_obj <- tryCatch( + { + csv_text <- rawToChar(local_var_resp$response) + + # Detect separator by examining first line + first_line <- strsplit(csv_text, "\n")[[1]][1] + if (grepl("\t", first_line)) { + # Tab-separated (TSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = "\t") + } else { + # Comma-separated (CSV) + read.csv(text = csv_text, stringsAsFactors = FALSE, sep = ",") + } + }, + error = function(e) { + stop("Failed to parse CSV response") + } + ) + local_var_resp$content <- csv_resp_obj + } else { + # For JSON responses, deserialize normally + deserialized_resp_obj <- tryCatch( + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), + error = function(e) { + stop("Failed to deserialize response") + } + ) + local_var_resp$content <- deserialized_resp_obj + } local_var_resp } else if (local_var_resp$status_code >= 300 && local_var_resp$status_code <= 399) { ApiResponse$new(paste("Server returned ", local_var_resp$status_code, " response status code."), local_var_resp) diff --git a/client-api_r/generated/R/zodiac.R b/client-api_r/generated/R/zodiac.R index 8bc2c4f4..11cbe6e1 100644 --- a/client-api_r/generated/R/zodiac.R +++ b/client-api_r/generated/R/zodiac.R @@ -11,10 +11,10 @@ #' @field consideredCandidatesAt300Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. integer [optional] #' @field consideredCandidatesAt800Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. integer [optional] #' @field runInTwoSteps As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. character [optional] -#' @field edgeFilterThresholds thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. \link{ZodiacEdgeFilterThresholds} [optional] -#' @field gibbsSamplerParameters iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. \link{ZodiacEpochs} [optional] -#' @field librarySearchAnchors Configure the use of identity spectral library search results as anchors in ZODIAC network \link{ZodiacLibraryScoring} [optional] -#' @field analogueSearchAnchors Configure the use of analogue spectral library search results as anchors in ZODIAC network \link{ZodiacAnalogueNodes} [optional] +#' @field edgeFilterThresholds \link{ZodiacEdgeFilterThresholds} [optional] +#' @field gibbsSamplerParameters \link{ZodiacEpochs} [optional] +#' @field librarySearchAnchors \link{ZodiacLibraryScoring} [optional] +#' @field analogueSearchAnchors \link{ZodiacAnalogueNodes} [optional] #' @importFrom R6 R6Class #' @importFrom jsonlite fromJSON toJSON #' @export @@ -37,10 +37,10 @@ Zodiac <- R6::R6Class( #' @param consideredCandidatesAt300Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. #' @param consideredCandidatesAt800Mz Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. #' @param runInTwoSteps As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. - #' @param edgeFilterThresholds thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. - #' @param gibbsSamplerParameters iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. - #' @param librarySearchAnchors Configure the use of identity spectral library search results as anchors in ZODIAC network - #' @param analogueSearchAnchors Configure the use of analogue spectral library search results as anchors in ZODIAC network + #' @param edgeFilterThresholds edgeFilterThresholds + #' @param gibbsSamplerParameters gibbsSamplerParameters + #' @param librarySearchAnchors librarySearchAnchors + #' @param analogueSearchAnchors analogueSearchAnchors #' @param ... Other optional arguments. initialize = function(`enabled` = NULL, `consideredCandidatesAt300Mz` = NULL, `consideredCandidatesAt800Mz` = NULL, `runInTwoSteps` = NULL, `edgeFilterThresholds` = NULL, `gibbsSamplerParameters` = NULL, `librarySearchAnchors` = NULL, `analogueSearchAnchors` = NULL, ...) { if (!is.null(`enabled`)) { diff --git a/client-api_r/generated/README.md b/client-api_r/generated/README.md index 7ace8da4..88fa5c09 100644 --- a/client-api_r/generated/README.md +++ b/client-api_r/generated/README.md @@ -6,7 +6,7 @@ REST API that provides the full functionality of SIRIUS and its web services as This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI spec](https://openapis.org) from a remote server, you can easily generate an API client. - API version: 3.1 -- Package version: 6.3.1 +- Package version: 6.3.3-SNAPSHOT - Generator version: 7.10.0 - Build package: org.openapitools.codegen.languages.RClientCodegen @@ -28,8 +28,8 @@ install.packages("base64enc") git clone https://github.com/GIT_USER_ID/GIT_REPO_ID cd GIT_REPO_ID R CMD build . -R CMD check Rsirius_6.3.1.tar.gz --no-manual -R CMD INSTALL --preclean Rsirius_6.3.1.tar.gz +R CMD check Rsirius_6.3.3-SNAPSHOT.tar.gz --no-manual +R CMD INSTALL --preclean Rsirius_6.3.3-SNAPSHOT.tar.gz ``` ### Install the package @@ -47,7 +47,7 @@ install_github("GIT_USER_ID/GIT_REPO_ID") To install the package from a local file: ```R -install.packages("Rsirius_6.3.1.tar.gz", repos = NULL, type = "source") +install.packages("Rsirius_6.3.3-SNAPSHOT.tar.gz", repos = NULL, type = "source") ``` ### Usage diff --git a/client-api_r/generated/docs/AlignedFeature.md b/client-api_r/generated/docs/AlignedFeature.md index 581f7821..2c94ead3 100644 --- a/client-api_r/generated/docs/AlignedFeature.md +++ b/client-api_r/generated/docs/AlignedFeature.md @@ -18,11 +18,11 @@ Name | Type | Description | Notes **quality** | **character** | Quality of this feature. | [optional] [Enum: [NOT_APPLICABLE, LOWEST, BAD, DECENT, GOOD]] **hasMs1** | **character** | If true, the feature has at lease one MS1 spectrum | [optional] **hasMsMs** | **character** | If true, the feature has at lease one MS/MS spectrum | [optional] -**msData** | [**MsData**](MsData.md) | Mass Spec data of this feature (input data) | [optional] -**topAnnotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. | [optional] -**topAnnotationsDeNovo** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. | [optional] +**msData** | [**MsData**](MsData.md) | | [optional] +**topAnnotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] +**topAnnotationsDeNovo** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] **computing** | **character** | Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results | [optional] -**computedTools** | [**ComputedSubtools**](ComputedSubtools.md) | Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. | [optional] +**computedTools** | [**ComputedSubtools**](ComputedSubtools.md) | | [optional] **tags** | [**map(Tag)**](Tag.md) | Key: tagName, value: tag | [optional] diff --git a/client-api_r/generated/docs/AnnotatedSpectrum.md b/client-api_r/generated/docs/AnnotatedSpectrum.md index 694b5236..3e65ae3b 100644 --- a/client-api_r/generated/docs/AnnotatedSpectrum.md +++ b/client-api_r/generated/docs/AnnotatedSpectrum.md @@ -12,13 +12,13 @@ Name | Type | Description | Notes **precursorMz** | **numeric** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scanNumber** | **integer** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] **cosineQuery** | **character** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to FALSE] -**precursorPeak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] +**precursorPeak** | [**SimplePeak**](SimplePeak.md) | | [optional] **peaks** | [**array[AnnotatedPeak]**](AnnotatedPeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | **absIntensityFactor** | **numeric** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] **maxNormFactor** | **numeric** | Factor to convert absolute intensities to MAX norm. | [optional] **sumNormFactor** | **numeric** | Factor to convert absolute intensities to SUM norm. | [optional] **l2NormFactor** | **numeric** | Factor to convert absolute intensities to L2 (Euclidean) norm. | [optional] **firstPeakNormFactor** | **numeric** | Factor to convert absolute intensities to normalize intensities by first peak intensity. | [optional] -**spectrumAnnotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | Optional Annotations of this spectrum. | [optional] +**spectrumAnnotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | | [optional] diff --git a/client-api_r/generated/docs/BasicSpectrum.md b/client-api_r/generated/docs/BasicSpectrum.md index 7bbcd2f0..0100ed07 100644 --- a/client-api_r/generated/docs/BasicSpectrum.md +++ b/client-api_r/generated/docs/BasicSpectrum.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **precursorMz** | **numeric** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scanNumber** | **integer** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] **cosineQuery** | **character** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to FALSE] -**precursorPeak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] +**precursorPeak** | [**SimplePeak**](SimplePeak.md) | | [optional] **peaks** | [**array[SimplePeak]**](SimplePeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | **absIntensityFactor** | **numeric** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] **maxNormFactor** | **numeric** | Factor to convert absolute intensities to MAX norm. | [optional] diff --git a/client-api_r/generated/docs/Compound.md b/client-api_r/generated/docs/Compound.md index ffb6681d..c64c5541 100644 --- a/client-api_r/generated/docs/Compound.md +++ b/client-api_r/generated/docs/Compound.md @@ -10,9 +10,9 @@ Name | Type | Description | Notes **rtEndSeconds** | **numeric** | The merged/consensus retention time end (latest rt) of this compound | [optional] **neutralMass** | **numeric** | Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass | [optional] **features** | [**array[AlignedFeature]**](AlignedFeature.md) | List of aligned features (adducts) that belong to the same (this) compound | [optional] -**consensusAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] -**consensusAnnotationsDeNovo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] -**customAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | Alternative annotations selected by the User. | [optional] +**consensusAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] +**consensusAnnotationsDeNovo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | | [optional] +**customAnnotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] **tags** | [**map(Tag)**](Tag.md) | Key: tagName, value: tag | [optional] diff --git a/client-api_r/generated/docs/CompoundClasses.md b/client-api_r/generated/docs/CompoundClasses.md index 231fde3f..8d1a4877 100644 --- a/client-api_r/generated/docs/CompoundClasses.md +++ b/client-api_r/generated/docs/CompoundClasses.md @@ -5,9 +5,9 @@ Container class that holds the most likely compound class for different levels o ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**npcPathway** | [**CompoundClass**](CompoundClass.md) | Pathway level NPC class with the highest probability | [optional] -**npcSuperclass** | [**CompoundClass**](CompoundClass.md) | Superclass level NPC class with the highest probability | [optional] -**npcClass** | [**CompoundClass**](CompoundClass.md) | Class level NPC class with the highest probability | [optional] +**npcPathway** | [**CompoundClass**](CompoundClass.md) | | [optional] +**npcSuperclass** | [**CompoundClass**](CompoundClass.md) | | [optional] +**npcClass** | [**CompoundClass**](CompoundClass.md) | | [optional] **classyFireLineage** | [**array[CompoundClass]**](CompoundClass.md) | Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation | [optional] **classyFireAlternatives** | [**array[CompoundClass]**](CompoundClass.md) | Alternative ClassyFire classes with high probability that do not fit into the linage | [optional] diff --git a/client-api_r/generated/docs/CompoundStatisticsApi.md b/client-api_r/generated/docs/CompoundStatisticsApi.md index d082f6bc..b8f7e6d5 100644 --- a/client-api_r/generated/docs/CompoundStatisticsApi.md +++ b/client-api_r/generated/docs/CompoundStatisticsApi.md @@ -11,7 +11,7 @@ Method | HTTP request | Description # **ComputeCompoundFoldChangesExperimental** -> Job ComputeCompoundFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = [progress]) +> Job ComputeCompoundFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = ["progress"]) [EXPERIMENTAL] Compute the fold change between two groups of runs @@ -47,7 +47,7 @@ Name | Type | Description | Notes **right_group_name** | **character**| name of the right tag group. | **aggregation** | Enum [AVG, MIN, MAX] | aggregation type. | [optional] [default to "AVG"] **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_INTENSITY"] - **opt_fields** | Enum [none, command, progress, affectedIds] | job opt fields. | [optional] [default to [progress]] + **opt_fields** | Enum [none, command, progress, affectedIds] | job opt fields. | [optional] [default to ["progress"]] ### Return type diff --git a/client-api_r/generated/docs/CompoundsApi.md b/client-api_r/generated/docs/CompoundsApi.md index 3dbf1cd2..6c103fee 100644 --- a/client-api_r/generated/docs/CompoundsApi.md +++ b/client-api_r/generated/docs/CompoundsApi.md @@ -20,7 +20,7 @@ Method | HTTP request | Description # **AddCompounds** -> array[Compound] AddCompounds(project_id, compound_import, profile = var.profile, opt_fields = [none], opt_fields_features = [none]) +> array[Compound] AddCompounds(project_id, compound_import, profile = var.profile, opt_fields = ["none"], opt_fields_features = ["none"]) Import Compounds and its contained features. @@ -53,8 +53,8 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to import into. | **compound_import** | list( [**CompoundImport**](CompoundImport.md) )| the compound data to be imported | **profile** | Enum [QTOF, ORBITRAP] | profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] - **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] + **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] ### Return type @@ -90,7 +90,7 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to add to. var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. -var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -172,7 +172,7 @@ No authorization required | **200** | OK | - | # **GetCompound** -> Compound GetCompound(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = [none], opt_fields_features = [none]) +> Compound GetCompound(project_id, compound_id, ms_data_search_prepared = FALSE, opt_fields = ["none"], opt_fields_features = ["none"]) Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -205,8 +205,8 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **compound_id** | **character**| identifier of the compound (group of ion identities) to access. | **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] - **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | | [optional] [default to [none]] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | | [optional] [default to ["none"]] ### Return type @@ -431,7 +431,7 @@ No authorization required | **200** | Compounds with additional optional fields (if specified). | - | # **GetCompoundsByGroupExperimental** -> PagedModelCompound GetCompoundsByGroupExperimental(project_id, group_name, page = 0, size = 20, sort = var.sort, opt_fields = [none]) +> PagedModelCompound GetCompoundsByGroupExperimental(project_id, group_name, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) [EXPERIMENTAL] Get compounds (group of ion identities) by tag group @@ -467,7 +467,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -545,7 +545,7 @@ No authorization required | **200** | tagged compounds (group of ion identities) | - | # **GetCompoundsPaged** -> PagedModelCompound GetCompoundsPaged(project_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = [none], opt_fields_features = [none]) +> PagedModelCompound GetCompoundsPaged(project_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = ["none"], opt_fields_features = ["none"]) Page of available compounds (group of ion identities) in the given project-space. @@ -582,8 +582,8 @@ Name | Type | Description | Notes **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] - **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] - **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | | [optional] [default to [none]] + **opt_fields** | Enum [none, consensusAnnotations, consensusAnnotationsDeNovo, customAnnotations, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields_features** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | | [optional] [default to ["none"]] ### Return type diff --git a/client-api_r/generated/docs/ComputedSubtools.md b/client-api_r/generated/docs/ComputedSubtools.md index 3b797bcc..2819b4a8 100644 --- a/client-api_r/generated/docs/ComputedSubtools.md +++ b/client-api_r/generated/docs/ComputedSubtools.md @@ -1,5 +1,6 @@ # Rsirius::ComputedSubtools +Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. ## Properties Name | Type | Description | Notes diff --git a/client-api_r/generated/docs/ConsensusAnnotationsCSI.md b/client-api_r/generated/docs/ConsensusAnnotationsCSI.md index cbc10fc2..a2a8300b 100644 --- a/client-api_r/generated/docs/ConsensusAnnotationsCSI.md +++ b/client-api_r/generated/docs/ConsensusAnnotationsCSI.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecularFormula** | **character** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] +**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | | [optional] **supportingFeatureIds** | **array[character]** | FeatureIds where the topAnnotation supports this annotation. | [optional] **selectionCriterion** | **character** | Null if this is a custom selection | [optional] [Enum: [MAJORITY_STRUCTURE, CONFIDENCE_STRUCTURE, SINGLETON_STRUCTURE, MAJORITY_FORMULA, TOP_FORMULA, SINGLETON_FORMULA]] -**csiFingerIdStructure** | [**StructureCandidate**](StructureCandidate.md) | Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. | [optional] +**csiFingerIdStructure** | [**StructureCandidate**](StructureCandidate.md) | | [optional] **confidenceExactMatch** | **numeric** | Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported | [optional] **confidenceApproxMatch** | **numeric** | Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported | [optional] diff --git a/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md b/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md index 2910257e..2114f54f 100644 --- a/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md +++ b/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecularFormula** | **character** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] +**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | | [optional] **supportingFeatureIds** | **array[character]** | FeatureIds where the topAnnotation supports this annotation. | [optional] **selectionCriterion** | **character** | Criterion that was used to select the consensus annotation. | [optional] [Enum: [MAJORITY_FORMULA, TOP_FORMULA, SINGLETON_FORMULA]] diff --git a/client-api_r/generated/docs/FeatureAnnotations.md b/client-api_r/generated/docs/FeatureAnnotations.md index de3bdc81..b6cf1354 100644 --- a/client-api_r/generated/docs/FeatureAnnotations.md +++ b/client-api_r/generated/docs/FeatureAnnotations.md @@ -5,9 +5,9 @@ Summary of the results of a feature (aligned over runs). Can be added to a Align ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**formulaAnnotation** | [**FormulaCandidate**](FormulaCandidate.md) | Best matching FormulaCandidate. | [optional] -**structureAnnotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. | [optional] -**compoundClassAnnotation** | [**CompoundClasses**](CompoundClasses.md) | Best matching compound classes that correspond to the formulaAnnotation | [optional] +**formulaAnnotation** | [**FormulaCandidate**](FormulaCandidate.md) | | [optional] +**structureAnnotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | | [optional] +**compoundClassAnnotation** | [**CompoundClasses**](CompoundClasses.md) | | [optional] **confidenceExactMatch** | **numeric** | Confidence Score that represents the confidence whether the top hit is correct. | [optional] **confidenceApproxMatch** | **numeric** | Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. | [optional] **expansiveSearchState** | **character** | Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) | [optional] [Enum: [OFF, EXACT, APPROXIMATE]] diff --git a/client-api_r/generated/docs/FeatureImport.md b/client-api_r/generated/docs/FeatureImport.md index 67686932..cc9339e2 100644 --- a/client-api_r/generated/docs/FeatureImport.md +++ b/client-api_r/generated/docs/FeatureImport.md @@ -14,7 +14,7 @@ Name | Type | Description | Notes **rtEndSeconds** | **numeric** | | [optional] **rtApexSeconds** | **numeric** | | [optional] **dataQuality** | **character** | A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. | [optional] [Enum: [NOT_APPLICABLE, LOWEST, BAD, DECENT, GOOD]] -**mergedMs1** | [**BasicSpectrum**](BasicSpectrum.md) | Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. | [optional] +**mergedMs1** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **ms1Spectra** | [**array[BasicSpectrum]**](BasicSpectrum.md) | List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. | [optional] **ms2Spectra** | [**array[BasicSpectrum]**](BasicSpectrum.md) | List of MS/MS spectra that belong to this feature. | [optional] diff --git a/client-api_r/generated/docs/FeatureStatisticsApi.md b/client-api_r/generated/docs/FeatureStatisticsApi.md index 353ace3e..0f6c00d3 100644 --- a/client-api_r/generated/docs/FeatureStatisticsApi.md +++ b/client-api_r/generated/docs/FeatureStatisticsApi.md @@ -11,7 +11,7 @@ Method | HTTP request | Description # **ComputeAlignedFeatureFoldChangesExperimental** -> Job ComputeAlignedFeatureFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = [progress]) +> Job ComputeAlignedFeatureFoldChangesExperimental(project_id, left_group_name, right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", opt_fields = ["progress"]) [EXPERIMENTAL] Compute the fold change between two groups of runs @@ -47,7 +47,7 @@ Name | Type | Description | Notes **right_group_name** | **character**| name of the right tag group. | **aggregation** | Enum [AVG, MIN, MAX] | aggregation type. | [optional] [default to "AVG"] **quantification** | Enum [APEX_INTENSITY, AREA_UNDER_CURVE] | quantification type. | [optional] [default to "APEX_INTENSITY"] - **opt_fields** | Enum [none, command, progress, affectedIds] | job opt fields. | [optional] [default to [progress]] + **opt_fields** | Enum [none, command, progress, affectedIds] | job opt fields. | [optional] [default to ["progress"]] ### Return type diff --git a/client-api_r/generated/docs/FeaturesApi.md b/client-api_r/generated/docs/FeaturesApi.md index f052fd8b..260b400e 100644 --- a/client-api_r/generated/docs/FeaturesApi.md +++ b/client-api_r/generated/docs/FeaturesApi.md @@ -51,7 +51,7 @@ Method | HTTP request | Description # **AddAlignedFeatures** -> array[AlignedFeature] AddAlignedFeatures(project_id, feature_import, profile = var.profile, opt_fields = [none]) +> array[AlignedFeature] AddAlignedFeatures(project_id, feature_import, profile = var.profile, opt_fields = ["none"]) Import (aligned) features into the project. @@ -83,7 +83,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to import into. | **feature_import** | list( [**FeatureImport**](FeatureImport.md) )| the feature data to be imported | **profile** | Enum [QTOF, ORBITRAP] | profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] ### Return type @@ -170,7 +170,7 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to add to. var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. -var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -347,7 +347,7 @@ No authorization required | **200** | OK | - | # **GetAlignedFeature** -> AlignedFeature GetAlignedFeature(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = [none]) +> AlignedFeature GetAlignedFeature(project_id, aligned_feature_id, ms_data_search_prepared = FALSE, opt_fields = ["none"]) Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -379,7 +379,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| identifier of feature (aligned over runs) to access. | **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] - **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -449,7 +449,7 @@ No authorization required | **200** | AlignedFeatureQuality quality information of the respective feature. | - | # **GetAlignedFeatures** -> array[AlignedFeature] GetAlignedFeatures(project_id, ms_data_search_prepared = FALSE, opt_fields = [none]) +> array[AlignedFeature] GetAlignedFeatures(project_id, ms_data_search_prepared = FALSE, opt_fields = ["none"]) Get all available features (aligned over runs) in the given project-space. @@ -479,7 +479,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] - **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -500,7 +500,7 @@ No authorization required | **200** | AlignedFeatures with additional annotations and MS/MS data (if specified). | - | # **GetAlignedFeaturesByGroupExperimental** -> PagedModelAlignedFeature GetAlignedFeaturesByGroupExperimental(project_id, group_name, page = 0, size = 20, sort = var.sort, opt_fields = [none]) +> PagedModelAlignedFeature GetAlignedFeaturesByGroupExperimental(project_id, group_name, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) [EXPERIMENTAL] Get features (aligned over runs) by tag group @@ -536,7 +536,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -614,7 +614,7 @@ No authorization required | **200** | tagged features (aligned over runs) | - | # **GetAlignedFeaturesPaged** -> PagedModelAlignedFeature GetAlignedFeaturesPaged(project_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = [none]) +> PagedModelAlignedFeature GetAlignedFeaturesPaged(project_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = ["none"]) Get all available features (aligned over runs) in the given project-space. @@ -650,7 +650,7 @@ Name | Type | Description | Notes **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] - **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, msData, topAnnotationsSummary, topAnnotations, topAnnotationsDeNovo, computedTools, tags] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -824,7 +824,7 @@ No authorization required | **200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | # **GetDeNovoStructureCandidatesByFormula** -> array[StructureCandidateScored] GetDeNovoStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = [none]) +> array[StructureCandidateScored] GetDeNovoStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = ["none"]) List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -856,7 +856,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -877,7 +877,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetDeNovoStructureCandidatesByFormulaPaged** -> PagedModelStructureCandidateScored GetDeNovoStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) +> PagedModelStructureCandidateScored GetDeNovoStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -915,7 +915,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -936,7 +936,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetDeNovoStructureCandidatesPaged** -> PagedModelStructureCandidateFormula GetDeNovoStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) +> PagedModelStructureCandidateFormula GetDeNovoStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -972,7 +972,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1201,7 +1201,7 @@ No authorization required | **200** | Fragmentation spectrum annotated with fragment formulas and losses. | - | # **GetFormulaCandidate** -> FormulaCandidate GetFormulaCandidate(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = [none]) +> FormulaCandidate GetFormulaCandidate(project_id, aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, opt_fields = ["none"]) FormulaResultContainers for the given 'formulaId' with minimal information. @@ -1235,7 +1235,7 @@ Name | Type | Description | Notes **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] - **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1309,7 +1309,7 @@ No authorization required | **200** | All FormulaCandidate of this feature with. | - | # **GetFormulaCandidatesPaged** -> PagedModelFormulaCandidate GetFormulaCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = [none]) +> PagedModelFormulaCandidate GetFormulaCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, ms_data_search_prepared = FALSE, opt_fields = ["none"]) Page of FormulaResultContainers available for this feature with minimal information. @@ -1347,7 +1347,7 @@ Name | Type | Description | Notes **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] **ms_data_search_prepared** | **character**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to FALSE] - **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, statistics, fragmentationTree, annotatedSpectrum, isotopePattern, lipidAnnotation, predictedFingerprint, compoundClasses, canopusPredictions] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1623,7 +1623,7 @@ No authorization required | **200** | Quant table row for this feature | - | # **GetSpectralLibraryMatch** -> SpectralLibraryMatch GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id, opt_fields = [none]) +> SpectralLibraryMatch GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id, opt_fields = ["none"]) Spectral library match for the given 'alignedFeatureId'. @@ -1655,7 +1655,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the structure candidates belong to. | **match_id** | **character**| id of the library match to be returned. | - **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to [none]] + **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to ["none"]] ### Return type @@ -1733,7 +1733,7 @@ No authorization required | **200** | Spectral library matches of this feature (aligned over runs). | - | # **GetSpectralLibraryMatchesPaged** -> PagedModelSpectralLibraryMatch GetSpectralLibraryMatchesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = [none]) +> PagedModelSpectralLibraryMatch GetSpectralLibraryMatchesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", opt_fields = ["none"]) Page of spectral library matches for the given 'alignedFeatureId'. @@ -1775,7 +1775,7 @@ Name | Type | Description | Notes **min_shared_peaks** | **integer**| | [optional] [default to 1] **min_similarity** | **numeric**| | [optional] [default to 0.2] **inchi_key** | **character**| | [optional] [default to ""] - **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to [none]] + **opt_fields** | Enum [none, referenceSpectrum] | | [optional] [default to ["none"]] ### Return type @@ -2014,7 +2014,7 @@ No authorization required | **200** | Fragmentation spectrum annotated with fragments and sub-structures. | - | # **GetStructureCandidates** -> array[StructureCandidateFormula] GetStructureCandidates(project_id, aligned_feature_id, opt_fields = [none]) +> array[StructureCandidateFormula] GetStructureCandidates(project_id, aligned_feature_id, opt_fields = ["none"]) List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -2044,7 +2044,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the structure candidates belong to. | - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -2065,7 +2065,7 @@ No authorization required | **200** | StructureCandidate of this feature (aligned over runs) candidate with specified optional fields. | - | # **GetStructureCandidatesByFormula** -> array[StructureCandidateScored] GetStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = [none]) +> array[StructureCandidateScored] GetStructureCandidatesByFormula(project_id, aligned_feature_id, formula_id, opt_fields = ["none"]) List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -2097,7 +2097,7 @@ Name | Type | Description | Notes **project_id** | **character**| project-space to read from. | **aligned_feature_id** | **character**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **character**| identifier of the requested formula result | - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -2118,7 +2118,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetStructureCandidatesByFormulaPaged** -> PagedModelStructureCandidateScored GetStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) +> PagedModelStructureCandidateScored GetStructureCandidatesByFormulaPaged(project_id, aligned_feature_id, formula_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -2156,7 +2156,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -2177,7 +2177,7 @@ No authorization required | **200** | StructureCandidate of this formula candidate with specified optional fields. | - | # **GetStructureCandidatesPaged** -> PagedModelStructureCandidateFormula GetStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) +> PagedModelStructureCandidateFormula GetStructureCandidatesPaged(project_id, aligned_feature_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -2213,7 +2213,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, fingerprint, dbLinks, libraryMatches, structureSvg] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type diff --git a/client-api_r/generated/docs/FormulaCandidate.md b/client-api_r/generated/docs/FormulaCandidate.md index becd8d59..144b0bc5 100644 --- a/client-api_r/generated/docs/FormulaCandidate.md +++ b/client-api_r/generated/docs/FormulaCandidate.md @@ -18,12 +18,12 @@ Name | Type | Description | Notes **numOfExplainablePeaks** | **integer** | | [optional] **totalExplainedIntensity** | **numeric** | | [optional] **medianMassDeviation** | [**Deviation**](Deviation.md) | | [optional] -**fragmentationTree** | [**FragmentationTree**](FragmentationTree.md) | The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). | [optional] -**annotatedSpectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses | [optional] -**isotopePatternAnnotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. | [optional] -**lipidAnnotation** | [**LipidAnnotation**](LipidAnnotation.md) | ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid | [optional] +**fragmentationTree** | [**FragmentationTree**](FragmentationTree.md) | | [optional] +**annotatedSpectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | | [optional] +**isotopePatternAnnotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | | [optional] +**lipidAnnotation** | [**LipidAnnotation**](LipidAnnotation.md) | | [optional] **predictedFingerprint** | **array[numeric]** | Probabilistic molecular fingerprint predicted by CSI:FingerID | [optional] -**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) | [optional] -**canopusPrediction** | [**CanopusPrediction**](CanopusPrediction.md) | All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) | [optional] +**compoundClasses** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**canopusPrediction** | [**CanopusPrediction**](CanopusPrediction.md) | | [optional] diff --git a/client-api_r/generated/docs/Job.md b/client-api_r/generated/docs/Job.md index 5adaf6ca..bbd830d4 100644 --- a/client-api_r/generated/docs/Job.md +++ b/client-api_r/generated/docs/Job.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **character** | Unique identifier to access the job via the API | [optional] **command** | **character** | Command string of the executed Task | [optional] -**progress** | [**JobProgress**](JobProgress.md) | Optional progress information of this job | [optional] +**progress** | [**JobProgress**](JobProgress.md) | | [optional] **affectedCompoundIds** | **array[character]** | List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] **affectedAlignedFeatureIds** | **array[character]** | List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] **jobEffect** | **character** | Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested | [optional] [Enum: [IMPORT, COMPUTATION, DELETION]] diff --git a/client-api_r/generated/docs/JobSubmission.md b/client-api_r/generated/docs/JobSubmission.md index a2b02317..08c0a027 100644 --- a/client-api_r/generated/docs/JobSubmission.md +++ b/client-api_r/generated/docs/JobSubmission.md @@ -11,13 +11,13 @@ Name | Type | Description | Notes **enforcedAdducts** | **array[character]** | Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] **detectableAdducts** | **array[character]** | Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] **recompute** | **character** | Indicate if already existing result for a tool to be executed should be overwritten or not. | [optional] -**spectraSearchParams** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. | [optional] -**formulaIdParams** | [**Sirius**](Sirius.md) | Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. | [optional] -**zodiacParams** | [**Zodiac**](Zodiac.md) | Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. | [optional] -**fingerprintPredictionParams** | [**FingerprintPrediction**](FingerprintPrediction.md) | Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. | [optional] -**canopusParams** | [**Canopus**](Canopus.md) | Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. | [optional] -**structureDbSearchParams** | [**StructureDbSearch**](StructureDbSearch.md) | Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. | [optional] -**msNovelistParams** | [**MsNovelist**](MsNovelist.md) | Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. | [optional] +**spectraSearchParams** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | | [optional] +**formulaIdParams** | [**Sirius**](Sirius.md) | | [optional] +**zodiacParams** | [**Zodiac**](Zodiac.md) | | [optional] +**fingerprintPredictionParams** | [**FingerprintPrediction**](FingerprintPrediction.md) | | [optional] +**canopusParams** | [**Canopus**](Canopus.md) | | [optional] +**structureDbSearchParams** | [**StructureDbSearch**](StructureDbSearch.md) | | [optional] +**msNovelistParams** | [**MsNovelist**](MsNovelist.md) | | [optional] **configMap** | **map(character)** | As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. | [optional] diff --git a/client-api_r/generated/docs/JobsApi.md b/client-api_r/generated/docs/JobsApi.md index f3693842..03e3cc0c 100644 --- a/client-api_r/generated/docs/JobsApi.md +++ b/client-api_r/generated/docs/JobsApi.md @@ -262,7 +262,7 @@ No authorization required | **200** | {@link JobSubmission JobSubmission} with all parameters set to default values. | - | # **GetJob** -> Job GetJob(project_id, job_id, opt_fields = [progress]) +> Job GetJob(project_id, job_id, opt_fields = ["progress"]) Get job information and its current state and progress (if available). @@ -292,7 +292,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to run jobs on | **job_id** | **character**| of the job to be returned | - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] ### Return type @@ -495,7 +495,7 @@ No authorization required | **200** | OK | - | # **GetJobsPaged** -> PagedModelJob GetJobsPaged(project_id, page = 0, size = 20, sort = var.sort, opt_fields = [none]) +> PagedModelJob GetJobsPaged(project_id, page = 0, size = 20, sort = var.sort, opt_fields = ["none"]) Get Page of jobs with information such as current state and progress (if available). @@ -529,7 +529,7 @@ Name | Type | Description | Notes **page** | **integer**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **integer**| The size of the page to be returned | [optional] [default to 20] **sort** | list( **character** )| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -699,7 +699,7 @@ No authorization required | **202** | Accepted | - | # **StartJobFromConfig** -> Job StartJobFromConfig(project_id, job_config_name, request_body, recompute = var.recompute, opt_fields = [command, progress]) +> Job StartJobFromConfig(project_id, job_config_name, request_body, recompute = var.recompute, opt_fields = ["command","progress"]) Start computation for given compounds and with parameters from a stored job-config. @@ -733,7 +733,7 @@ Name | Type | Description | Notes **job_config_name** | **character**| name if the config to be used | **request_body** | list( **character** )| List of alignedFeatureIds to be computed | **recompute** | **character**| enable or disable recompute. If null the stored value will be used. | [optional] - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [command, progress]] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["command","progress"]] ### Return type diff --git a/client-api_r/generated/docs/LcmsSubmissionParameters.md b/client-api_r/generated/docs/LcmsSubmissionParameters.md index 6e3424a5..a1ed70a9 100644 --- a/client-api_r/generated/docs/LcmsSubmissionParameters.md +++ b/client-api_r/generated/docs/LcmsSubmissionParameters.md @@ -6,8 +6,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **alignLCMSRuns** | **character** | Specifies whether LC/MS runs should be aligned | [optional] [default to TRUE] **noiseIntensity** | **numeric** | Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. | [optional] [default to -1] -**traceMaxMassDeviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. | [optional] -**alignMaxMassDeviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. | [optional] +**traceMaxMassDeviation** | [**Deviation**](Deviation.md) | | [optional] +**alignMaxMassDeviation** | [**Deviation**](Deviation.md) | | [optional] **alignMaxRetentionTimeDeviation** | **numeric** | Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. | [optional] [default to -1] **minSNR** | **numeric** | Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory | [optional] [default to 3] diff --git a/client-api_r/generated/docs/LicenseInfo.md b/client-api_r/generated/docs/LicenseInfo.md index 1696ec21..d77dfb4f 100644 --- a/client-api_r/generated/docs/LicenseInfo.md +++ b/client-api_r/generated/docs/LicenseInfo.md @@ -6,8 +6,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **userEmail** | **character** | Email address of the user account this license information belongs to. | [optional] **userId** | **character** | User ID (uid) of the user account this license information belongs to. | [optional] -**subscription** | [**Subscription**](Subscription.md) | The active subscription that was used the requested the information | [optional] -**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | Status of the consumable resources of the {@link Subscription Subscription}. | [optional] +**subscription** | [**Subscription**](Subscription.md) | | [optional] +**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | | [optional] **terms** | [**array[Term]**](Term.md) | | [optional] diff --git a/client-api_r/generated/docs/PeakAnnotation.md b/client-api_r/generated/docs/PeakAnnotation.md index 397838d0..d9fff0b6 100644 --- a/client-api_r/generated/docs/PeakAnnotation.md +++ b/client-api_r/generated/docs/PeakAnnotation.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes **massDeviationPpm** | **numeric** | Relative mass deviation of the exact mass to the measured peak mass in ppm | [optional] **recalibratedMassDeviationMz** | **numeric** | Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa | [optional] **recalibratedMassDeviationPpm** | **numeric** | Relative mass deviation of the exact mass to the recalibrated peak mass in ppm | [optional] -**parentPeak** | [**ParentPeak**](ParentPeak.md) | Link to the parent peak connected via the neutral loss from the fragmentation tree. | [optional] +**parentPeak** | [**ParentPeak**](ParentPeak.md) | | [optional] **substructureAtoms** | **array[integer]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) | [optional] **substructureBonds** | **array[integer]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. | [optional] **substructureBondsCut** | **array[integer]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. | [optional] diff --git a/client-api_r/generated/docs/ProjectsApi.md b/client-api_r/generated/docs/ProjectsApi.md index 629cda5d..693147c9 100644 --- a/client-api_r/generated/docs/ProjectsApi.md +++ b/client-api_r/generated/docs/ProjectsApi.md @@ -65,7 +65,7 @@ No authorization required | **200** | OK | - | # **CreateProject** -> ProjectInfo CreateProject(project_id, path_to_project = var.path_to_project, opt_fields = [none]) +> ProjectInfo CreateProject(project_id, path_to_project = var.path_to_project, opt_fields = ["none"]) Create and open a new project-space at given location and make it accessible via the given projectId. @@ -95,7 +95,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **character**| local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to [none]] + **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to ["none"]] ### Return type @@ -363,7 +363,7 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | Project-space to import into. var_input_files <- c(123) # array[data.frame] | Files to import into project. -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -378,7 +378,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| Project-space to import into. | **input_files** | list( **data.frame** )| Files to import into project. | - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | ### Return type @@ -399,7 +399,7 @@ No authorization required | **200** | OK | - | # **ImportMsRunDataAsJob** -> Job ImportMsRunDataAsJob(project_id, input_files, parameters, opt_fields = [progress]) +> Job ImportMsRunDataAsJob(project_id, input_files, parameters, opt_fields = ["progress"]) Import and Align full MS-Runs from various formats into the specified project as background job. @@ -414,7 +414,7 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | Project-space to import into. var_input_files <- c(123) # array[data.frame] | Files to import into project. -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | var_opt_fields <- c("none") # array[character] | Set of optional fields to be included. Use 'none' only to override defaults. (Optional) api_instance <- rsirius_api$new() @@ -430,8 +430,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| Project-space to import into. | **input_files** | list( **data.frame** )| Files to import into project. | - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | - **opt_fields** | Enum [none, command, progress, affectedIds] | Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | + **opt_fields** | Enum [none, command, progress, affectedIds] | Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] ### Return type @@ -505,7 +505,7 @@ No authorization required | **200** | OK | - | # **ImportPreprocessedDataAsJob** -> Job ImportPreprocessedDataAsJob(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = [progress]) +> Job ImportPreprocessedDataAsJob(project_id, input_files, ignore_formulas = FALSE, allow_ms1_only = TRUE, opt_fields = ["progress"]) Import ms/ms data from the given format into the specified project-space as background job. @@ -539,7 +539,7 @@ Name | Type | Description | Notes **input_files** | list( **data.frame** )| | **ignore_formulas** | **character**| | [optional] [default to FALSE] **allow_ms1_only** | **character**| | [optional] [default to TRUE] - **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] + **opt_fields** | Enum [none, command, progress, affectedIds] | set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] ### Return type @@ -560,7 +560,7 @@ No authorization required | **200** | the import job. | - | # **OpenProject** -> ProjectInfo OpenProject(project_id, path_to_project = var.path_to_project, opt_fields = [none]) +> ProjectInfo OpenProject(project_id, path_to_project = var.path_to_project, opt_fields = ["none"]) Open an existing project-space and make it accessible via the given projectId. @@ -590,7 +590,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **character**| local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to [none]] + **opt_fields** | Enum [none, compatibilityInfo, sizeInformation] | | [optional] [default to ["none"]] ### Return type diff --git a/client-api_r/generated/docs/RunsApi.md b/client-api_r/generated/docs/RunsApi.md index f3186b1f..81f41679 100644 --- a/client-api_r/generated/docs/RunsApi.md +++ b/client-api_r/generated/docs/RunsApi.md @@ -30,7 +30,7 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to add to. var_run_id <- "run_id_example" # character | run to add tags to. -var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. diff --git a/client-api_r/generated/docs/SearchableDatabasesApi.md b/client-api_r/generated/docs/SearchableDatabasesApi.md index 4b7dbd7d..eb719261 100644 --- a/client-api_r/generated/docs/SearchableDatabasesApi.md +++ b/client-api_r/generated/docs/SearchableDatabasesApi.md @@ -300,7 +300,7 @@ library(Rsirius) var_database_id <- "database_id_example" # character | database to import into var_input_files <- c(123) # array[data.frame] | files to be imported var_buffer_size <- 1000 # integer | (Optional) -var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (Optional) +var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | (Optional) api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -316,7 +316,7 @@ Name | Type | Description | Notes **database_id** | **character**| database to import into | **input_files** | list( **data.frame** )| files to be imported | **buffer_size** | **integer**| | [optional] [default to 1000] - **bio_transformer_parameters** | [**BioTransformerParameters**](BioTransformerParameters.md)| configuration for biotransformer execution. If null, BioTransformer is not applied. | [optional] + **bio_transformer_parameters** | [**BioTransformerParameters**](BioTransformerParameters.md)| | [optional] ### Return type diff --git a/client-api_r/generated/docs/Sirius.md b/client-api_r/generated/docs/Sirius.md index a0657ffc..4e0efc9b 100644 --- a/client-api_r/generated/docs/Sirius.md +++ b/client-api_r/generated/docs/Sirius.md @@ -20,8 +20,8 @@ Name | Type | Description | Notes **enforcedFormulaConstraints** | **character** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Enforced: Enforced elements are always considered | [optional] **fallbackFormulaConstraints** | **character** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) | [optional] **detectableElements** | **array[character]** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) | [optional] -**ilpTimeout** | [**Timeout**](Timeout.md) | Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint | [optional] -**useHeuristic** | [**UseHeuristic**](UseHeuristic.md) | Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. | [optional] +**ilpTimeout** | [**Timeout**](Timeout.md) | | [optional] +**useHeuristic** | [**UseHeuristic**](UseHeuristic.md) | | [optional] **injectSpecLibMatchFormulas** | **character** | If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied | [optional] **minScoreToInjectSpecLibMatch** | **numeric** | Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. | [optional] **minPeaksToInjectSpecLibMatch** | **integer** | Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. | [optional] diff --git a/client-api_r/generated/docs/StoredJobSubmission.md b/client-api_r/generated/docs/StoredJobSubmission.md index 71dea661..ba384520 100644 --- a/client-api_r/generated/docs/StoredJobSubmission.md +++ b/client-api_r/generated/docs/StoredJobSubmission.md @@ -6,6 +6,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **character** | Unique name to identify this JobSubmission (job config). | **editable** | **character** | False for predefined configs which are not editable and not removable. | -**jobSubmission** | [**JobSubmission**](JobSubmission.md) | The JobSubmission identified by the name | +**jobSubmission** | [**JobSubmission**](JobSubmission.md) | | diff --git a/client-api_r/generated/docs/StructureCandidateFormula.md b/client-api_r/generated/docs/StructureCandidateFormula.md index be876c20..8e7cb79d 100644 --- a/client-api_r/generated/docs/StructureCandidateFormula.md +++ b/client-api_r/generated/docs/StructureCandidateFormula.md @@ -15,7 +15,7 @@ Name | Type | Description | Notes **csiScore** | **numeric** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimotoSimilarity** | **numeric** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mcesDistToTopHit** | **numeric** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] **molecularFormula** | **character** | Molecular formula of this candidate | [optional] **adduct** | **character** | Adduct of this candidate | [optional] **formulaId** | **character** | Id of the corresponding Formula candidate | [optional] diff --git a/client-api_r/generated/docs/StructureCandidateScored.md b/client-api_r/generated/docs/StructureCandidateScored.md index 1dccb329..2b89c15f 100644 --- a/client-api_r/generated/docs/StructureCandidateScored.md +++ b/client-api_r/generated/docs/StructureCandidateScored.md @@ -15,6 +15,6 @@ Name | Type | Description | Notes **csiScore** | **numeric** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimotoSimilarity** | **numeric** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mcesDistToTopHit** | **numeric** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] diff --git a/client-api_r/generated/docs/Tag.md b/client-api_r/generated/docs/Tag.md index 90b8b879..04a4d77c 100644 --- a/client-api_r/generated/docs/Tag.md +++ b/client-api_r/generated/docs/Tag.md @@ -5,6 +5,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **tagName** | **character** | Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. | -**value** | [**AnyType**](.md) | | [optional] +**value** | **object** | Optional value of the tag. <p> Generic value of the tag as defined by the corresponding TagDefinition. Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss). | [optional] diff --git a/client-api_r/generated/docs/TagDefinition.md b/client-api_r/generated/docs/TagDefinition.md index 34a1f7bf..90ee4d77 100644 --- a/client-api_r/generated/docs/TagDefinition.md +++ b/client-api_r/generated/docs/TagDefinition.md @@ -8,9 +8,9 @@ Name | Type | Description | Notes **description** | **character** | A human-readable description about the purpose of this tag. | [optional] **tagType** | **character** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] **valueType** | **character** | | [Enum: [NONE, BOOLEAN, INTEGER, REAL, TEXT, DATE, TIME]] -**possibleValues** | [**array[AnyType]**](AnyType.md) | | [optional] -**minValue** | [**AnyType**](.md) | | [optional] -**maxValue** | [**AnyType**](.md) | | [optional] +**possibleValues** | **array[object]** | | [optional] +**minValue** | **object** | | [optional] +**maxValue** | **object** | | [optional] **editable** | **character** | | [optional] diff --git a/client-api_r/generated/docs/TagDefinitionImport.md b/client-api_r/generated/docs/TagDefinitionImport.md index a10c16d5..3ad7f31f 100644 --- a/client-api_r/generated/docs/TagDefinitionImport.md +++ b/client-api_r/generated/docs/TagDefinitionImport.md @@ -8,8 +8,8 @@ Name | Type | Description | Notes **description** | **character** | A human-readable description about the purpose of this tag. | [optional] **tagType** | **character** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] **valueType** | **character** | | [Enum: [NONE, BOOLEAN, INTEGER, REAL, TEXT, DATE, TIME]] -**possibleValues** | [**array[AnyType]**](AnyType.md) | | [optional] -**minValue** | [**AnyType**](.md) | | [optional] -**maxValue** | [**AnyType**](.md) | | [optional] +**possibleValues** | **array[object]** | | [optional] +**minValue** | **object** | | [optional] +**maxValue** | **object** | | [optional] diff --git a/client-api_r/generated/docs/TagsApi.md b/client-api_r/generated/docs/TagsApi.md index ee2f9f3c..909faa9e 100644 --- a/client-api_r/generated/docs/TagsApi.md +++ b/client-api_r/generated/docs/TagsApi.md @@ -84,7 +84,7 @@ library(Rsirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to add to. var_tag_name <- "tag_name_example" # character | the tag definition to add the values to -var_request_body <- c(TODO) # array[AnyType] | +var_request_body <- c(123) # array[object] | api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. @@ -99,7 +99,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **character**| project-space to add to. | **tag_name** | **character**| the tag definition to add the values to | - **request_body** | list( [**AnyType**](AnyType.md) )| | + **request_body** | list( **object** )| | ### Return type @@ -134,7 +134,7 @@ library(Rsirius) # # prepare function argument(s) var_project_id <- "project_id_example" # character | project-space to add to. -var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(TODO), TODO, TODO)) # array[TagDefinitionImport] | the tag definitions to be created +var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(123), 123, 123)) # array[TagDefinitionImport] | the tag definitions to be created api_instance <- rsirius_api$new() # to save the result into a file, simply add the optional `data_file` parameter, e.g. diff --git a/client-api_r/generated/docs/Zodiac.md b/client-api_r/generated/docs/Zodiac.md index eea16050..5b274c47 100644 --- a/client-api_r/generated/docs/Zodiac.md +++ b/client-api_r/generated/docs/Zodiac.md @@ -9,9 +9,9 @@ Name | Type | Description | Notes **consideredCandidatesAt300Mz** | **integer** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. | [optional] **consideredCandidatesAt800Mz** | **integer** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. | [optional] **runInTwoSteps** | **character** | As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. | [optional] -**edgeFilterThresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. | [optional] -**gibbsSamplerParameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. | [optional] -**librarySearchAnchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | Configure the use of identity spectral library search results as anchors in ZODIAC network | [optional] -**analogueSearchAnchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | Configure the use of analogue spectral library search results as anchors in ZODIAC network | [optional] +**edgeFilterThresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | | [optional] +**gibbsSamplerParameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | | [optional] +**librarySearchAnchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | | [optional] +**analogueSearchAnchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | | [optional] From db16726524e7b069a6b45a20970ecaa44e14a320 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 18:32:10 +0200 Subject: [PATCH 32/76] more in line python package formatting --- .github/workflows/NewUpdate.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index de810c08..73acd205 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -87,11 +87,13 @@ jobs: echo "generating Finished!" - name: Format Python Package run: | - cp client-api_python/sirius_api.py client-api_python/generated/PySirius - cp client-api_python/sirius.py client-api_python/generated/PySirius - - echo "from PySirius.sirius_api import PySiriusAPI" >> client-api_python/generated/PySirius/__init__.py - echo "from PySirius.sirius import SiriusSDK" >> client-api_python/generated/PySirius/__init__.py + cp client-api_python/sirius_api.py client-api_python/generated/PySirius + cp client-api_python/sirius.py client-api_python/generated/PySirius + + echo >> client-api_python/generated/PySirius/__init__.py + echo "# import manually generated API and SDK files" >> client-api_python/generated/PySirius/__init__.py + echo "from PySirius.sirius_api import PySiriusAPI" >> client-api_python/generated/PySirius/__init__.py + echo "from PySirius.sirius import SiriusSDK" >> client-api_python/generated/PySirius/__init__.py - name: Format R package run: | cp client-api_r/SiriusSDK.R client-api_r/generated/R/SiriusSDK.R From ca7c5bcc17ada390d8fce04caa1c1f56fb42466c Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 19:50:30 +0200 Subject: [PATCH 33/76] manually generated and tested Python package for 6.3.3-SNAPSHOT --- .../generated/PySirius/__init__.py | 6 +- .../generated/PySirius/api/actuator_api.py | 424 +- .../PySirius/api/compound_statistics_api.py | 964 +- .../generated/PySirius/api/compounds_api.py | 3082 ++--- .../PySirius/api/feature_statistics_api.py | 964 +- .../generated/PySirius/api/features_api.py | 10092 ++++++++-------- .../generated/PySirius/api/info_api.py | 458 +- .../generated/PySirius/api/jobs_api.py | 3340 ++--- .../PySirius/api/login_and_account_api.py | 1830 +-- .../generated/PySirius/api/projects_api.py | 2770 ++--- .../generated/PySirius/api/runs_api.py | 1928 +-- .../PySirius/api/searchable_databases_api.py | 2020 ++-- .../generated/PySirius/api/tags_api.py | 1952 +-- .../generated/PySirius/api_client.py | 2 +- .../generated/PySirius/configuration.py | 2 +- .../PySirius/models/account_credentials.py | 15 + .../generated/PySirius/models/account_info.py | 15 + .../PySirius/models/aligned_feature.py | 55 +- .../aligned_feature_quality_experimental.py | 9 +- .../PySirius/models/annotated_ms_ms_data.py | 11 +- .../PySirius/models/annotated_peak.py | 5 + .../PySirius/models/annotated_spectrum.py | 64 +- .../PySirius/models/basic_spectrum.py | 57 +- .../models/bio_transformer_parameters.py | 18 +- .../PySirius/models/canopus_prediction.py | 14 +- .../generated/PySirius/models/category.py | 5 + .../generated/PySirius/models/compound.py | 46 +- .../PySirius/models/compound_class.py | 42 +- .../PySirius/models/compound_classes.py | 35 +- .../PySirius/models/compound_import.py | 5 + .../PySirius/models/computed_subtools.py | 2 +- .../PySirius/models/connection_error.py | 10 + .../models/consensus_annotations_csi.py | 43 +- .../models/consensus_annotations_de_novo.py | 26 +- .../PySirius/models/data_import_event.py | 5 + .../PySirius/models/feature_annotations.py | 52 +- .../PySirius/models/feature_import.py | 60 +- .../PySirius/models/fingerprint_prediction.py | 10 + .../PySirius/models/formula_candidate.py | 89 +- .../PySirius/models/fragment_node.py | 35 + .../generated/PySirius/models/info.py | 45 + .../models/isotope_pattern_annotation.py | 10 + .../generated/PySirius/models/job.py | 33 +- .../generated/PySirius/models/job_progress.py | 27 +- .../PySirius/models/job_submission.py | 96 +- .../models/lcms_submission_parameters.py | 4 +- .../generated/PySirius/models/license_info.py | 26 +- .../PySirius/models/lipid_annotation.py | 25 + .../generated/PySirius/models/ms_data.py | 19 +- .../generated/PySirius/models/ms_novelist.py | 5 + .../models/paged_model_formula_candidate.py | 2 +- .../paged_model_spectral_library_match.py | 2 +- .../paged_model_structure_candidate_scored.py | 2 +- .../PySirius/models/peak_annotation.py | 73 +- .../PySirius/models/project_change_event.py | 20 + .../generated/PySirius/models/project_info.py | 32 +- .../generated/PySirius/models/quality_item.py | 5 + .../models/quant_table_experimental.py | 28 +- .../generated/PySirius/models/run.py | 27 +- .../PySirius/models/searchable_database.py | 45 + .../models/searchable_database_parameters.py | 15 + .../generated/PySirius/models/sirius.py | 107 +- .../PySirius/models/spectral_library_match.py | 9 +- .../models/spectral_library_match_summary.py | 5 + .../models/spectral_library_search.py | 44 +- .../PySirius/models/spectrum_annotation.py | 45 + .../PySirius/models/stored_job_submission.py | 2 +- .../PySirius/models/structure_candidate.py | 29 +- .../models/structure_candidate_formula.py | 46 +- .../models/structure_candidate_scored.py | 46 +- .../PySirius/models/structure_db_search.py | 19 +- .../generated/PySirius/models/subscription.py | 60 + .../generated/PySirius/models/tag.py | 2 +- .../PySirius/models/tag_definition.py | 21 +- .../PySirius/models/tag_definition_import.py | 21 +- .../models/trace_annotation_experimental.py | 15 + .../PySirius/models/trace_experimental.py | 10 + .../generated/PySirius/models/zodiac.py | 43 +- client-api_python/generated/README.md | 2 +- .../generated/docs/AlignedFeature.md | 10 +- .../docs/AlignedFeatureQualityExperimental.md | 2 +- .../generated/docs/AnnotatedSpectrum.md | 4 +- .../generated/docs/BasicSpectrum.md | 2 +- .../docs/BioTransformerParameters.md | 4 +- client-api_python/generated/docs/Compound.md | 6 +- .../generated/docs/CompoundClass.md | 2 +- .../generated/docs/CompoundClasses.md | 6 +- .../generated/docs/CompoundStatisticsApi.md | 4 +- .../generated/docs/CompoundsApi.md | 28 +- .../generated/docs/ComputedSubtools.md | 1 + .../generated/docs/ConsensusAnnotationsCSI.md | 8 +- .../docs/ConsensusAnnotationsDeNovo.md | 6 +- .../generated/docs/FeatureAnnotations.md | 12 +- .../generated/docs/FeatureImport.md | 6 +- .../generated/docs/FeatureStatisticsApi.md | 4 +- .../generated/docs/FeaturesApi.md | 64 +- .../generated/docs/FormulaCandidate.md | 14 +- client-api_python/generated/docs/Job.md | 8 +- .../generated/docs/JobProgress.md | 2 +- .../generated/docs/JobSubmission.md | 26 +- client-api_python/generated/docs/JobsApi.md | 12 +- .../docs/LcmsSubmissionParameters.md | 4 +- .../generated/docs/LicenseInfo.md | 4 +- .../generated/docs/PeakAnnotation.md | 8 +- .../generated/docs/ProjectInfo.md | 2 +- .../generated/docs/ProjectsApi.md | 24 +- .../generated/docs/QuantTableExperimental.md | 8 +- client-api_python/generated/docs/Run.md | 2 +- .../generated/docs/SearchableDatabasesApi.md | 4 +- client-api_python/generated/docs/Sirius.md | 12 +- .../generated/docs/SpectralLibraryMatch.md | 2 +- .../generated/docs/SpectralLibrarySearch.md | 4 +- .../generated/docs/StoredJobSubmission.md | 2 +- .../docs/StructureCandidateFormula.md | 2 +- .../docs/StructureCandidateScored.md | 2 +- .../generated/docs/StructureDbSearch.md | 4 +- client-api_python/generated/docs/Tag.md | 2 +- .../generated/docs/TagDefinition.md | 2 +- .../generated/docs/TagDefinitionImport.md | 2 +- client-api_python/generated/docs/Zodiac.md | 8 +- client-api_python/generated/pyproject.toml | 2 +- client-api_python/generated/setup.py | 2 +- .../templates/python/api.mustache | 466 +- 123 files changed, 16988 insertions(+), 15440 deletions(-) diff --git a/client-api_python/generated/PySirius/__init__.py b/client-api_python/generated/PySirius/__init__.py index 7afb6234..f2b447ee 100644 --- a/client-api_python/generated/PySirius/__init__.py +++ b/client-api_python/generated/PySirius/__init__.py @@ -12,7 +12,7 @@ """ # noqa: E501 -__version__ = "6.3.1" +__version__ = "6.3.3" # import apis into sdk package from PySirius.api.actuator_api import ActuatorApi @@ -179,5 +179,7 @@ from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds from PySirius.models.zodiac_epochs import ZodiacEpochs from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring + +# import manually generated API and SDK files from PySirius.sirius_api import PySiriusAPI -from PySirius.sirius import SiriusSDK +from PySirius.sirius import SiriusSDK \ No newline at end of file diff --git a/client-api_python/generated/PySirius/api/actuator_api.py b/client-api_python/generated/PySirius/api/actuator_api.py index 89891aab..da6147ad 100644 --- a/client-api_python/generated/PySirius/api/actuator_api.py +++ b/client-api_python/generated/PySirius/api/actuator_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,33 +8,33 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from typing import Any, Dict - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class ActuatorApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from typing import Any, Dict + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class ActuatorApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def health( self, _request_timeout: Union[ @@ -49,7 +49,7 @@ def health( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> object: + ) -> object: """Actuator web endpoint 'health' @@ -84,19 +84,19 @@ def health( _response_types_map: Dict[str, Optional[str]] = { '200': "object", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def health_with_http_info( self, _request_timeout: Union[ @@ -111,7 +111,7 @@ def health_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[object]: + ) -> ApiResponse[object]: """Actuator web endpoint 'health' @@ -146,19 +146,19 @@ def health_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "object", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def health_without_preload_content( self, _request_timeout: Union[ @@ -173,7 +173,7 @@ def health_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Actuator web endpoint 'health' @@ -208,74 +208,74 @@ def health_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "object", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _health_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/vnd.spring-boot.actuator.v3+json', - 'application/vnd.spring-boot.actuator.v2+json', - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/actuator/health', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _health_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/vnd.spring-boot.actuator.v3+json', + 'application/vnd.spring-boot.actuator.v2+json', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/actuator/health', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def shutdown( self, _request_timeout: Union[ @@ -290,7 +290,7 @@ def shutdown( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Actuator web endpoint 'shutdown' @@ -326,19 +326,19 @@ def shutdown( _response_types_map: Dict[str, Optional[str]] = { '204': None, '400': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def shutdown_with_http_info( self, _request_timeout: Union[ @@ -353,7 +353,7 @@ def shutdown_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Actuator web endpoint 'shutdown' @@ -389,19 +389,19 @@ def shutdown_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '204': None, '400': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def shutdown_without_preload_content( self, _request_timeout: Union[ @@ -416,7 +416,7 @@ def shutdown_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Actuator web endpoint 'shutdown' @@ -452,60 +452,60 @@ def shutdown_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '204': None, '400': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _shutdown_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/actuator/shutdown', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _shutdown_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/actuator/shutdown', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/compound_statistics_api.py b/client-api_python/generated/PySirius/api/compound_statistics_api.py index 3f4ec853..8d9586c5 100644 --- a/client-api_python/generated/PySirius/api/compound_statistics_api.py +++ b/client-api_python/generated/PySirius/api/compound_statistics_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,41 +8,41 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aggregation_type import AggregationType -from PySirius.models.fold_change import FoldChange -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.statistics_table import StatisticsTable - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class CompoundStatisticsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.fold_change import FoldChange +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class CompoundStatisticsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def compute_compound_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -50,7 +50,7 @@ def compute_compound_fold_changes_experimental( right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +63,7 @@ def compute_compound_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -117,19 +117,19 @@ def compute_compound_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def compute_compound_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -137,7 +137,7 @@ def compute_compound_fold_changes_experimental_with_http_info( right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -150,7 +150,7 @@ def compute_compound_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -204,19 +204,19 @@ def compute_compound_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def compute_compound_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -224,7 +224,7 @@ def compute_compound_fold_changes_experimental_without_preload_content( right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -237,7 +237,7 @@ def compute_compound_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -291,101 +291,101 @@ def compute_compound_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _compute_compound_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchange/compute', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_compound_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchange/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_compound_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -405,7 +405,7 @@ def delete_compound_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -456,19 +456,19 @@ def delete_compound_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_compound_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -488,7 +488,7 @@ def delete_compound_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -539,19 +539,19 @@ def delete_compound_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_compound_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -571,7 +571,7 @@ def delete_compound_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -622,89 +622,89 @@ def delete_compound_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_compound_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_compound_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_fold_change_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -722,7 +722,7 @@ def get_compound_fold_change_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StatisticsTable: + ) -> StatisticsTable: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -767,19 +767,19 @@ def get_compound_fold_change_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_fold_change_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -797,7 +797,7 @@ def get_compound_fold_change_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StatisticsTable]: + ) -> ApiResponse[StatisticsTable]: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -842,19 +842,19 @@ def get_compound_fold_change_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_fold_change_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -872,7 +872,7 @@ def get_compound_fold_change_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -917,85 +917,85 @@ def get_compound_fold_change_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_fold_change_table_experimental_serialize( - self, - project_id, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_fold_change_table_experimental_serialize( + self, + project_id, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_fold_changes_by_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1012,7 +1012,7 @@ def get_fold_changes_by_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FoldChange]: + ) -> List[FoldChange]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1054,19 +1054,19 @@ def get_fold_changes_by_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_fold_changes_by_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1083,7 +1083,7 @@ def get_fold_changes_by_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FoldChange]]: + ) -> ApiResponse[List[FoldChange]]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1125,19 +1125,19 @@ def get_fold_changes_by_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_fold_changes_by_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1154,7 +1154,7 @@ def get_fold_changes_by_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1196,72 +1196,72 @@ def get_fold_changes_by_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_fold_changes_by_compound_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fold_changes_by_compound_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/compounds_api.py b/client-api_python/generated/PySirius/api/compounds_api.py index bd138c8a..5da928f6 100644 --- a/client-api_python/generated/PySirius/api/compounds_api.py +++ b/client-api_python/generated/PySirius/api/compounds_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,52 +8,52 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField -from PySirius.models.compound import Compound -from PySirius.models.compound_import import CompoundImport -from PySirius.models.compound_opt_field import CompoundOptField -from PySirius.models.instrument_profile import InstrumentProfile -from PySirius.models.paged_model_compound import PagedModelCompound -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.quant_table_experimental import QuantTableExperimental -from PySirius.models.tag import Tag -from PySirius.models.trace_set_experimental import TraceSetExperimental - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class CompoundsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField +from PySirius.models.compound import Compound +from PySirius.models.compound_import import CompoundImport +from PySirius.models.compound_opt_field import CompoundOptField +from PySirius.models.instrument_profile import InstrumentProfile +from PySirius.models.paged_model_compound import PagedModelCompound +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.models.tag import Tag +from PySirius.models.trace_set_experimental import TraceSetExperimental + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class CompoundsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_compounds( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], compound_import: Annotated[List[CompoundImport], Field(description="the compound data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, - opt_fields_features: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields_features: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -66,7 +66,7 @@ def add_compounds( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Compound]: + ) -> List[Compound]: """Import Compounds and its contained features. Import Compounds and its contained features. Compounds and Features must not exist in the project. Otherwise, they will exist twice. @@ -117,26 +117,26 @@ def add_compounds( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_compounds_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], compound_import: Annotated[List[CompoundImport], Field(description="the compound data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, - opt_fields_features: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields_features: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -149,7 +149,7 @@ def add_compounds_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Compound]]: + ) -> ApiResponse[List[Compound]]: """Import Compounds and its contained features. Import Compounds and its contained features. Compounds and Features must not exist in the project. Otherwise, they will exist twice. @@ -200,26 +200,26 @@ def add_compounds_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_compounds_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], compound_import: Annotated[List[CompoundImport], Field(description="the compound data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, - opt_fields_features: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields_features: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields of the nested features to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -232,7 +232,7 @@ def add_compounds_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import Compounds and its contained features. Import Compounds and its contained features. Compounds and Features must not exist in the project. Otherwise, they will exist twice. @@ -283,109 +283,109 @@ def add_compounds_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_compounds_serialize( - self, - project_id, - compound_import, - profile, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'CompoundImport': '', - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if profile is not None: - - _query_params.append(('profile', profile.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - if compound_import is not None: - _body_params = compound_import - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/compounds', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_compounds_serialize( + self, + project_id, + compound_import, + profile, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'CompoundImport': '', + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if profile is not None: + + _query_params.append(('profile', profile.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + if compound_import is not None: + _body_params = compound_import + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/compounds', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_tags_to_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -403,7 +403,7 @@ def add_tags_to_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Tags with the same name will be overwritten [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -448,19 +448,19 @@ def add_tags_to_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_tags_to_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -478,7 +478,7 @@ def add_tags_to_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Tags with the same name will be overwritten [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -523,19 +523,19 @@ def add_tags_to_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_tags_to_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -553,7 +553,7 @@ def add_tags_to_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Tags with the same name will be overwritten [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -598,95 +598,95 @@ def add_tags_to_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_tags_to_compound_experimental_serialize( - self, - project_id, - compound_id, - tag, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'Tag': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag is not None: - _body_params = tag - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tags_to_compound_experimental_serialize( + self, + project_id, + compound_id, + tag, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'Tag': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag is not None: + _body_params = tag + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_compound( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -703,7 +703,7 @@ def delete_compound( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. @@ -745,19 +745,19 @@ def delete_compound( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_compound_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -774,7 +774,7 @@ def delete_compound_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. @@ -816,19 +816,19 @@ def delete_compound_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_compound_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -845,7 +845,7 @@ def delete_compound_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. @@ -887,79 +887,79 @@ def delete_compound_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_compound_serialize( - self, - project_id, - compound_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/compounds/{compoundId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_compound_serialize( + self, + project_id, + compound_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/{compoundId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -972,7 +972,7 @@ def get_compound( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Compound: + ) -> Compound: """Get compound (group of ion identities) with the given identifier from the specified project-space. Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -1023,26 +1023,26 @@ def get_compound( _response_types_map: Dict[str, Optional[str]] = { '200': "Compound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1055,7 +1055,7 @@ def get_compound_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Compound]: + ) -> ApiResponse[Compound]: """Get compound (group of ion identities) with the given identifier from the specified project-space. Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -1106,26 +1106,26 @@ def get_compound_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Compound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], compound_id: Annotated[StrictStr, Field(description="identifier of the compound (group of ion identities) to access.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1138,7 +1138,7 @@ def get_compound_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get compound (group of ion identities) with the given identifier from the specified project-space. Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -1189,95 +1189,95 @@ def get_compound_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Compound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_serialize( - self, - project_id, - compound_id, - ms_data_search_prepared, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/{compoundId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_serialize( + self, + project_id, + compound_id, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/{compoundId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_quant_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1294,7 +1294,7 @@ def get_compound_quant_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns the full quantification table of compounds [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1336,19 +1336,19 @@ def get_compound_quant_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_quant_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1365,7 +1365,7 @@ def get_compound_quant_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns the full quantification table of compounds [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1407,19 +1407,19 @@ def get_compound_quant_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_quant_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1436,7 +1436,7 @@ def get_compound_quant_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the full quantification table of compounds [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1478,80 +1478,80 @@ def get_compound_quant_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_quant_table_experimental_serialize( - self, - project_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/quant-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_quant_table_experimental_serialize( + self, + project_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/quant-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_quant_table_row_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1569,7 +1569,7 @@ def get_compound_quant_table_row_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns a single quantification table row for the given compound [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1614,19 +1614,19 @@ def get_compound_quant_table_row_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_quant_table_row_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1644,7 +1644,7 @@ def get_compound_quant_table_row_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns a single quantification table row for the given compound [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1689,19 +1689,19 @@ def get_compound_quant_table_row_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_quant_table_row_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1719,7 +1719,7 @@ def get_compound_quant_table_row_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns a single quantification table row for the given compound [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1764,83 +1764,83 @@ def get_compound_quant_table_row_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_quant_table_row_experimental_serialize( - self, - project_id, - compound_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/{compoundId}/quant-table-row', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_quant_table_row_experimental_serialize( + self, + project_id, + compound_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/{compoundId}/quant-table-row', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1858,7 +1858,7 @@ def get_compound_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: + ) -> TraceSetExperimental: """[EXPERIMENTAL] Returns the traces of the given compound [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1903,19 +1903,19 @@ def get_compound_traces_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1933,7 +1933,7 @@ def get_compound_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: + ) -> ApiResponse[TraceSetExperimental]: """[EXPERIMENTAL] Returns the traces of the given compound [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1978,19 +1978,19 @@ def get_compound_traces_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2008,7 +2008,7 @@ def get_compound_traces_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the traces of the given compound [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -2053,89 +2053,89 @@ def get_compound_traces_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_traces_experimental_serialize( - self, - project_id, - compound_id, - feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - if feature_id is not None: - - _query_params.append(('featureId', feature_id)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/{compoundId}/traces', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_traces_experimental_serialize( + self, + project_id, + compound_id, + feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + if feature_id is not None: + + _query_params.append(('featureId', feature_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/{compoundId}/traces', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2148,7 +2148,7 @@ def get_compounds( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Compound]: + ) -> List[Compound]: """List of all available compounds (group of ion identities) in the given project-space. List of all available compounds (group of ion identities) in the given project-space. @@ -2196,25 +2196,25 @@ def get_compounds( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2227,7 +2227,7 @@ def get_compounds_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Compound]]: + ) -> ApiResponse[List[Compound]]: """List of all available compounds (group of ion identities) in the given project-space. List of all available compounds (group of ion identities) in the given project-space. @@ -2275,25 +2275,25 @@ def get_compounds_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2306,7 +2306,7 @@ def get_compounds_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of all available compounds (group of ion identities) in the given project-space. List of all available compounds (group of ion identities) in the given project-space. @@ -2354,92 +2354,92 @@ def get_compounds_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_serialize( - self, - project_id, - ms_data_search_prepared, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_serialize( + self, + project_id, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds_by_group_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2447,7 +2447,7 @@ def get_compounds_by_group_experimental( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2460,7 +2460,7 @@ def get_compounds_by_group_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelCompound: + ) -> PagedModelCompound: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2514,19 +2514,19 @@ def get_compounds_by_group_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_by_group_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2534,7 +2534,7 @@ def get_compounds_by_group_experimental_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2547,7 +2547,7 @@ def get_compounds_by_group_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelCompound]: + ) -> ApiResponse[PagedModelCompound]: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2601,19 +2601,19 @@ def get_compounds_by_group_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_by_group_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2621,7 +2621,7 @@ def get_compounds_by_group_experimental_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2634,7 +2634,7 @@ def get_compounds_by_group_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2688,102 +2688,102 @@ def get_compounds_by_group_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_by_group_experimental_serialize( - self, - project_id, - group_name, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_name is not None: - - _query_params.append(('groupName', group_name)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/grouped', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds_by_tag_experimental( self, project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], @@ -2791,7 +2791,7 @@ def get_compounds_by_tag_experimental( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2804,7 +2804,7 @@ def get_compounds_by_tag_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelCompound: + ) -> PagedModelCompound: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2858,19 +2858,19 @@ def get_compounds_by_tag_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_by_tag_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], @@ -2878,7 +2878,7 @@ def get_compounds_by_tag_experimental_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2891,7 +2891,7 @@ def get_compounds_by_tag_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelCompound]: + ) -> ApiResponse[PagedModelCompound]: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2945,19 +2945,19 @@ def get_compounds_by_tag_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_by_tag_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], @@ -2965,7 +2965,7 @@ def get_compounds_by_tag_experimental_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2978,7 +2978,7 @@ def get_compounds_by_tag_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3032,102 +3032,102 @@ def get_compounds_by_tag_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_by_tag_experimental_serialize( - self, - project_id, - filter, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/tagged', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3135,8 +3135,8 @@ def get_compounds_paged( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3149,7 +3149,7 @@ def get_compounds_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelCompound: + ) -> PagedModelCompound: """Page of available compounds (group of ion identities) in the given project-space. Page of available compounds (group of ion identities) in the given project-space. @@ -3206,19 +3206,19 @@ def get_compounds_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3226,8 +3226,8 @@ def get_compounds_paged_with_http_info( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3240,7 +3240,7 @@ def get_compounds_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelCompound]: + ) -> ApiResponse[PagedModelCompound]: """Page of available compounds (group of ion identities) in the given project-space. Page of available compounds (group of ion identities) in the given project-space. @@ -3297,19 +3297,19 @@ def get_compounds_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3317,8 +3317,8 @@ def get_compounds_paged_without_preload_content( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[CompoundOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, - opt_fields_features: Optional[List[AlignedFeatureOptField]] = None, + opt_fields: Annotated[Optional[List[Optional[CompoundOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields_features: Optional[List[Optional[AlignedFeatureOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3331,7 +3331,7 @@ def get_compounds_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of available compounds (group of ion identities) in the given project-space. Page of available compounds (group of ion identities) in the given project-space. @@ -3388,108 +3388,108 @@ def get_compounds_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_paged_serialize( - self, - project_id, - page, - size, - sort, - ms_data_search_prepared, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_paged_serialize( + self, + project_id, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags_for_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -3506,7 +3506,7 @@ def get_tags_for_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Get all tags associated with this Compound [EXPERIMENTAL] Get all tags associated with this Compound @@ -3548,19 +3548,19 @@ def get_tags_for_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_for_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -3577,7 +3577,7 @@ def get_tags_for_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Get all tags associated with this Compound [EXPERIMENTAL] Get all tags associated with this Compound @@ -3619,19 +3619,19 @@ def get_tags_for_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_for_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -3648,7 +3648,7 @@ def get_tags_for_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tags associated with this Compound [EXPERIMENTAL] Get all tags associated with this Compound @@ -3690,78 +3690,78 @@ def get_tags_for_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_for_compound_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/tags/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_compound_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_tag_from_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -3779,7 +3779,7 @@ def remove_tag_from_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3824,19 +3824,19 @@ def remove_tag_from_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_tag_from_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -3854,7 +3854,7 @@ def remove_tag_from_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3899,19 +3899,19 @@ def remove_tag_from_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_tag_from_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -3929,7 +3929,7 @@ def remove_tag_from_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3974,69 +3974,69 @@ def remove_tag_from_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_tag_from_compound_experimental_serialize( - self, - project_id, - compound_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_compound_experimental_serialize( + self, + project_id, + compound_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/feature_statistics_api.py b/client-api_python/generated/PySirius/api/feature_statistics_api.py index f7375296..c31aaead 100644 --- a/client-api_python/generated/PySirius/api/feature_statistics_api.py +++ b/client-api_python/generated/PySirius/api/feature_statistics_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,41 +8,41 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aggregation_type import AggregationType -from PySirius.models.fold_change import FoldChange -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.statistics_table import StatisticsTable - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class FeatureStatisticsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.fold_change import FoldChange +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class FeatureStatisticsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def compute_aligned_feature_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -50,7 +50,7 @@ def compute_aligned_feature_fold_changes_experimental( right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +63,7 @@ def compute_aligned_feature_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -117,19 +117,19 @@ def compute_aligned_feature_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def compute_aligned_feature_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -137,7 +137,7 @@ def compute_aligned_feature_fold_changes_experimental_with_http_info( right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -150,7 +150,7 @@ def compute_aligned_feature_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -204,19 +204,19 @@ def compute_aligned_feature_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def compute_aligned_feature_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -224,7 +224,7 @@ def compute_aligned_feature_fold_changes_experimental_without_preload_content( right_group_name: Annotated[StrictStr, Field(description="name of the right tag group.")], aggregation: Annotated[Optional[AggregationType], Field(description="aggregation type.")] = None, quantification: Annotated[Optional[QuantMeasure], Field(description="quantification type.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -237,7 +237,7 @@ def compute_aligned_feature_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -291,101 +291,101 @@ def compute_aligned_feature_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _compute_aligned_feature_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchange/compute', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_aligned_feature_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchange/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_aligned_feature_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -405,7 +405,7 @@ def delete_aligned_feature_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -456,19 +456,19 @@ def delete_aligned_feature_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_aligned_feature_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -488,7 +488,7 @@ def delete_aligned_feature_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -539,19 +539,19 @@ def delete_aligned_feature_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_aligned_feature_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -571,7 +571,7 @@ def delete_aligned_feature_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -622,89 +622,89 @@ def delete_aligned_feature_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_aligned_feature_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_aligned_feature_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_feature_fold_change_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -722,7 +722,7 @@ def get_aligned_feature_fold_change_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StatisticsTable: + ) -> StatisticsTable: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -767,19 +767,19 @@ def get_aligned_feature_fold_change_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_feature_fold_change_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -797,7 +797,7 @@ def get_aligned_feature_fold_change_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StatisticsTable]: + ) -> ApiResponse[StatisticsTable]: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -842,19 +842,19 @@ def get_aligned_feature_fold_change_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_feature_fold_change_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -872,7 +872,7 @@ def get_aligned_feature_fold_change_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -917,85 +917,85 @@ def get_aligned_feature_fold_change_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_feature_fold_change_table_experimental_serialize( - self, - project_id, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_feature_fold_change_table_experimental_serialize( + self, + project_id, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_fold_changes_by_aligned_feature_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1012,7 +1012,7 @@ def get_fold_changes_by_aligned_feature_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FoldChange]: + ) -> List[FoldChange]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1054,19 +1054,19 @@ def get_fold_changes_by_aligned_feature_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_fold_changes_by_aligned_feature_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1083,7 +1083,7 @@ def get_fold_changes_by_aligned_feature_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FoldChange]]: + ) -> ApiResponse[List[FoldChange]]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1125,19 +1125,19 @@ def get_fold_changes_by_aligned_feature_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_fold_changes_by_aligned_feature_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1154,7 +1154,7 @@ def get_fold_changes_by_aligned_feature_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1196,72 +1196,72 @@ def get_fold_changes_by_aligned_feature_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_fold_changes_by_aligned_feature_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fold_changes_by_aligned_feature_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/features_api.py b/client-api_python/generated/PySirius/api/features_api.py index 653dd507..eca235c8 100644 --- a/client-api_python/generated/PySirius/api/features_api.py +++ b/client-api_python/generated/PySirius/api/features_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,71 +8,71 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictInt, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aligned_feature import AlignedFeature -from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField -from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental -from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData -from PySirius.models.annotated_spectrum import AnnotatedSpectrum -from PySirius.models.canopus_prediction import CanopusPrediction -from PySirius.models.compound_classes import CompoundClasses -from PySirius.models.feature_import import FeatureImport -from PySirius.models.formula_candidate import FormulaCandidate -from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField -from PySirius.models.fragmentation_tree import FragmentationTree -from PySirius.models.instrument_profile import InstrumentProfile -from PySirius.models.isotope_pattern_annotation import IsotopePatternAnnotation -from PySirius.models.lipid_annotation import LipidAnnotation -from PySirius.models.ms_data import MsData -from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature -from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate -from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch -from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula -from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.quant_table_experimental import QuantTableExperimental -from PySirius.models.spectral_library_match import SpectralLibraryMatch -from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField -from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary -from PySirius.models.structure_candidate_formula import StructureCandidateFormula -from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField -from PySirius.models.structure_candidate_scored import StructureCandidateScored -from PySirius.models.tag import Tag -from PySirius.models.trace_set_experimental import TraceSetExperimental - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class FeaturesApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aligned_feature import AlignedFeature +from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField +from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental +from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData +from PySirius.models.annotated_spectrum import AnnotatedSpectrum +from PySirius.models.canopus_prediction import CanopusPrediction +from PySirius.models.compound_classes import CompoundClasses +from PySirius.models.feature_import import FeatureImport +from PySirius.models.formula_candidate import FormulaCandidate +from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField +from PySirius.models.fragmentation_tree import FragmentationTree +from PySirius.models.instrument_profile import InstrumentProfile +from PySirius.models.isotope_pattern_annotation import IsotopePatternAnnotation +from PySirius.models.lipid_annotation import LipidAnnotation +from PySirius.models.ms_data import MsData +from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature +from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate +from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch +from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula +from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.models.spectral_library_match import SpectralLibraryMatch +from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField +from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary +from PySirius.models.structure_candidate_formula import StructureCandidateFormula +from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField +from PySirius.models.structure_candidate_scored import StructureCandidateScored +from PySirius.models.tag import Tag +from PySirius.models.trace_set_experimental import TraceSetExperimental + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class FeaturesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_aligned_features( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], feature_import: Annotated[List[FeatureImport], Field(description="the feature data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -85,7 +85,7 @@ def add_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AlignedFeature]: + ) -> List[AlignedFeature]: """Import (aligned) features into the project. Import (aligned) features into the project. Features must not exist in the project. Otherwise, they will exist twice. @@ -133,25 +133,25 @@ def add_aligned_features( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_aligned_features_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], feature_import: Annotated[List[FeatureImport], Field(description="the feature data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -164,7 +164,7 @@ def add_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AlignedFeature]]: + ) -> ApiResponse[List[AlignedFeature]]: """Import (aligned) features into the project. Import (aligned) features into the project. Features must not exist in the project. Otherwise, they will exist twice. @@ -212,25 +212,25 @@ def add_aligned_features_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_aligned_features_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], feature_import: Annotated[List[FeatureImport], Field(description="the feature data to be imported")], profile: Annotated[Optional[InstrumentProfile], Field(description="profile describing the instrument used to measure the data. Used to merge spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -243,7 +243,7 @@ def add_aligned_features_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import (aligned) features into the project. Import (aligned) features into the project. Features must not exist in the project. Otherwise, they will exist twice. @@ -291,103 +291,103 @@ def add_aligned_features_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_aligned_features_serialize( - self, - project_id, - feature_import, - profile, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'FeatureImport': '', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if profile is not None: - - _query_params.append(('profile', profile.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if feature_import is not None: - _body_params = feature_import - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/aligned-features', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_aligned_features_serialize( + self, + project_id, + feature_import, + profile, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'FeatureImport': '', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if profile is not None: + + _query_params.append(('profile', profile.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if feature_import is not None: + _body_params = feature_import + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/aligned-features', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_de_novo_structure_candidate( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -405,7 +405,7 @@ def add_de_novo_structure_candidate( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: + ) -> List[StructureCandidateFormula]: """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. @@ -450,19 +450,19 @@ def add_de_novo_structure_candidate( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_de_novo_structure_candidate_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -480,7 +480,7 @@ def add_de_novo_structure_candidate_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: + ) -> ApiResponse[List[StructureCandidateFormula]]: """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. @@ -525,19 +525,19 @@ def add_de_novo_structure_candidate_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_de_novo_structure_candidate_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -555,7 +555,7 @@ def add_de_novo_structure_candidate_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. @@ -600,83 +600,83 @@ def add_de_novo_structure_candidate_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_de_novo_structure_candidate_serialize( - self, - project_id, - aligned_feature_id, - smiles, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if smiles is not None: - - _query_params.append(('smiles', smiles)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_de_novo_structure_candidate_serialize( + self, + project_id, + aligned_feature_id, + smiles, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if smiles is not None: + + _query_params.append(('smiles', smiles)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_tags_to_aligned_feature_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -694,7 +694,7 @@ def add_tags_to_aligned_feature_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -739,19 +739,19 @@ def add_tags_to_aligned_feature_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_tags_to_aligned_feature_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -769,7 +769,7 @@ def add_tags_to_aligned_feature_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -814,19 +814,19 @@ def add_tags_to_aligned_feature_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_tags_to_aligned_feature_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -844,7 +844,7 @@ def add_tags_to_aligned_feature_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -889,95 +889,95 @@ def add_tags_to_aligned_feature_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_tags_to_aligned_feature_experimental_serialize( - self, - project_id, - aligned_feature_id, - tag, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'Tag': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag is not None: - _body_params = tag - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tags_to_aligned_feature_experimental_serialize( + self, + project_id, + aligned_feature_id, + tag, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'Tag': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag is not None: + _body_params = tag + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_aligned_feature( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -994,7 +994,7 @@ def delete_aligned_feature( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1036,19 +1036,19 @@ def delete_aligned_feature( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_aligned_feature_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1065,7 +1065,7 @@ def delete_aligned_feature_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1107,19 +1107,19 @@ def delete_aligned_feature_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_aligned_feature_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1136,7 +1136,7 @@ def delete_aligned_feature_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1178,72 +1178,72 @@ def delete_aligned_feature_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_aligned_feature_serialize( - self, - project_id, - aligned_feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_aligned_feature_serialize( + self, + project_id, + aligned_feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_aligned_features( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1260,7 +1260,7 @@ def delete_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1302,19 +1302,19 @@ def delete_aligned_features( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_aligned_features_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1331,7 +1331,7 @@ def delete_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1373,19 +1373,19 @@ def delete_aligned_features_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_aligned_features_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1402,7 +1402,7 @@ def delete_aligned_features_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1444,86 +1444,86 @@ def delete_aligned_features_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_aligned_features_serialize( - self, - project_id, - request_body, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/delete', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_aligned_features_serialize( + self, + project_id, + request_body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/delete', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_adduct_network_with_merged_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1540,7 +1540,7 @@ def get_adduct_network_with_merged_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: + ) -> TraceSetExperimental: """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1582,19 +1582,19 @@ def get_adduct_network_with_merged_traces_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_adduct_network_with_merged_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1611,7 +1611,7 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: + ) -> ApiResponse[TraceSetExperimental]: """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1653,19 +1653,19 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_adduct_network_with_merged_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1682,7 +1682,7 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1724,84 +1724,84 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_adduct_network_with_merged_traces_experimental_serialize( - self, - project_id, - aligned_feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_adduct_network_with_merged_traces_experimental_serialize( + self, + project_id, + aligned_feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_feature( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1814,7 +1814,7 @@ def get_aligned_feature( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AlignedFeature: + ) -> AlignedFeature: """Get feature (aligned over runs) with the given identifier from the specified project-space. Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -1862,25 +1862,25 @@ def get_aligned_feature( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_feature_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1893,7 +1893,7 @@ def get_aligned_feature_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AlignedFeature]: + ) -> ApiResponse[AlignedFeature]: """Get feature (aligned over runs) with the given identifier from the specified project-space. Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -1941,25 +1941,25 @@ def get_aligned_feature_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_feature_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="identifier of feature (aligned over runs) to access.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1972,7 +1972,7 @@ def get_aligned_feature_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get feature (aligned over runs) with the given identifier from the specified project-space. Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -2020,89 +2020,89 @@ def get_aligned_feature_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_feature_serialize( - self, - project_id, - aligned_feature_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_feature_serialize( + self, + project_id, + aligned_feature_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_feature_quality_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2119,7 +2119,7 @@ def get_aligned_feature_quality_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AlignedFeatureQualityExperimental: + ) -> AlignedFeatureQualityExperimental: """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2161,19 +2161,19 @@ def get_aligned_feature_quality_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeatureQualityExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_feature_quality_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2190,7 +2190,7 @@ def get_aligned_feature_quality_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AlignedFeatureQualityExperimental]: + ) -> ApiResponse[AlignedFeatureQualityExperimental]: """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2232,19 +2232,19 @@ def get_aligned_feature_quality_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeatureQualityExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_feature_quality_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2261,7 +2261,7 @@ def get_aligned_feature_quality_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2303,83 +2303,83 @@ def get_aligned_feature_quality_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeatureQualityExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_feature_quality_experimental_serialize( - self, - project_id, - aligned_feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_feature_quality_experimental_serialize( + self, + project_id, + aligned_feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2392,7 +2392,7 @@ def get_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AlignedFeature]: + ) -> List[AlignedFeature]: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -2437,24 +2437,24 @@ def get_aligned_features( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2467,7 +2467,7 @@ def get_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AlignedFeature]]: + ) -> ApiResponse[List[AlignedFeature]]: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -2512,24 +2512,24 @@ def get_aligned_features_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2542,7 +2542,7 @@ def get_aligned_features_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -2587,86 +2587,86 @@ def get_aligned_features_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_serialize( - self, - project_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_serialize( + self, + project_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features_by_group_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2674,7 +2674,7 @@ def get_aligned_features_by_group_experimental( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2687,7 +2687,7 @@ def get_aligned_features_by_group_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelAlignedFeature: + ) -> PagedModelAlignedFeature: """[EXPERIMENTAL] Get features (aligned over runs) by tag group [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2741,19 +2741,19 @@ def get_aligned_features_by_group_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_by_group_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2761,7 +2761,7 @@ def get_aligned_features_by_group_experimental_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2774,7 +2774,7 @@ def get_aligned_features_by_group_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelAlignedFeature]: + ) -> ApiResponse[PagedModelAlignedFeature]: """[EXPERIMENTAL] Get features (aligned over runs) by tag group [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2828,19 +2828,19 @@ def get_aligned_features_by_group_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_by_group_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2848,7 +2848,7 @@ def get_aligned_features_by_group_experimental_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2861,7 +2861,7 @@ def get_aligned_features_by_group_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get features (aligned over runs) by tag group [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2915,102 +2915,102 @@ def get_aligned_features_by_group_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_by_group_experimental_serialize( - self, - project_id, - group_name, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_name is not None: - - _query_params.append(('groupName', group_name)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/grouped', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features_by_tag_experimental( self, project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], @@ -3018,7 +3018,7 @@ def get_aligned_features_by_tag_experimental( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3031,7 +3031,7 @@ def get_aligned_features_by_tag_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelAlignedFeature: + ) -> PagedModelAlignedFeature: """[EXPERIMENTAL] Get features (aligned over runs) by tag [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3085,19 +3085,19 @@ def get_aligned_features_by_tag_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_by_tag_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], @@ -3105,7 +3105,7 @@ def get_aligned_features_by_tag_experimental_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3118,7 +3118,7 @@ def get_aligned_features_by_tag_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelAlignedFeature]: + ) -> ApiResponse[PagedModelAlignedFeature]: """[EXPERIMENTAL] Get features (aligned over runs) by tag [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3172,19 +3172,19 @@ def get_aligned_features_by_tag_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_by_tag_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], @@ -3192,7 +3192,7 @@ def get_aligned_features_by_tag_experimental_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3205,7 +3205,7 @@ def get_aligned_features_by_tag_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get features (aligned over runs) by tag [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3259,102 +3259,102 @@ def get_aligned_features_by_tag_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_by_tag_experimental_serialize( - self, - project_id, - filter, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/tagged', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3362,7 +3362,7 @@ def get_aligned_features_paged( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3375,7 +3375,7 @@ def get_aligned_features_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelAlignedFeature: + ) -> PagedModelAlignedFeature: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -3429,19 +3429,19 @@ def get_aligned_features_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3449,7 +3449,7 @@ def get_aligned_features_paged_with_http_info( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3462,7 +3462,7 @@ def get_aligned_features_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelAlignedFeature]: + ) -> ApiResponse[PagedModelAlignedFeature]: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -3516,19 +3516,19 @@ def get_aligned_features_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3536,7 +3536,7 @@ def get_aligned_features_paged_without_preload_content( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[AlignedFeatureOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[AlignedFeatureOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3549,7 +3549,7 @@ def get_aligned_features_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -3603,102 +3603,102 @@ def get_aligned_features_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_paged_serialize( - self, - project_id, - page, - size, - sort, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_paged_serialize( + self, + project_id, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_best_matching_compound_classes( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3716,7 +3716,7 @@ def get_best_matching_compound_classes( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> CompoundClasses: + ) -> CompoundClasses: """Return Best matching compound classes for given formulaId Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, @@ -3761,19 +3761,19 @@ def get_best_matching_compound_classes( _response_types_map: Dict[str, Optional[str]] = { '200': "CompoundClasses", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_best_matching_compound_classes_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3791,7 +3791,7 @@ def get_best_matching_compound_classes_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[CompoundClasses]: + ) -> ApiResponse[CompoundClasses]: """Return Best matching compound classes for given formulaId Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, @@ -3836,19 +3836,19 @@ def get_best_matching_compound_classes_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "CompoundClasses", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_best_matching_compound_classes_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3866,7 +3866,7 @@ def get_best_matching_compound_classes_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Return Best matching compound classes for given formulaId Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, @@ -3911,81 +3911,81 @@ def get_best_matching_compound_classes_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "CompoundClasses", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_best_matching_compound_classes_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_best_matching_compound_classes_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_canopus_prediction( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4003,7 +4003,7 @@ def get_canopus_prediction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> CanopusPrediction: + ) -> CanopusPrediction: """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, @@ -4048,19 +4048,19 @@ def get_canopus_prediction( _response_types_map: Dict[str, Optional[str]] = { '200': "CanopusPrediction", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_canopus_prediction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4078,7 +4078,7 @@ def get_canopus_prediction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[CanopusPrediction]: + ) -> ApiResponse[CanopusPrediction]: """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, @@ -4123,19 +4123,19 @@ def get_canopus_prediction_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "CanopusPrediction", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_canopus_prediction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4153,7 +4153,7 @@ def get_canopus_prediction_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, @@ -4198,86 +4198,86 @@ def get_canopus_prediction_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "CanopusPrediction", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_canopus_prediction_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_de_novo_structure_candidates( + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_canopus_prediction_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_de_novo_structure_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4290,7 +4290,7 @@ def get_de_novo_structure_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: + ) -> List[StructureCandidateFormula]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4335,24 +4335,24 @@ def get_de_novo_structure_candidates( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4365,7 +4365,7 @@ def get_de_novo_structure_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: + ) -> ApiResponse[List[StructureCandidateFormula]]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4410,24 +4410,24 @@ def get_de_novo_structure_candidates_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4440,7 +4440,7 @@ def get_de_novo_structure_candidates_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4485,90 +4485,90 @@ def get_de_novo_structure_candidates_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_serialize( - self, - project_id, - aligned_feature_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_serialize( + self, + project_id, + aligned_feature_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_de_novo_structure_candidates_by_formula( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4581,7 +4581,7 @@ def get_de_novo_structure_candidates_by_formula( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateScored]: + ) -> List[StructureCandidateScored]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4629,25 +4629,25 @@ def get_de_novo_structure_candidates_by_formula( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_by_formula_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4660,7 +4660,7 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateScored]]: + ) -> ApiResponse[List[StructureCandidateScored]]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4708,25 +4708,25 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_by_formula_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4739,7 +4739,7 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4787,87 +4787,87 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_by_formula_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_by_formula_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_de_novo_structure_candidates_by_formula_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4876,7 +4876,7 @@ def get_de_novo_structure_candidates_by_formula_paged( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4889,7 +4889,7 @@ def get_de_novo_structure_candidates_by_formula_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateScored: + ) -> PagedModelStructureCandidateScored: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4946,19 +4946,19 @@ def get_de_novo_structure_candidates_by_formula_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_by_formula_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4967,7 +4967,7 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4980,7 +4980,7 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateScored]: + ) -> ApiResponse[PagedModelStructureCandidateScored]: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5037,19 +5037,19 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5058,7 +5058,7 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5071,7 +5071,7 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5128,103 +5128,103 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_by_formula_paged_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_by_formula_paged_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_de_novo_structure_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5232,7 +5232,7 @@ def get_de_novo_structure_candidates_paged( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5245,7 +5245,7 @@ def get_de_novo_structure_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateFormula: + ) -> PagedModelStructureCandidateFormula: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5299,19 +5299,19 @@ def get_de_novo_structure_candidates_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5319,7 +5319,7 @@ def get_de_novo_structure_candidates_paged_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5332,7 +5332,7 @@ def get_de_novo_structure_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateFormula]: + ) -> ApiResponse[PagedModelStructureCandidateFormula]: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5386,19 +5386,19 @@ def get_de_novo_structure_candidates_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5406,7 +5406,7 @@ def get_de_novo_structure_candidates_paged_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -5419,7 +5419,7 @@ def get_de_novo_structure_candidates_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5473,100 +5473,100 @@ def get_de_novo_structure_candidates_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_feature_quant_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5583,7 +5583,7 @@ def get_feature_quant_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -5625,19 +5625,19 @@ def get_feature_quant_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_feature_quant_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5654,7 +5654,7 @@ def get_feature_quant_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -5696,19 +5696,19 @@ def get_feature_quant_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_feature_quant_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5725,7 +5725,7 @@ def get_feature_quant_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -5767,80 +5767,80 @@ def get_feature_quant_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_feature_quant_table_experimental_serialize( - self, - project_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/quant-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_feature_quant_table_experimental_serialize( + self, + project_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/quant-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_fingerprint_prediction( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5858,7 +5858,7 @@ def get_fingerprint_prediction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[float]: + ) -> List[float]: """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. @@ -5903,19 +5903,19 @@ def get_fingerprint_prediction( _response_types_map: Dict[str, Optional[str]] = { '200': "List[float]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_fingerprint_prediction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5933,7 +5933,7 @@ def get_fingerprint_prediction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[float]]: + ) -> ApiResponse[List[float]]: """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. @@ -5978,19 +5978,19 @@ def get_fingerprint_prediction_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[float]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_fingerprint_prediction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6008,7 +6008,7 @@ def get_fingerprint_prediction_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. @@ -6053,81 +6053,81 @@ def get_fingerprint_prediction_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[float]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_fingerprint_prediction_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fingerprint_prediction_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_annotated_ms_ms_data( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6146,7 +6146,7 @@ def get_formula_annotated_ms_ms_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedMsMsData: + ) -> AnnotatedMsMsData: """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. @@ -6194,19 +6194,19 @@ def get_formula_annotated_ms_ms_data( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_annotated_ms_ms_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6225,7 +6225,7 @@ def get_formula_annotated_ms_ms_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedMsMsData]: + ) -> ApiResponse[AnnotatedMsMsData]: """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. @@ -6273,19 +6273,19 @@ def get_formula_annotated_ms_ms_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_annotated_ms_ms_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6304,7 +6304,7 @@ def get_formula_annotated_ms_ms_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. @@ -6352,86 +6352,86 @@ def get_formula_annotated_ms_ms_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_annotated_ms_ms_data_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - ms_data_search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_annotated_ms_ms_data_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + ms_data_search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_annotated_spectrum( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6451,7 +6451,7 @@ def get_formula_annotated_spectrum( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: + ) -> AnnotatedSpectrum: """Returns a fragmentation spectrum (e Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. @@ -6502,19 +6502,19 @@ def get_formula_annotated_spectrum( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_annotated_spectrum_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6534,7 +6534,7 @@ def get_formula_annotated_spectrum_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: + ) -> ApiResponse[AnnotatedSpectrum]: """Returns a fragmentation spectrum (e Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. @@ -6585,19 +6585,19 @@ def get_formula_annotated_spectrum_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_annotated_spectrum_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6617,7 +6617,7 @@ def get_formula_annotated_spectrum_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns a fragmentation spectrum (e Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. @@ -6668,98 +6668,98 @@ def get_formula_annotated_spectrum_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_annotated_spectrum_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - spectrum_index, - search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if spectrum_index is not None: - - _query_params.append(('spectrumIndex', spectrum_index)) - - if search_prepared is not None: - - _query_params.append(('searchPrepared', search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_annotated_spectrum_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + spectrum_index, + search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if spectrum_index is not None: + + _query_params.append(('spectrumIndex', spectrum_index)) + + if search_prepared is not None: + + _query_params.append(('searchPrepared', search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_candidate( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6772,7 +6772,7 @@ def get_formula_candidate( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FormulaCandidate: + ) -> FormulaCandidate: """FormulaResultContainers for the given 'formulaId' with minimal information. FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. @@ -6823,26 +6823,26 @@ def get_formula_candidate( _response_types_map: Dict[str, Optional[str]] = { '200': "FormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_candidate_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6855,7 +6855,7 @@ def get_formula_candidate_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FormulaCandidate]: + ) -> ApiResponse[FormulaCandidate]: """FormulaResultContainers for the given 'formulaId' with minimal information. FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. @@ -6906,26 +6906,26 @@ def get_formula_candidate_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "FormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_candidate_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -6938,7 +6938,7 @@ def get_formula_candidate_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """FormulaResultContainers for the given 'formulaId' with minimal information. FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. @@ -6989,98 +6989,98 @@ def get_formula_candidate_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "FormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_candidate_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_candidate_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7093,7 +7093,7 @@ def get_formula_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FormulaCandidate]: + ) -> List[FormulaCandidate]: """List of FormulaResultContainers available for this feature with minimal information. List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7141,25 +7141,25 @@ def get_formula_candidates( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FormulaCandidate]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7172,7 +7172,7 @@ def get_formula_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FormulaCandidate]]: + ) -> ApiResponse[List[FormulaCandidate]]: """List of FormulaResultContainers available for this feature with minimal information. List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7220,25 +7220,25 @@ def get_formula_candidates_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FormulaCandidate]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7251,7 +7251,7 @@ def get_formula_candidates_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of FormulaResultContainers available for this feature with minimal information. List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7299,89 +7299,89 @@ def get_formula_candidates_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FormulaCandidate]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_candidates_serialize( - self, - project_id, - aligned_feature_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_candidates_serialize( + self, + project_id, + aligned_feature_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7390,7 +7390,7 @@ def get_formula_candidates_paged( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7403,7 +7403,7 @@ def get_formula_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelFormulaCandidate: + ) -> PagedModelFormulaCandidate: """Page of FormulaResultContainers available for this feature with minimal information. Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7460,19 +7460,19 @@ def get_formula_candidates_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelFormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7481,7 +7481,7 @@ def get_formula_candidates_paged_with_http_info( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7494,7 +7494,7 @@ def get_formula_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelFormulaCandidate]: + ) -> ApiResponse[PagedModelFormulaCandidate]: """Page of FormulaResultContainers available for this feature with minimal information. Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7551,19 +7551,19 @@ def get_formula_candidates_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelFormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7572,7 +7572,7 @@ def get_formula_candidates_paged_without_preload_content( size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, ms_data_search_prepared: Annotated[Optional[StrictBool], Field(description="Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra.")] = None, - opt_fields: Annotated[Optional[List[FormulaCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[FormulaCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -7585,7 +7585,7 @@ def get_formula_candidates_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of FormulaResultContainers available for this feature with minimal information. Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7642,105 +7642,105 @@ def get_formula_candidates_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelFormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_candidates_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_candidates_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_frag_tree( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7758,7 +7758,7 @@ def get_frag_tree( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FragmentationTree: + ) -> FragmentationTree: """Returns fragmentation tree (SIRIUS) for the given formula result identifier Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). @@ -7803,19 +7803,19 @@ def get_frag_tree( _response_types_map: Dict[str, Optional[str]] = { '200': "FragmentationTree", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_frag_tree_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7833,7 +7833,7 @@ def get_frag_tree_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FragmentationTree]: + ) -> ApiResponse[FragmentationTree]: """Returns fragmentation tree (SIRIUS) for the given formula result identifier Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). @@ -7878,19 +7878,19 @@ def get_frag_tree_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "FragmentationTree", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_frag_tree_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7908,7 +7908,7 @@ def get_frag_tree_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns fragmentation tree (SIRIUS) for the given formula result identifier Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). @@ -7953,81 +7953,81 @@ def get_frag_tree_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "FragmentationTree", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_frag_tree_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_frag_tree_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_isotope_pattern_annotation( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8045,7 +8045,7 @@ def get_isotope_pattern_annotation( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> IsotopePatternAnnotation: + ) -> IsotopePatternAnnotation: """Returns Isotope pattern information for given formulaId Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). @@ -8090,19 +8090,19 @@ def get_isotope_pattern_annotation( _response_types_map: Dict[str, Optional[str]] = { '200': "IsotopePatternAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_isotope_pattern_annotation_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8120,7 +8120,7 @@ def get_isotope_pattern_annotation_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[IsotopePatternAnnotation]: + ) -> ApiResponse[IsotopePatternAnnotation]: """Returns Isotope pattern information for given formulaId Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). @@ -8165,19 +8165,19 @@ def get_isotope_pattern_annotation_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "IsotopePatternAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_isotope_pattern_annotation_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8195,7 +8195,7 @@ def get_isotope_pattern_annotation_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns Isotope pattern information for given formulaId Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). @@ -8240,81 +8240,81 @@ def get_isotope_pattern_annotation_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "IsotopePatternAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_isotope_pattern_annotation_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_isotope_pattern_annotation_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_lipid_annotation( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8332,7 +8332,7 @@ def get_lipid_annotation( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LipidAnnotation: + ) -> LipidAnnotation: """Returns Lipid annotation (ElGordo) for the given formulaId Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. @@ -8377,19 +8377,19 @@ def get_lipid_annotation( _response_types_map: Dict[str, Optional[str]] = { '200': "LipidAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_lipid_annotation_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8407,7 +8407,7 @@ def get_lipid_annotation_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LipidAnnotation]: + ) -> ApiResponse[LipidAnnotation]: """Returns Lipid annotation (ElGordo) for the given formulaId Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. @@ -8452,19 +8452,19 @@ def get_lipid_annotation_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "LipidAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_lipid_annotation_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8482,7 +8482,7 @@ def get_lipid_annotation_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns Lipid annotation (ElGordo) for the given formulaId Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. @@ -8527,81 +8527,81 @@ def get_lipid_annotation_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "LipidAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_lipid_annotation_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_lipid_annotation_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_ms_data( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8619,7 +8619,7 @@ def get_ms_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> MsData: + ) -> MsData: """Mass Spec data (input data) for the given 'alignedFeatureId' . Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -8664,19 +8664,19 @@ def get_ms_data( _response_types_map: Dict[str, Optional[str]] = { '200': "MsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_ms_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8694,7 +8694,7 @@ def get_ms_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[MsData]: + ) -> ApiResponse[MsData]: """Mass Spec data (input data) for the given 'alignedFeatureId' . Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -8739,19 +8739,19 @@ def get_ms_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "MsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_ms_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8769,7 +8769,7 @@ def get_ms_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Mass Spec data (input data) for the given 'alignedFeatureId' . Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -8814,83 +8814,83 @@ def get_ms_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "MsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_ms_data_serialize( - self, - project_id, - aligned_feature_id, - ms_data_search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_ms_data_serialize( + self, + project_id, + aligned_feature_id, + ms_data_search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_quant_table_row_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8908,7 +8908,7 @@ def get_quant_table_row_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -8953,19 +8953,19 @@ def get_quant_table_row_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_quant_table_row_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8983,7 +8983,7 @@ def get_quant_table_row_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -9028,19 +9028,19 @@ def get_quant_table_row_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_quant_table_row_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9058,7 +9058,7 @@ def get_quant_table_row_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -9101,91 +9101,91 @@ def get_quant_table_row_experimental_without_preload_content( _host_index=_host_index ) - _response_types_map: Dict[str, Optional[str]] = { - '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_quant_table_row_experimental_serialize( - self, - project_id, - aligned_feature_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + _response_types_map: Dict[str, Optional[str]] = { + '200': "QuantTableExperimental", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_quant_table_row_experimental_serialize( + self, + project_id, + aligned_feature_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_match( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9198,7 +9198,7 @@ def get_spectral_library_match( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SpectralLibraryMatch: + ) -> SpectralLibraryMatch: """Spectral library match for the given 'alignedFeatureId'. Spectral library match for the given 'alignedFeatureId'. @@ -9246,25 +9246,25 @@ def get_spectral_library_match( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_match_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9277,7 +9277,7 @@ def get_spectral_library_match_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SpectralLibraryMatch]: + ) -> ApiResponse[SpectralLibraryMatch]: """Spectral library match for the given 'alignedFeatureId'. Spectral library match for the given 'alignedFeatureId'. @@ -9325,25 +9325,25 @@ def get_spectral_library_match_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_match_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], match_id: Annotated[StrictStr, Field(description="id of the library match to be returned.")], - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9356,7 +9356,7 @@ def get_spectral_library_match_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Spectral library match for the given 'alignedFeatureId'. Spectral library match for the given 'alignedFeatureId'. @@ -9404,87 +9404,87 @@ def get_spectral_library_match_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_match_serialize( - self, - project_id, - aligned_feature_id, - match_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if match_id is not None: - _path_params['matchId'] = match_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_match_serialize( + self, + project_id, + aligned_feature_id, + match_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if match_id is not None: + _path_params['matchId'] = match_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_matches( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9492,7 +9492,7 @@ def get_spectral_library_matches( min_shared_peaks: Optional[StrictInt] = None, min_similarity: Optional[float] = None, inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9505,7 +9505,7 @@ def get_spectral_library_matches( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SpectralLibraryMatch]: + ) -> List[SpectralLibraryMatch]: """List of spectral library matches for the given 'alignedFeatureId'. List of spectral library matches for the given 'alignedFeatureId'. @@ -9559,19 +9559,19 @@ def get_spectral_library_matches( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SpectralLibraryMatch]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_matches_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9579,7 +9579,7 @@ def get_spectral_library_matches_with_http_info( min_shared_peaks: Optional[StrictInt] = None, min_similarity: Optional[float] = None, inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9592,7 +9592,7 @@ def get_spectral_library_matches_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SpectralLibraryMatch]]: + ) -> ApiResponse[List[SpectralLibraryMatch]]: """List of spectral library matches for the given 'alignedFeatureId'. List of spectral library matches for the given 'alignedFeatureId'. @@ -9646,19 +9646,19 @@ def get_spectral_library_matches_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SpectralLibraryMatch]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_matches_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9666,7 +9666,7 @@ def get_spectral_library_matches_without_preload_content( min_shared_peaks: Optional[StrictInt] = None, min_similarity: Optional[float] = None, inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9679,7 +9679,7 @@ def get_spectral_library_matches_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of spectral library matches for the given 'alignedFeatureId'. List of spectral library matches for the given 'alignedFeatureId'. @@ -9733,99 +9733,99 @@ def get_spectral_library_matches_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SpectralLibraryMatch]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_matches_serialize( - self, - project_id, - aligned_feature_id, - min_shared_peaks, - min_similarity, - inchi_key, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - - if inchi_key is not None: - - _query_params.append(('inchiKey', inchi_key)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_serialize( + self, + project_id, + aligned_feature_id, + min_shared_peaks, + min_similarity, + inchi_key, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_matches_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9836,7 +9836,7 @@ def get_spectral_library_matches_paged( min_shared_peaks: Optional[StrictInt] = None, min_similarity: Optional[float] = None, inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9849,7 +9849,7 @@ def get_spectral_library_matches_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelSpectralLibraryMatch: + ) -> PagedModelSpectralLibraryMatch: """Page of spectral library matches for the given 'alignedFeatureId'. Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. @@ -9912,19 +9912,19 @@ def get_spectral_library_matches_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelSpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_matches_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9935,7 +9935,7 @@ def get_spectral_library_matches_paged_with_http_info( min_shared_peaks: Optional[StrictInt] = None, min_similarity: Optional[float] = None, inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -9948,7 +9948,7 @@ def get_spectral_library_matches_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelSpectralLibraryMatch]: + ) -> ApiResponse[PagedModelSpectralLibraryMatch]: """Page of spectral library matches for the given 'alignedFeatureId'. Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. @@ -10011,19 +10011,19 @@ def get_spectral_library_matches_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelSpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_matches_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10034,7 +10034,7 @@ def get_spectral_library_matches_paged_without_preload_content( min_shared_peaks: Optional[StrictInt] = None, min_similarity: Optional[float] = None, inchi_key: Optional[StrictStr] = None, - opt_fields: Optional[List[SpectralLibraryMatchOptField]] = None, + opt_fields: Optional[List[Optional[SpectralLibraryMatchOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -10047,7 +10047,7 @@ def get_spectral_library_matches_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of spectral library matches for the given 'alignedFeatureId'. Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. @@ -10110,115 +10110,115 @@ def get_spectral_library_matches_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelSpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_matches_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - min_shared_peaks, - min_similarity, - inchi_key, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - - if inchi_key is not None: - - _query_params.append(('inchiKey', inchi_key)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + min_shared_peaks, + min_similarity, + inchi_key, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_matches_summary( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10238,7 +10238,7 @@ def get_spectral_library_matches_summary( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SpectralLibraryMatchSummary: + ) -> SpectralLibraryMatchSummary: """Summarize matched reference spectra for the given 'alignedFeatureId'. Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. @@ -10289,19 +10289,19 @@ def get_spectral_library_matches_summary( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatchSummary", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_matches_summary_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10321,7 +10321,7 @@ def get_spectral_library_matches_summary_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SpectralLibraryMatchSummary]: + ) -> ApiResponse[SpectralLibraryMatchSummary]: """Summarize matched reference spectra for the given 'alignedFeatureId'. Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. @@ -10372,19 +10372,19 @@ def get_spectral_library_matches_summary_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatchSummary", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_matches_summary_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10404,7 +10404,7 @@ def get_spectral_library_matches_summary_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Summarize matched reference spectra for the given 'alignedFeatureId'. Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. @@ -10455,93 +10455,93 @@ def get_spectral_library_matches_summary_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatchSummary", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_matches_summary_serialize( - self, - project_id, - aligned_feature_id, - min_shared_peaks, - min_similarity, - inchi_key, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - - if inchi_key is not None: - - _query_params.append(('inchiKey', inchi_key)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_summary_serialize( + self, + project_id, + aligned_feature_id, + min_shared_peaks, + min_similarity, + inchi_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_annotated_ms_data_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10561,7 +10561,7 @@ def get_structure_annotated_ms_data_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedMsMsData: + ) -> AnnotatedMsMsData: """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10612,19 +10612,19 @@ def get_structure_annotated_ms_data_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_annotated_ms_data_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10644,7 +10644,7 @@ def get_structure_annotated_ms_data_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedMsMsData]: + ) -> ApiResponse[AnnotatedMsMsData]: """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10695,19 +10695,19 @@ def get_structure_annotated_ms_data_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_annotated_ms_data_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10727,7 +10727,7 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10778,89 +10778,89 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_annotated_ms_data_experimental_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - inchi_key, - ms_data_search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - if inchi_key is not None: - _path_params['inchiKey'] = inchi_key - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_annotated_ms_data_experimental_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + inchi_key, + ms_data_search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + if inchi_key is not None: + _path_params['inchiKey'] = inchi_key + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_annotated_spectral_library_match_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10878,7 +10878,7 @@ def get_structure_annotated_spectral_library_match_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: + ) -> AnnotatedSpectrum: """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10923,19 +10923,19 @@ def get_structure_annotated_spectral_library_match_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_annotated_spectral_library_match_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10953,7 +10953,7 @@ def get_structure_annotated_spectral_library_match_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: + ) -> ApiResponse[AnnotatedSpectrum]: """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10998,19 +10998,19 @@ def get_structure_annotated_spectral_library_match_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_annotated_spectral_library_match_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11028,7 +11028,7 @@ def get_structure_annotated_spectral_library_match_experimental_without_preload_ _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11073,81 +11073,81 @@ def get_structure_annotated_spectral_library_match_experimental_without_preload_ _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_annotated_spectral_library_match_experimental_serialize( - self, - project_id, - aligned_feature_id, - match_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if match_id is not None: - _path_params['matchId'] = match_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_annotated_spectral_library_match_experimental_serialize( + self, + project_id, + aligned_feature_id, + match_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if match_id is not None: + _path_params['matchId'] = match_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_annotated_spectrum_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11168,7 +11168,7 @@ def get_structure_annotated_spectrum_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: + ) -> AnnotatedSpectrum: """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11222,19 +11222,19 @@ def get_structure_annotated_spectrum_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_annotated_spectrum_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11255,7 +11255,7 @@ def get_structure_annotated_spectrum_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: + ) -> ApiResponse[AnnotatedSpectrum]: """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11309,19 +11309,19 @@ def get_structure_annotated_spectrum_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_annotated_spectrum_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11342,7 +11342,7 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11396,99 +11396,99 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_annotated_spectrum_experimental_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - inchi_key, - spectrum_index, - search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - if inchi_key is not None: - _path_params['inchiKey'] = inchi_key - # process the query parameters - if spectrum_index is not None: - - _query_params.append(('spectrumIndex', spectrum_index)) - - if search_prepared is not None: - - _query_params.append(('searchPrepared', search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_annotated_spectrum_experimental_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + inchi_key, + spectrum_index, + search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + if inchi_key is not None: + _path_params['inchiKey'] = inchi_key + # process the query parameters + if spectrum_index is not None: + + _query_params.append(('spectrumIndex', spectrum_index)) + + if search_prepared is not None: + + _query_params.append(('searchPrepared', search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11501,7 +11501,7 @@ def get_structure_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: + ) -> List[StructureCandidateFormula]: """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11546,24 +11546,24 @@ def get_structure_candidates( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11576,7 +11576,7 @@ def get_structure_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: + ) -> ApiResponse[List[StructureCandidateFormula]]: """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11621,24 +11621,24 @@ def get_structure_candidates_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the structure candidates belong to.")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11651,7 +11651,7 @@ def get_structure_candidates_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11696,90 +11696,90 @@ def get_structure_candidates_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_serialize( - self, - project_id, - aligned_feature_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_serialize( + self, + project_id, + aligned_feature_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates_by_formula( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11792,7 +11792,7 @@ def get_structure_candidates_by_formula( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateScored]: + ) -> List[StructureCandidateScored]: """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11840,25 +11840,25 @@ def get_structure_candidates_by_formula( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_by_formula_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11871,7 +11871,7 @@ def get_structure_candidates_by_formula_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateScored]]: + ) -> ApiResponse[List[StructureCandidateScored]]: """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11919,25 +11919,25 @@ def get_structure_candidates_by_formula_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_by_formula_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], aligned_feature_id: Annotated[StrictStr, Field(description="feature (aligned over runs) the formula result belongs to.")], formula_id: Annotated[StrictStr, Field(description="identifier of the requested formula result")], - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -11950,7 +11950,7 @@ def get_structure_candidates_by_formula_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11998,87 +11998,87 @@ def get_structure_candidates_by_formula_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_by_formula_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_by_formula_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates_by_formula_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12087,7 +12087,7 @@ def get_structure_candidates_by_formula_paged( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12100,7 +12100,7 @@ def get_structure_candidates_by_formula_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateScored: + ) -> PagedModelStructureCandidateScored: """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12157,19 +12157,19 @@ def get_structure_candidates_by_formula_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_by_formula_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12178,7 +12178,7 @@ def get_structure_candidates_by_formula_paged_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12191,7 +12191,7 @@ def get_structure_candidates_by_formula_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateScored]: + ) -> ApiResponse[PagedModelStructureCandidateScored]: """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12248,19 +12248,19 @@ def get_structure_candidates_by_formula_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_by_formula_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12269,7 +12269,7 @@ def get_structure_candidates_by_formula_paged_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12282,7 +12282,7 @@ def get_structure_candidates_by_formula_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12339,103 +12339,103 @@ def get_structure_candidates_by_formula_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_by_formula_paged_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_by_formula_paged_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12443,7 +12443,7 @@ def get_structure_candidates_paged( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12456,7 +12456,7 @@ def get_structure_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateFormula: + ) -> PagedModelStructureCandidateFormula: """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12510,19 +12510,19 @@ def get_structure_candidates_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12530,7 +12530,7 @@ def get_structure_candidates_paged_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12543,7 +12543,7 @@ def get_structure_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateFormula]: + ) -> ApiResponse[PagedModelStructureCandidateFormula]: """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12597,19 +12597,19 @@ def get_structure_candidates_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12617,7 +12617,7 @@ def get_structure_candidates_paged_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[StructureCandidateOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[StructureCandidateOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -12630,7 +12630,7 @@ def get_structure_candidates_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12684,100 +12684,100 @@ def get_structure_candidates_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags_for_aligned_features_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -12794,7 +12794,7 @@ def get_tags_for_aligned_features_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Get all tags associated with this Object [EXPERIMENTAL] Get all tags associated with this Object @@ -12836,19 +12836,19 @@ def get_tags_for_aligned_features_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_for_aligned_features_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -12865,7 +12865,7 @@ def get_tags_for_aligned_features_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Get all tags associated with this Object [EXPERIMENTAL] Get all tags associated with this Object @@ -12907,19 +12907,19 @@ def get_tags_for_aligned_features_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_for_aligned_features_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -12936,7 +12936,7 @@ def get_tags_for_aligned_features_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tags associated with this Object [EXPERIMENTAL] Get all tags associated with this Object @@ -12978,78 +12978,78 @@ def get_tags_for_aligned_features_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_for_aligned_features_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/tags/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_aligned_features_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -13067,7 +13067,7 @@ def get_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: + ) -> TraceSetExperimental: """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13112,19 +13112,19 @@ def get_traces_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -13142,7 +13142,7 @@ def get_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: + ) -> ApiResponse[TraceSetExperimental]: """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13187,19 +13187,19 @@ def get_traces_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -13217,7 +13217,7 @@ def get_traces_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13262,83 +13262,83 @@ def get_traces_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_traces_experimental_serialize( - self, - project_id, - aligned_feature_id, - include_all, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if include_all is not None: - - _query_params.append(('includeAll', include_all)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_traces_experimental_serialize( + self, + project_id, + aligned_feature_id, + include_all, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if include_all is not None: + + _query_params.append(('includeAll', include_all)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_tag_from_aligned_feature_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -13356,7 +13356,7 @@ def remove_tag_from_aligned_feature_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13401,19 +13401,19 @@ def remove_tag_from_aligned_feature_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_tag_from_aligned_feature_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -13431,7 +13431,7 @@ def remove_tag_from_aligned_feature_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13476,19 +13476,19 @@ def remove_tag_from_aligned_feature_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_tag_from_aligned_feature_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -13506,7 +13506,7 @@ def remove_tag_from_aligned_feature_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13551,69 +13551,69 @@ def remove_tag_from_aligned_feature_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_tag_from_aligned_feature_experimental_serialize( - self, - project_id, - aligned_feature_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_aligned_feature_experimental_serialize( + self, + project_id, + aligned_feature_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/info_api.py b/client-api_python/generated/PySirius/api/info_api.py index b6770f85..bd03e280 100644 --- a/client-api_python/generated/PySirius/api/info_api.py +++ b/client-api_python/generated/PySirius/api/info_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,36 +8,36 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import StrictBool -from typing import Optional -from PySirius.models.connection_check import ConnectionCheck -from PySirius.models.info import Info - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class InfoApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import StrictBool +from typing import Optional +from PySirius.models.connection_check import ConnectionCheck +from PySirius.models.info import Info + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class InfoApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def get_connection_check( self, _request_timeout: Union[ @@ -52,7 +52,7 @@ def get_connection_check( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ConnectionCheck: + ) -> ConnectionCheck: """get_connection_check @@ -87,19 +87,19 @@ def get_connection_check( _response_types_map: Dict[str, Optional[str]] = { '200': "ConnectionCheck", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_connection_check_with_http_info( self, _request_timeout: Union[ @@ -114,7 +114,7 @@ def get_connection_check_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ConnectionCheck]: + ) -> ApiResponse[ConnectionCheck]: """get_connection_check @@ -149,19 +149,19 @@ def get_connection_check_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ConnectionCheck", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_connection_check_without_preload_content( self, _request_timeout: Union[ @@ -176,7 +176,7 @@ def get_connection_check_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_connection_check @@ -211,72 +211,72 @@ def get_connection_check_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ConnectionCheck", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_connection_check_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/connection-status', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connection_check_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/connection-status', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_info( self, server_info: Optional[StrictBool] = None, @@ -293,7 +293,7 @@ def get_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Info: + ) -> Info: """get_info @@ -334,19 +334,19 @@ def get_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Info", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_info_with_http_info( self, server_info: Optional[StrictBool] = None, @@ -363,7 +363,7 @@ def get_info_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Info]: + ) -> ApiResponse[Info]: """get_info @@ -404,19 +404,19 @@ def get_info_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Info", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_info_without_preload_content( self, server_info: Optional[StrictBool] = None, @@ -433,7 +433,7 @@ def get_info_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_info @@ -474,76 +474,76 @@ def get_info_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Info", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_info_serialize( - self, - server_info, - update_info, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if server_info is not None: - - _query_params.append(('serverInfo', server_info)) - - if update_info is not None: - - _query_params.append(('updateInfo', update_info)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/info', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_info_serialize( + self, + server_info, + update_info, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if server_info is not None: + + _query_params.append(('serverInfo', server_info)) + + if update_info is not None: + + _query_params.append(('updateInfo', update_info)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/info', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/jobs_api.py b/client-api_python/generated/PySirius/api/jobs_api.py index b0379e8e..3327e913 100644 --- a/client-api_python/generated/PySirius/api/jobs_api.py +++ b/client-api_python/generated/PySirius/api/jobs_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,40 +8,40 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.job_submission import JobSubmission -from PySirius.models.paged_model_job import PagedModelJob -from PySirius.models.stored_job_submission import StoredJobSubmission - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class JobsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.job_submission import JobSubmission +from PySirius.models.paged_model_job import PagedModelJob +from PySirius.models.stored_job_submission import StoredJobSubmission + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class JobsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def delete_job( self, project_id: Annotated[StrictStr, Field(description="project-space to delete job from")], @@ -60,7 +60,7 @@ def delete_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete job. Delete job. Specify how to behave for running jobs. @@ -108,19 +108,19 @@ def delete_job( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete job from")], @@ -139,7 +139,7 @@ def delete_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete job. Delete job. Specify how to behave for running jobs. @@ -187,19 +187,19 @@ def delete_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete job from")], @@ -218,7 +218,7 @@ def delete_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete job. Delete job. Specify how to behave for running jobs. @@ -266,82 +266,82 @@ def delete_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_job_serialize( - self, - project_id, - job_id, - cancel_if_running, - await_deletion, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if job_id is not None: - _path_params['jobId'] = job_id - # process the query parameters - if cancel_if_running is not None: - - _query_params.append(('cancelIfRunning', cancel_if_running)) - - if await_deletion is not None: - - _query_params.append(('awaitDeletion', await_deletion)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/jobs/{jobId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_job_serialize( + self, + project_id, + job_id, + cancel_if_running, + await_deletion, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if job_id is not None: + _path_params['jobId'] = job_id + # process the query parameters + if cancel_if_running is not None: + + _query_params.append(('cancelIfRunning', cancel_if_running)) + + if await_deletion is not None: + + _query_params.append(('awaitDeletion', await_deletion)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/jobs/{jobId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_job_config( self, name: Annotated[StrictStr, Field(description="name of the job-config to delete")], @@ -357,7 +357,7 @@ def delete_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete job configuration with given name. Delete job configuration with given name. @@ -396,19 +396,19 @@ def delete_job_config( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_job_config_with_http_info( self, name: Annotated[StrictStr, Field(description="name of the job-config to delete")], @@ -424,7 +424,7 @@ def delete_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete job configuration with given name. Delete job configuration with given name. @@ -463,19 +463,19 @@ def delete_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_job_config_without_preload_content( self, name: Annotated[StrictStr, Field(description="name of the job-config to delete")], @@ -491,7 +491,7 @@ def delete_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete job configuration with given name. Delete job configuration with given name. @@ -530,69 +530,69 @@ def delete_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_job_config_serialize( - self, - name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if name is not None: - _path_params['name'] = name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/job-configs/{name}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_job_config_serialize( + self, + name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if name is not None: + _path_params['name'] = name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/job-configs/{name}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_jobs( self, project_id: Annotated[StrictStr, Field(description="project-space to delete jobs from")], @@ -610,7 +610,7 @@ def delete_jobs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """* Delete ALL jobs. * Delete ALL jobs. Specify how to behave for running jobs. @@ -655,19 +655,19 @@ def delete_jobs( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_jobs_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete jobs from")], @@ -685,7 +685,7 @@ def delete_jobs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """* Delete ALL jobs. * Delete ALL jobs. Specify how to behave for running jobs. @@ -730,19 +730,19 @@ def delete_jobs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_jobs_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete jobs from")], @@ -760,7 +760,7 @@ def delete_jobs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """* Delete ALL jobs. * Delete ALL jobs. Specify how to behave for running jobs. @@ -805,79 +805,79 @@ def delete_jobs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_jobs_serialize( - self, - project_id, - cancel_if_running, - await_deletion, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if cancel_if_running is not None: - - _query_params.append(('cancelIfRunning', cancel_if_running)) - - if await_deletion is not None: - - _query_params.append(('awaitDeletion', await_deletion)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_jobs_serialize( + self, + project_id, + cancel_if_running, + await_deletion, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if cancel_if_running is not None: + + _query_params.append(('cancelIfRunning', cancel_if_running)) + + if await_deletion is not None: + + _query_params.append(('awaitDeletion', await_deletion)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_command( self, job_submission: JobSubmission, @@ -893,7 +893,7 @@ def get_command( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[str]: + ) -> List[str]: """Get a CLI command for the given job configuration. Get a CLI command for the given job configuration. @@ -932,19 +932,19 @@ def get_command( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_command_with_http_info( self, job_submission: JobSubmission, @@ -960,7 +960,7 @@ def get_command_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[str]]: + ) -> ApiResponse[List[str]]: """Get a CLI command for the given job configuration. Get a CLI command for the given job configuration. @@ -999,19 +999,19 @@ def get_command_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_command_without_preload_content( self, job_submission: JobSubmission, @@ -1027,7 +1027,7 @@ def get_command_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get a CLI command for the given job configuration. Get a CLI command for the given job configuration. @@ -1066,88 +1066,88 @@ def get_command_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_command_serialize( - self, - job_submission, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if job_submission is not None: - _body_params = job_submission - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/job-configs/get-command', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_command_serialize( + self, + job_submission, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if job_submission is not None: + _body_params = job_submission + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/job-configs/get-command', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_default_job_config( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, @@ -1165,7 +1165,7 @@ def get_default_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> JobSubmission: + ) -> JobSubmission: """Request default job configuration Request default job configuration @@ -1210,19 +1210,19 @@ def get_default_job_config( _response_types_map: Dict[str, Optional[str]] = { '200': "JobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_default_job_config_with_http_info( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, @@ -1240,7 +1240,7 @@ def get_default_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[JobSubmission]: + ) -> ApiResponse[JobSubmission]: """Request default job configuration Request default job configuration @@ -1285,19 +1285,19 @@ def get_default_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "JobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_default_job_config_without_preload_content( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, @@ -1315,7 +1315,7 @@ def get_default_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Request default job configuration Request default job configuration @@ -1360,92 +1360,92 @@ def get_default_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "JobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_default_job_config_serialize( - self, - include_config_map, - move_parameters_to_config_map, - include_custom_dbs_for_structure_search, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_config_map is not None: - - _query_params.append(('includeConfigMap', include_config_map)) - - if move_parameters_to_config_map is not None: - - _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) - - if include_custom_dbs_for_structure_search is not None: - - _query_params.append(('includeCustomDbsForStructureSearch', include_custom_dbs_for_structure_search)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/default-job-config', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_default_job_config_serialize( + self, + include_config_map, + move_parameters_to_config_map, + include_custom_dbs_for_structure_search, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_config_map is not None: + + _query_params.append(('includeConfigMap', include_config_map)) + + if move_parameters_to_config_map is not None: + + _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) + + if include_custom_dbs_for_structure_search is not None: + + _query_params.append(('includeCustomDbsForStructureSearch', include_custom_dbs_for_structure_search)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/default-job-config', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_id: Annotated[StrictStr, Field(description="of the job to be returned")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1458,7 +1458,7 @@ def get_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Get job information and its current state and progress (if available). Get job information and its current state and progress (if available). @@ -1503,24 +1503,24 @@ def get_job( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_id: Annotated[StrictStr, Field(description="of the job to be returned")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1533,7 +1533,7 @@ def get_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Get job information and its current state and progress (if available). Get job information and its current state and progress (if available). @@ -1578,24 +1578,24 @@ def get_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_id: Annotated[StrictStr, Field(description="of the job to be returned")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1608,7 +1608,7 @@ def get_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get job information and its current state and progress (if available). Get job information and its current state and progress (if available). @@ -1653,84 +1653,84 @@ def get_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_serialize( - self, - project_id, - job_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if job_id is not None: - _path_params['jobId'] = job_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/jobs/{jobId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_serialize( + self, + project_id, + job_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if job_id is not None: + _path_params['jobId'] = job_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/jobs/{jobId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job_config( self, name: Annotated[StrictStr, Field(description="name of the job-config to return")], @@ -1747,7 +1747,7 @@ def get_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StoredJobSubmission: + ) -> StoredJobSubmission: """Request job configuration with given name. Request job configuration with given name. @@ -1789,19 +1789,19 @@ def get_job_config( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_config_with_http_info( self, name: Annotated[StrictStr, Field(description="name of the job-config to return")], @@ -1818,7 +1818,7 @@ def get_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StoredJobSubmission]: + ) -> ApiResponse[StoredJobSubmission]: """Request job configuration with given name. Request job configuration with given name. @@ -1860,19 +1860,19 @@ def get_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_config_without_preload_content( self, name: Annotated[StrictStr, Field(description="name of the job-config to return")], @@ -1889,7 +1889,7 @@ def get_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Request job configuration with given name. Request job configuration with given name. @@ -1931,80 +1931,80 @@ def get_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_config_serialize( - self, - name, - move_parameters_to_config_map, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if name is not None: - _path_params['name'] = name - # process the query parameters - if move_parameters_to_config_map is not None: - - _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/job-configs/{name}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_config_serialize( + self, + name, + move_parameters_to_config_map, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if name is not None: + _path_params['name'] = name + # process the query parameters + if move_parameters_to_config_map is not None: + + _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/job-configs/{name}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job_config_names( self, _request_timeout: Union[ @@ -2019,7 +2019,7 @@ def get_job_config_names( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[str]: + ) -> List[str]: """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. @@ -2056,19 +2056,19 @@ def get_job_config_names( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_config_names_with_http_info( self, _request_timeout: Union[ @@ -2083,7 +2083,7 @@ def get_job_config_names_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[str]]: + ) -> ApiResponse[List[str]]: """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. @@ -2120,19 +2120,19 @@ def get_job_config_names_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_config_names_without_preload_content( self, _request_timeout: Union[ @@ -2147,7 +2147,7 @@ def get_job_config_names_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. @@ -2184,72 +2184,72 @@ def get_job_config_names_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_config_names_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/job-config-names', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_config_names_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/job-config-names', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job_configs( self, _request_timeout: Union[ @@ -2264,7 +2264,7 @@ def get_job_configs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StoredJobSubmission]: + ) -> List[StoredJobSubmission]: """Request all available job configurations Request all available job configurations @@ -2300,19 +2300,19 @@ def get_job_configs( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StoredJobSubmission]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_configs_with_http_info( self, _request_timeout: Union[ @@ -2327,7 +2327,7 @@ def get_job_configs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StoredJobSubmission]]: + ) -> ApiResponse[List[StoredJobSubmission]]: """Request all available job configurations Request all available job configurations @@ -2363,19 +2363,19 @@ def get_job_configs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StoredJobSubmission]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_configs_without_preload_content( self, _request_timeout: Union[ @@ -2390,7 +2390,7 @@ def get_job_configs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Request all available job configurations Request all available job configurations @@ -2426,76 +2426,76 @@ def get_job_configs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StoredJobSubmission]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_configs_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/job-configs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_configs_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/job-configs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_jobs( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2508,7 +2508,7 @@ def get_jobs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Job]: + ) -> List[Job]: """Get List of all available jobs with information such as current state and progress (if available). Get List of all available jobs with information such as current state and progress (if available). @@ -2550,23 +2550,23 @@ def get_jobs( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Job]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_jobs_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2579,7 +2579,7 @@ def get_jobs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Job]]: + ) -> ApiResponse[List[Job]]: """Get List of all available jobs with information such as current state and progress (if available). Get List of all available jobs with information such as current state and progress (if available). @@ -2621,23 +2621,23 @@ def get_jobs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Job]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_jobs_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2650,7 +2650,7 @@ def get_jobs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get List of all available jobs with information such as current state and progress (if available). Get List of all available jobs with information such as current state and progress (if available). @@ -2692,88 +2692,88 @@ def get_jobs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Job]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_jobs_serialize( - self, - project_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_jobs_serialize( + self, + project_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_jobs_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2786,7 +2786,7 @@ def get_jobs_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelJob: + ) -> PagedModelJob: """Get Page of jobs with information such as current state and progress (if available). Get Page of jobs with information such as current state and progress (if available). @@ -2837,26 +2837,26 @@ def get_jobs_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelJob", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_jobs_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2869,7 +2869,7 @@ def get_jobs_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelJob]: + ) -> ApiResponse[PagedModelJob]: """Get Page of jobs with information such as current state and progress (if available). Get Page of jobs with information such as current state and progress (if available). @@ -2920,26 +2920,26 @@ def get_jobs_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelJob", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_jobs_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2952,7 +2952,7 @@ def get_jobs_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get Page of jobs with information such as current state and progress (if available). Get Page of jobs with information such as current state and progress (if available). @@ -3003,97 +3003,97 @@ def get_jobs_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelJob", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_jobs_paged_serialize( - self, - project_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/jobs/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_jobs_paged_serialize( + self, + project_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/jobs/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def has_jobs( self, project_id: StrictStr, @@ -3110,7 +3110,7 @@ def has_jobs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bool: + ) -> bool: """has_jobs @@ -3151,19 +3151,19 @@ def has_jobs( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def has_jobs_with_http_info( self, project_id: StrictStr, @@ -3180,7 +3180,7 @@ def has_jobs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bool]: + ) -> ApiResponse[bool]: """has_jobs @@ -3221,19 +3221,19 @@ def has_jobs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def has_jobs_without_preload_content( self, project_id: StrictStr, @@ -3250,7 +3250,7 @@ def has_jobs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """has_jobs @@ -3291,80 +3291,80 @@ def has_jobs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _has_jobs_serialize( - self, - project_id, - include_finished, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if include_finished is not None: - - _query_params.append(('includeFinished', include_finished)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/has-jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _has_jobs_serialize( + self, + project_id, + include_finished, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if include_finished is not None: + + _query_params.append(('includeFinished', include_finished)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/has-jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def save_job_config( self, name: Annotated[StrictStr, Field(description="name of the job-config to add")], @@ -3383,7 +3383,7 @@ def save_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StoredJobSubmission: + ) -> StoredJobSubmission: """Add new job configuration with given name. Add new job configuration with given name. @@ -3431,19 +3431,19 @@ def save_job_config( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def save_job_config_with_http_info( self, name: Annotated[StrictStr, Field(description="name of the job-config to add")], @@ -3462,7 +3462,7 @@ def save_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StoredJobSubmission]: + ) -> ApiResponse[StoredJobSubmission]: """Add new job configuration with given name. Add new job configuration with given name. @@ -3510,19 +3510,19 @@ def save_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def save_job_config_without_preload_content( self, name: Annotated[StrictStr, Field(description="name of the job-config to add")], @@ -3541,7 +3541,7 @@ def save_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Add new job configuration with given name. Add new job configuration with given name. @@ -3589,106 +3589,106 @@ def save_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _save_job_config_serialize( - self, - name, - job_submission, - override_existing, - move_parameters_to_config_map, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if name is not None: - _path_params['name'] = name - # process the query parameters - if override_existing is not None: - - _query_params.append(('overrideExisting', override_existing)) - - if move_parameters_to_config_map is not None: - - _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) - - # process the header parameters - # process the form parameters - # process the body parameter - if job_submission is not None: - _body_params = job_submission - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/job-configs/{name}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _save_job_config_serialize( + self, + name, + job_submission, + override_existing, + move_parameters_to_config_map, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if name is not None: + _path_params['name'] = name + # process the query parameters + if override_existing is not None: + + _query_params.append(('overrideExisting', override_existing)) + + if move_parameters_to_config_map is not None: + + _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) + + # process the header parameters + # process the form parameters + # process the body parameter + if job_submission is not None: + _body_params = job_submission + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/job-configs/{name}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def start_job( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_submission: Annotated[JobSubmission, Field(description="configuration of the job that will be submitted of the job to be returned")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3701,7 +3701,7 @@ def start_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Start computation for given compounds and with given parameters. Start computation for given compounds and with given parameters. @@ -3746,24 +3746,24 @@ def start_job( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def start_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_submission: Annotated[JobSubmission, Field(description="configuration of the job that will be submitted of the job to be returned")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3776,7 +3776,7 @@ def start_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Start computation for given compounds and with given parameters. Start computation for given compounds and with given parameters. @@ -3821,24 +3821,24 @@ def start_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def start_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_submission: Annotated[JobSubmission, Field(description="configuration of the job that will be submitted of the job to be returned")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3851,7 +3851,7 @@ def start_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Start computation for given compounds and with given parameters. Start computation for given compounds and with given parameters. @@ -3896,104 +3896,104 @@ def start_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _start_job_serialize( - self, - project_id, - job_submission, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if job_submission is not None: - _body_params = job_submission - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_job_serialize( + self, + project_id, + job_submission, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if job_submission is not None: + _body_params = job_submission + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def start_job_from_config( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_config_name: Annotated[StrictStr, Field(description="name if the config to be used")], request_body: Annotated[List[StrictStr], Field(description="List of alignedFeatureIds to be computed")], recompute: Annotated[Optional[StrictBool], Field(description="enable or disable recompute. If null the stored value will be used.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4006,7 +4006,7 @@ def start_job_from_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Start computation for given compounds and with parameters from a stored job-config. Start computation for given compounds and with parameters from a stored job-config. @@ -4057,26 +4057,26 @@ def start_job_from_config( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def start_job_from_config_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_config_name: Annotated[StrictStr, Field(description="name if the config to be used")], request_body: Annotated[List[StrictStr], Field(description="List of alignedFeatureIds to be computed")], recompute: Annotated[Optional[StrictBool], Field(description="enable or disable recompute. If null the stored value will be used.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4089,7 +4089,7 @@ def start_job_from_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Start computation for given compounds and with parameters from a stored job-config. Start computation for given compounds and with parameters from a stored job-config. @@ -4140,26 +4140,26 @@ def start_job_from_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def start_job_from_config_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], job_config_name: Annotated[StrictStr, Field(description="name if the config to be used")], request_body: Annotated[List[StrictStr], Field(description="List of alignedFeatureIds to be computed")], recompute: Annotated[Optional[StrictBool], Field(description="enable or disable recompute. If null the stored value will be used.")] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4172,7 +4172,7 @@ def start_job_from_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Start computation for given compounds and with parameters from a stored job-config. Start computation for given compounds and with parameters from a stored job-config. @@ -4223,102 +4223,102 @@ def start_job_from_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _start_job_from_config_serialize( - self, - project_id, - job_config_name, - request_body, - recompute, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if job_config_name is not None: - - _query_params.append(('jobConfigName', job_config_name)) - - if recompute is not None: - - _query_params.append(('recompute', recompute)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/jobs/from-config', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_job_from_config_serialize( + self, + project_id, + job_config_name, + request_body, + recompute, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if job_config_name is not None: + + _query_params.append(('jobConfigName', job_config_name)) + + if recompute is not None: + + _query_params.append(('recompute', recompute)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/jobs/from-config', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/login_and_account_api.py b/client-api_python/generated/PySirius/api/login_and_account_api.py index c2b4ae3a..0bd3c6a4 100644 --- a/client-api_python/generated/PySirius/api/login_and_account_api.py +++ b/client-api_python/generated/PySirius/api/login_and_account_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,38 +8,38 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.account_credentials import AccountCredentials -from PySirius.models.account_info import AccountInfo -from PySirius.models.subscription import Subscription - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class LoginAndAccountApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.account_credentials import AccountCredentials +from PySirius.models.account_info import AccountInfo +from PySirius.models.subscription import Subscription + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class LoginAndAccountApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def get_account_info( self, include_subs: Annotated[Optional[StrictBool], Field(description="include available and active subscriptions in {@link AccountInfo AccountInfo}.")] = None, @@ -55,7 +55,7 @@ def get_account_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AccountInfo: + ) -> AccountInfo: """Get information about the account currently logged in. Get information about the account currently logged in. Fails if not logged in. @@ -94,19 +94,19 @@ def get_account_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_account_info_with_http_info( self, include_subs: Annotated[Optional[StrictBool], Field(description="include available and active subscriptions in {@link AccountInfo AccountInfo}.")] = None, @@ -122,7 +122,7 @@ def get_account_info_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AccountInfo]: + ) -> ApiResponse[AccountInfo]: """Get information about the account currently logged in. Get information about the account currently logged in. Fails if not logged in. @@ -161,19 +161,19 @@ def get_account_info_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_account_info_without_preload_content( self, include_subs: Annotated[Optional[StrictBool], Field(description="include available and active subscriptions in {@link AccountInfo AccountInfo}.")] = None, @@ -189,7 +189,7 @@ def get_account_info_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get information about the account currently logged in. Get information about the account currently logged in. Fails if not logged in. @@ -228,77 +228,77 @@ def get_account_info_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_account_info_serialize( - self, - include_subs, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_subs is not None: - - _query_params.append(('includeSubs', include_subs)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_account_info_serialize( + self, + include_subs, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_subs is not None: + + _query_params.append(('includeSubs', include_subs)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_sign_up_url( self, _request_timeout: Union[ @@ -313,7 +313,7 @@ def get_sign_up_url( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get SignUp URL (For signUp via web browser) Get SignUp URL (For signUp via web browser) @@ -349,19 +349,19 @@ def get_sign_up_url( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_sign_up_url_with_http_info( self, _request_timeout: Union[ @@ -376,7 +376,7 @@ def get_sign_up_url_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get SignUp URL (For signUp via web browser) Get SignUp URL (For signUp via web browser) @@ -412,19 +412,19 @@ def get_sign_up_url_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_sign_up_url_without_preload_content( self, _request_timeout: Union[ @@ -439,7 +439,7 @@ def get_sign_up_url_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get SignUp URL (For signUp via web browser) Get SignUp URL (For signUp via web browser) @@ -475,72 +475,72 @@ def get_sign_up_url_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_sign_up_url_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/plain;charset=UTF-8' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/signUpURL', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_sign_up_url_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/plain;charset=UTF-8' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/signUpURL', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_subscriptions( self, _request_timeout: Union[ @@ -555,7 +555,7 @@ def get_subscriptions( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Subscription]: + ) -> List[Subscription]: """Get available subscriptions of the account currently logged in. Get available subscriptions of the account currently logged in. Fails if not logged in. @@ -591,19 +591,19 @@ def get_subscriptions( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Subscription]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_subscriptions_with_http_info( self, _request_timeout: Union[ @@ -618,7 +618,7 @@ def get_subscriptions_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Subscription]]: + ) -> ApiResponse[List[Subscription]]: """Get available subscriptions of the account currently logged in. Get available subscriptions of the account currently logged in. Fails if not logged in. @@ -654,19 +654,19 @@ def get_subscriptions_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Subscription]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_subscriptions_without_preload_content( self, _request_timeout: Union[ @@ -681,7 +681,7 @@ def get_subscriptions_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get available subscriptions of the account currently logged in. Get available subscriptions of the account currently logged in. Fails if not logged in. @@ -717,72 +717,72 @@ def get_subscriptions_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Subscription]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_subscriptions_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/subscriptions', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_subscriptions_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/subscriptions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def is_logged_in( self, _request_timeout: Union[ @@ -797,7 +797,7 @@ def is_logged_in( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bool: + ) -> bool: """Check if a user is logged in. Check if a user is logged in. @@ -833,19 +833,19 @@ def is_logged_in( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def is_logged_in_with_http_info( self, _request_timeout: Union[ @@ -860,7 +860,7 @@ def is_logged_in_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bool]: + ) -> ApiResponse[bool]: """Check if a user is logged in. Check if a user is logged in. @@ -896,19 +896,19 @@ def is_logged_in_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def is_logged_in_without_preload_content( self, _request_timeout: Union[ @@ -923,7 +923,7 @@ def is_logged_in_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Check if a user is logged in. Check if a user is logged in. @@ -959,72 +959,72 @@ def is_logged_in_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _is_logged_in_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/isLoggedIn', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _is_logged_in_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/isLoggedIn', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def login( self, accept_terms: StrictBool, @@ -1043,7 +1043,7 @@ def login( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AccountInfo: + ) -> AccountInfo: """Login into SIRIUS web services and activate default subscription if available. Login into SIRIUS web services and activate default subscription if available. @@ -1091,19 +1091,19 @@ def login( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def login_with_http_info( self, accept_terms: StrictBool, @@ -1122,7 +1122,7 @@ def login_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AccountInfo]: + ) -> ApiResponse[AccountInfo]: """Login into SIRIUS web services and activate default subscription if available. Login into SIRIUS web services and activate default subscription if available. @@ -1170,19 +1170,19 @@ def login_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def login_without_preload_content( self, accept_terms: StrictBool, @@ -1201,7 +1201,7 @@ def login_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Login into SIRIUS web services and activate default subscription if available. Login into SIRIUS web services and activate default subscription if available. @@ -1249,103 +1249,103 @@ def login_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _login_serialize( - self, - accept_terms, - account_credentials, - fail_when_logged_in, - include_subs, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if accept_terms is not None: - - _query_params.append(('acceptTerms', accept_terms)) - - if fail_when_logged_in is not None: - - _query_params.append(('failWhenLoggedIn', fail_when_logged_in)) - - if include_subs is not None: - - _query_params.append(('includeSubs', include_subs)) - - # process the header parameters - # process the form parameters - # process the body parameter - if account_credentials is not None: - _body_params = account_credentials - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/account/login', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _login_serialize( + self, + accept_terms, + account_credentials, + fail_when_logged_in, + include_subs, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if accept_terms is not None: + + _query_params.append(('acceptTerms', accept_terms)) + + if fail_when_logged_in is not None: + + _query_params.append(('failWhenLoggedIn', fail_when_logged_in)) + + if include_subs is not None: + + _query_params.append(('includeSubs', include_subs)) + + # process the header parameters + # process the form parameters + # process the body parameter + if account_credentials is not None: + _body_params = account_credentials + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/account/login', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def logout( self, _request_timeout: Union[ @@ -1360,7 +1360,7 @@ def logout( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Logout from SIRIUS web services. Logout from SIRIUS web services. @@ -1396,19 +1396,19 @@ def logout( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def logout_with_http_info( self, _request_timeout: Union[ @@ -1423,7 +1423,7 @@ def logout_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Logout from SIRIUS web services. Logout from SIRIUS web services. @@ -1459,19 +1459,19 @@ def logout_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def logout_without_preload_content( self, _request_timeout: Union[ @@ -1486,7 +1486,7 @@ def logout_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Logout from SIRIUS web services. Logout from SIRIUS web services. @@ -1522,66 +1522,66 @@ def logout_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _logout_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/account/logout', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _logout_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/account/logout', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def open_portal( self, _request_timeout: Union[ @@ -1596,7 +1596,7 @@ def open_portal( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Open User portal in browser. Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser. @@ -1632,19 +1632,19 @@ def open_portal( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def open_portal_with_http_info( self, _request_timeout: Union[ @@ -1659,7 +1659,7 @@ def open_portal_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Open User portal in browser. Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser. @@ -1695,19 +1695,19 @@ def open_portal_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def open_portal_without_preload_content( self, _request_timeout: Union[ @@ -1722,7 +1722,7 @@ def open_portal_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Open User portal in browser. Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser. @@ -1758,66 +1758,66 @@ def open_portal_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _open_portal_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/openPortal', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _open_portal_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/openPortal', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def select_subscription( self, sid: StrictStr, @@ -1833,7 +1833,7 @@ def select_subscription( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AccountInfo: + ) -> AccountInfo: """Select a subscription as active subscription to be used for computations. Select a subscription as active subscription to be used for computations. @@ -1872,19 +1872,19 @@ def select_subscription( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def select_subscription_with_http_info( self, sid: StrictStr, @@ -1900,7 +1900,7 @@ def select_subscription_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AccountInfo]: + ) -> ApiResponse[AccountInfo]: """Select a subscription as active subscription to be used for computations. Select a subscription as active subscription to be used for computations. @@ -1939,19 +1939,19 @@ def select_subscription_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def select_subscription_without_preload_content( self, sid: StrictStr, @@ -1967,7 +1967,7 @@ def select_subscription_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Select a subscription as active subscription to be used for computations. Select a subscription as active subscription to be used for computations. @@ -2006,77 +2006,77 @@ def select_subscription_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _select_subscription_serialize( - self, - sid, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if sid is not None: - - _query_params.append(('sid', sid)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/account/subscriptions/select-active', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _select_subscription_serialize( + self, + sid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if sid is not None: + + _query_params.append(('sid', sid)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/account/subscriptions/select-active', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def sign_up( self, _request_timeout: Union[ @@ -2091,7 +2091,7 @@ def sign_up( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Open SignUp window in system browser and return signUp link. Open SignUp window in system browser and return signUp link. @@ -2127,19 +2127,19 @@ def sign_up( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def sign_up_with_http_info( self, _request_timeout: Union[ @@ -2154,7 +2154,7 @@ def sign_up_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Open SignUp window in system browser and return signUp link. Open SignUp window in system browser and return signUp link. @@ -2190,19 +2190,19 @@ def sign_up_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def sign_up_without_preload_content( self, _request_timeout: Union[ @@ -2217,7 +2217,7 @@ def sign_up_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Open SignUp window in system browser and return signUp link. Open SignUp window in system browser and return signUp link. @@ -2253,66 +2253,66 @@ def sign_up_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _sign_up_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/plain;charset=UTF-8' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/signUp', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _sign_up_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/plain;charset=UTF-8' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/signUp', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/projects_api.py b/client-api_python/generated/PySirius/api/projects_api.py index 1ee308cb..270639dd 100644 --- a/client-api_python/generated/PySirius/api/projects_api.py +++ b/client-api_python/generated/PySirius/api/projects_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,41 +8,41 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr -from typing import List, Optional, Tuple, Union -from typing_extensions import Annotated -from PySirius.models.import_result import ImportResult -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.lcms_submission_parameters import LcmsSubmissionParameters -from PySirius.models.project_info import ProjectInfo -from PySirius.models.project_info_opt_field import ProjectInfoOptField - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class ProjectsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr +from typing import List, Optional, Tuple, Union +from typing_extensions import Annotated +from PySirius.models.import_result import ImportResult +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.lcms_submission_parameters import LcmsSubmissionParameters +from PySirius.models.project_info import ProjectInfo +from PySirius.models.project_info_opt_field import ProjectInfoOptField + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class ProjectsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def close_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], @@ -59,7 +59,7 @@ def close_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Close project-space and remove it from the application Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. @@ -101,19 +101,19 @@ def close_project( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def close_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], @@ -130,7 +130,7 @@ def close_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Close project-space and remove it from the application Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. @@ -172,19 +172,19 @@ def close_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def close_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], @@ -201,7 +201,7 @@ def close_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Close project-space and remove it from the application Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. @@ -243,79 +243,79 @@ def close_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _close_project_serialize( - self, - project_id, - compact, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if compact is not None: - - _query_params.append(('compact', compact)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _close_project_serialize( + self, + project_id, + compact, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if compact is not None: + + _query_params.append(('compact', compact)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def create_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -328,7 +328,7 @@ def create_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ProjectInfo: + ) -> ProjectInfo: """Create and open a new project-space at given location and make it accessible via the given projectId. Create and open a new project-space at given location and make it accessible via the given projectId. @@ -373,24 +373,24 @@ def create_project( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def create_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -403,7 +403,7 @@ def create_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ProjectInfo]: + ) -> ApiResponse[ProjectInfo]: """Create and open a new project-space at given location and make it accessible via the given projectId. Create and open a new project-space at given location and make it accessible via the given projectId. @@ -448,24 +448,24 @@ def create_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def create_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -478,7 +478,7 @@ def create_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Create and open a new project-space at given location and make it accessible via the given projectId. Create and open a new project-space at given location and make it accessible via the given projectId. @@ -523,86 +523,86 @@ def create_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _create_project_serialize( - self, - project_id, - path_to_project, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if path_to_project is not None: - - _query_params.append(('pathToProject', path_to_project)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_project_serialize( + self, + project_id, + path_to_project, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if path_to_project is not None: + + _query_params.append(('pathToProject', path_to_project)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_canopus_classy_fire_data( self, project_id: StrictStr, @@ -619,7 +619,7 @@ def get_canopus_classy_fire_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get CANOPUS prediction vector definition for ClassyFire classes @@ -660,19 +660,19 @@ def get_canopus_classy_fire_data( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_canopus_classy_fire_data_with_http_info( self, project_id: StrictStr, @@ -689,7 +689,7 @@ def get_canopus_classy_fire_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get CANOPUS prediction vector definition for ClassyFire classes @@ -730,19 +730,19 @@ def get_canopus_classy_fire_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_canopus_classy_fire_data_without_preload_content( self, project_id: StrictStr, @@ -759,7 +759,7 @@ def get_canopus_classy_fire_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get CANOPUS prediction vector definition for ClassyFire classes @@ -800,81 +800,81 @@ def get_canopus_classy_fire_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_canopus_classy_fire_data_serialize( - self, - project_id, - charge, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if charge is not None: - - _query_params.append(('charge', charge)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/cf-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_canopus_classy_fire_data_serialize( + self, + project_id, + charge, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if charge is not None: + + _query_params.append(('charge', charge)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/cf-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_canopus_npc_data( self, project_id: StrictStr, @@ -891,7 +891,7 @@ def get_canopus_npc_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get CANOPUS prediction vector definition for NPC classes @@ -932,19 +932,19 @@ def get_canopus_npc_data( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_canopus_npc_data_with_http_info( self, project_id: StrictStr, @@ -961,7 +961,7 @@ def get_canopus_npc_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get CANOPUS prediction vector definition for NPC classes @@ -1002,19 +1002,19 @@ def get_canopus_npc_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_canopus_npc_data_without_preload_content( self, project_id: StrictStr, @@ -1031,7 +1031,7 @@ def get_canopus_npc_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get CANOPUS prediction vector definition for NPC classes @@ -1072,81 +1072,81 @@ def get_canopus_npc_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_canopus_npc_data_serialize( - self, - project_id, - charge, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if charge is not None: - - _query_params.append(('charge', charge)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/npc-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_canopus_npc_data_serialize( + self, + project_id, + charge, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if charge is not None: + + _query_params.append(('charge', charge)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/npc-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_finger_id_data( self, project_id: StrictStr, @@ -1163,7 +1163,7 @@ def get_finger_id_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get CSI:FingerID fingerprint (prediction vector) definition @@ -1204,19 +1204,19 @@ def get_finger_id_data( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_finger_id_data_with_http_info( self, project_id: StrictStr, @@ -1233,7 +1233,7 @@ def get_finger_id_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get CSI:FingerID fingerprint (prediction vector) definition @@ -1274,19 +1274,19 @@ def get_finger_id_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_finger_id_data_without_preload_content( self, project_id: StrictStr, @@ -1303,7 +1303,7 @@ def get_finger_id_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get CSI:FingerID fingerprint (prediction vector) definition @@ -1344,85 +1344,85 @@ def get_finger_id_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_finger_id_data_serialize( - self, - project_id, - charge, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if charge is not None: - - _query_params.append(('charge', charge)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/fingerid-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_finger_id_data_serialize( + self, + project_id, + charge, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if charge is not None: + + _query_params.append(('charge', charge)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/fingerid-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1435,7 +1435,7 @@ def get_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ProjectInfo: + ) -> ProjectInfo: """Get project space info by its projectId. Get project space info by its projectId. @@ -1477,23 +1477,23 @@ def get_project( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1506,7 +1506,7 @@ def get_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ProjectInfo]: + ) -> ApiResponse[ProjectInfo]: """Get project space info by its projectId. Get project space info by its projectId. @@ -1548,23 +1548,23 @@ def get_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1577,7 +1577,7 @@ def get_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get project space info by its projectId. Get project space info by its projectId. @@ -1619,81 +1619,81 @@ def get_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_project_serialize( - self, - project_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_project_serialize( + self, + project_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_projects( self, _request_timeout: Union[ @@ -1708,7 +1708,7 @@ def get_projects( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[ProjectInfo]: + ) -> List[ProjectInfo]: """List opened project spaces. List opened project spaces. @@ -1744,19 +1744,19 @@ def get_projects( _response_types_map: Dict[str, Optional[str]] = { '200': "List[ProjectInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_projects_with_http_info( self, _request_timeout: Union[ @@ -1771,7 +1771,7 @@ def get_projects_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[ProjectInfo]]: + ) -> ApiResponse[List[ProjectInfo]]: """List opened project spaces. List opened project spaces. @@ -1807,19 +1807,19 @@ def get_projects_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[ProjectInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_projects_without_preload_content( self, _request_timeout: Union[ @@ -1834,7 +1834,7 @@ def get_projects_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List opened project spaces. List opened project spaces. @@ -1870,77 +1870,77 @@ def get_projects_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[ProjectInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_projects_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_projects_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_ms_run_data( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], - parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], + parameters: LcmsSubmissionParameters, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1953,7 +1953,7 @@ def import_ms_run_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ImportResult: + ) -> ImportResult: """Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -1962,7 +1962,7 @@ def import_ms_run_data( :type project_id: str :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: Parameters for feature alignment and feature finding. (required) + :param parameters: (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1998,24 +1998,24 @@ def import_ms_run_data( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_ms_run_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], - parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], + parameters: LcmsSubmissionParameters, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2028,7 +2028,7 @@ def import_ms_run_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ImportResult]: + ) -> ApiResponse[ImportResult]: """Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -2037,7 +2037,7 @@ def import_ms_run_data_with_http_info( :type project_id: str :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: Parameters for feature alignment and feature finding. (required) + :param parameters: (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2073,24 +2073,24 @@ def import_ms_run_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_ms_run_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], - parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], + parameters: LcmsSubmissionParameters, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2103,7 +2103,7 @@ def import_ms_run_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -2112,7 +2112,7 @@ def import_ms_run_data_without_preload_content( :type project_id: str :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: Parameters for feature alignment and feature finding. (required) + :param parameters: (required) :type parameters: LcmsSubmissionParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2148,101 +2148,101 @@ def import_ms_run_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_ms_run_data_serialize( - self, - project_id, - input_files, - parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - if parameters is not None: - _form_params.append(('parameters', parameters)) - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/ms-data-files', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_ms_run_data_serialize( + self, + project_id, + input_files, + parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + if parameters is not None: + _form_params.append(('parameters', parameters)) + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/ms-data-files', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_ms_run_data_as_job( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], - parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, + parameters: LcmsSubmissionParameters, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2255,7 +2255,7 @@ def import_ms_run_data_as_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Import and Align full MS-Runs from various formats into the specified project as background job. Import and Align full MS-Runs from various formats into the specified project as background job. Possible formats (mzML, mzXML) @@ -2264,7 +2264,7 @@ def import_ms_run_data_as_job( :type project_id: str :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: Parameters for feature alignment and feature finding. (required) + :param parameters: (required) :type parameters: LcmsSubmissionParameters :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[JobOptField] @@ -2303,25 +2303,25 @@ def import_ms_run_data_as_job( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_ms_run_data_as_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], - parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, + parameters: LcmsSubmissionParameters, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2334,7 +2334,7 @@ def import_ms_run_data_as_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Import and Align full MS-Runs from various formats into the specified project as background job. Import and Align full MS-Runs from various formats into the specified project as background job. Possible formats (mzML, mzXML) @@ -2343,7 +2343,7 @@ def import_ms_run_data_as_job_with_http_info( :type project_id: str :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: Parameters for feature alignment and feature finding. (required) + :param parameters: (required) :type parameters: LcmsSubmissionParameters :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[JobOptField] @@ -2382,25 +2382,25 @@ def import_ms_run_data_as_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_ms_run_data_as_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Files to import into project.")], - parameters: Annotated[LcmsSubmissionParameters, Field(description="Parameters for feature alignment and feature finding.")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, + parameters: LcmsSubmissionParameters, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="Set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2413,7 +2413,7 @@ def import_ms_run_data_as_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import and Align full MS-Runs from various formats into the specified project as background job. Import and Align full MS-Runs from various formats into the specified project as background job. Possible formats (mzML, mzXML) @@ -2422,7 +2422,7 @@ def import_ms_run_data_as_job_without_preload_content( :type project_id: str :param input_files: Files to import into project. (required) :type input_files: List[bytearray] - :param parameters: Parameters for feature alignment and feature finding. (required) + :param parameters: (required) :type parameters: LcmsSubmissionParameters :param opt_fields: Set of optional fields to be included. Use 'none' only to override defaults. :type opt_fields: List[JobOptField] @@ -2461,101 +2461,101 @@ def import_ms_run_data_as_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_ms_run_data_as_job_serialize( - self, - project_id, - input_files, - parameters, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - if parameters is not None: - _form_params.append(('parameters', parameters)) - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/ms-data-files-job', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_ms_run_data_as_job_serialize( + self, + project_id, + input_files, + parameters, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + if parameters is not None: + _form_params.append(('parameters', parameters)) + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/ms-data-files-job', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_preprocessed_data( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2574,7 +2574,7 @@ def import_preprocessed_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ImportResult: + ) -> ImportResult: """Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -2622,19 +2622,19 @@ def import_preprocessed_data( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_preprocessed_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2653,7 +2653,7 @@ def import_preprocessed_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ImportResult]: + ) -> ApiResponse[ImportResult]: """Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -2701,19 +2701,19 @@ def import_preprocessed_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_preprocessed_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2732,7 +2732,7 @@ def import_preprocessed_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -2780,109 +2780,109 @@ def import_preprocessed_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_preprocessed_data_serialize( - self, - project_id, - input_files, - ignore_formulas, - allow_ms1_only, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ignore_formulas is not None: - - _query_params.append(('ignoreFormulas', ignore_formulas)) - - if allow_ms1_only is not None: - - _query_params.append(('allowMs1Only', allow_ms1_only)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/preprocessed-data-files', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_preprocessed_data_serialize( + self, + project_id, + input_files, + ignore_formulas, + allow_ms1_only, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ignore_formulas is not None: + + _query_params.append(('ignoreFormulas', ignore_formulas)) + + if allow_ms1_only is not None: + + _query_params.append(('allowMs1Only', allow_ms1_only)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/preprocessed-data-files', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_preprocessed_data_as_job( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], input_files: List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2895,7 +2895,7 @@ def import_preprocessed_data_as_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Import ms/ms data from the given format into the specified project-space as background job. Import ms/ms data from the given format into the specified project-space as background job. Possible formats (ms, mgf, cef, msp) @@ -2946,26 +2946,26 @@ def import_preprocessed_data_as_job( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_preprocessed_data_as_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], input_files: List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2978,7 +2978,7 @@ def import_preprocessed_data_as_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Import ms/ms data from the given format into the specified project-space as background job. Import ms/ms data from the given format into the specified project-space as background job. Possible formats (ms, mgf, cef, msp) @@ -3029,26 +3029,26 @@ def import_preprocessed_data_as_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_preprocessed_data_as_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], input_files: List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], ignore_formulas: Optional[StrictBool] = None, allow_ms1_only: Optional[StrictBool] = None, - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3061,7 +3061,7 @@ def import_preprocessed_data_as_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import ms/ms data from the given format into the specified project-space as background job. Import ms/ms data from the given format into the specified project-space as background job. Possible formats (ms, mgf, cef, msp) @@ -3112,113 +3112,113 @@ def import_preprocessed_data_as_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_preprocessed_data_as_job_serialize( - self, - project_id, - input_files, - ignore_formulas, - allow_ms1_only, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ignore_formulas is not None: - - _query_params.append(('ignoreFormulas', ignore_formulas)) - - if allow_ms1_only is not None: - - _query_params.append(('allowMs1Only', allow_ms1_only)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/preprocessed-data-files-job', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_preprocessed_data_as_job_serialize( + self, + project_id, + input_files, + ignore_formulas, + allow_ms1_only, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'csv', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ignore_formulas is not None: + + _query_params.append(('ignoreFormulas', ignore_formulas)) + + if allow_ms1_only is not None: + + _query_params.append(('allowMs1Only', allow_ms1_only)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/preprocessed-data-files-job', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def open_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3231,7 +3231,7 @@ def open_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ProjectInfo: + ) -> ProjectInfo: """Open an existing project-space and make it accessible via the given projectId. Open an existing project-space and make it accessible via the given projectId. @@ -3276,24 +3276,24 @@ def open_project( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def open_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3306,7 +3306,7 @@ def open_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ProjectInfo]: + ) -> ApiResponse[ProjectInfo]: """Open an existing project-space and make it accessible via the given projectId. Open an existing project-space and make it accessible via the given projectId. @@ -3351,24 +3351,24 @@ def open_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def open_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], path_to_project: Annotated[Optional[StrictStr], Field(description="local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.")] = None, - opt_fields: Optional[List[ProjectInfoOptField]] = None, + opt_fields: Optional[List[Optional[ProjectInfoOptField]]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3381,7 +3381,7 @@ def open_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Open an existing project-space and make it accessible via the given projectId. Open an existing project-space and make it accessible via the given projectId. @@ -3426,80 +3426,80 @@ def open_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _open_project_serialize( - self, - project_id, - path_to_project, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if path_to_project is not None: - - _query_params.append(('pathToProject', path_to_project)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _open_project_serialize( + self, + project_id, + path_to_project, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if path_to_project is not None: + + _query_params.append(('pathToProject', path_to_project)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/runs_api.py b/client-api_python/generated/PySirius/api/runs_api.py index 292d5888..14452864 100644 --- a/client-api_python/generated/PySirius/api/runs_api.py +++ b/client-api_python/generated/PySirius/api/runs_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,42 +8,42 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.paged_model_run import PagedModelRun -from PySirius.models.run import Run -from PySirius.models.run_opt_field import RunOptField -from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest -from PySirius.models.tag import Tag - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class RunsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.paged_model_run import PagedModelRun +from PySirius.models.run import Run +from PySirius.models.run_opt_field import RunOptField +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest +from PySirius.models.tag import Tag + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class RunsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_tags_to_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -61,7 +61,7 @@ def add_tags_to_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Add tags to a run in the project [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -106,19 +106,19 @@ def add_tags_to_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_tags_to_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -136,7 +136,7 @@ def add_tags_to_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Add tags to a run in the project [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -181,19 +181,19 @@ def add_tags_to_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_tags_to_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -211,7 +211,7 @@ def add_tags_to_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add tags to a run in the project [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -256,100 +256,100 @@ def add_tags_to_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_tags_to_run_experimental_serialize( - self, - project_id, - run_id, - tag, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'Tag': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if run_id is not None: - _path_params['runId'] = run_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag is not None: - _body_params = tag - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/runs/tags/{runId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tags_to_run_experimental_serialize( + self, + project_id, + run_id, + tag, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'Tag': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag is not None: + _body_params = tag + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/runs/tags/{runId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def compute_fold_change_for_blank_subtraction( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], sample_type_fold_change_request: Annotated[SampleTypeFoldChangeRequest, Field(description="request with lists of run IDs that are sample, blank, and control runs")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -362,7 +362,7 @@ def compute_fold_change_for_blank_subtraction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

@@ -407,24 +407,24 @@ def compute_fold_change_for_blank_subtraction( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def compute_fold_change_for_blank_subtraction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], sample_type_fold_change_request: Annotated[SampleTypeFoldChangeRequest, Field(description="request with lists of run IDs that are sample, blank, and control runs")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -437,7 +437,7 @@ def compute_fold_change_for_blank_subtraction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

@@ -482,24 +482,24 @@ def compute_fold_change_for_blank_subtraction_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def compute_fold_change_for_blank_subtraction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], sample_type_fold_change_request: Annotated[SampleTypeFoldChangeRequest, Field(description="request with lists of run IDs that are sample, blank, and control runs")], - opt_fields: Annotated[Optional[List[JobOptField]], Field(description="job opt fields.")] = None, + opt_fields: Annotated[Optional[List[Optional[JobOptField]]], Field(description="job opt fields.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -512,7 +512,7 @@ def compute_fold_change_for_blank_subtraction_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

@@ -557,102 +557,102 @@ def compute_fold_change_for_blank_subtraction_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _compute_fold_change_for_blank_subtraction_serialize( - self, - project_id, - sample_type_fold_change_request, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if sample_type_fold_change_request is not None: - _body_params = sample_type_fold_change_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/runs/blanksubtract/compute', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_fold_change_for_blank_subtraction_serialize( + self, + project_id, + sample_type_fold_change_request, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if sample_type_fold_change_request is not None: + _body_params = sample_type_fold_change_request + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/runs/blanksubtract/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], run_id: Annotated[StrictStr, Field(description="identifier of run to access.")], - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -665,7 +665,7 @@ def get_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Run: + ) -> Run: """[EXPERIMENTAL] Get run with the given identifier from the specified project-space [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -710,24 +710,24 @@ def get_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "Run", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], run_id: Annotated[StrictStr, Field(description="identifier of run to access.")], - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -740,7 +740,7 @@ def get_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Run]: + ) -> ApiResponse[Run]: """[EXPERIMENTAL] Get run with the given identifier from the specified project-space [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -785,24 +785,24 @@ def get_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Run", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], run_id: Annotated[StrictStr, Field(description="identifier of run to access.")], - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -815,7 +815,7 @@ def get_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get run with the given identifier from the specified project-space [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -860,91 +860,91 @@ def get_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Run", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_run_experimental_serialize( - self, - project_id, - run_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if run_id is not None: - _path_params['runId'] = run_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/{runId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_run_experimental_serialize( + self, + project_id, + run_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/{runId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_run_page_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -957,7 +957,7 @@ def get_run_page_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelRun: + ) -> PagedModelRun: """[EXPERIMENTAL] Get all available runs in the given project-space [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1008,26 +1008,26 @@ def get_run_page_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_run_page_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1040,7 +1040,7 @@ def get_run_page_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelRun]: + ) -> ApiResponse[PagedModelRun]: """[EXPERIMENTAL] Get all available runs in the given project-space [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1091,26 +1091,26 @@ def get_run_page_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_run_page_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1123,7 +1123,7 @@ def get_run_page_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all available runs in the given project-space [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1174,97 +1174,97 @@ def get_run_page_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_run_page_experimental_serialize( - self, - project_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_run_page_experimental_serialize( + self, + project_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_runs_by_group_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1272,7 +1272,7 @@ def get_runs_by_group_experimental( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1285,7 +1285,7 @@ def get_runs_by_group_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelRun: + ) -> PagedModelRun: """[EXPERIMENTAL] Get runs by tag group [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1339,19 +1339,19 @@ def get_runs_by_group_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_runs_by_group_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1359,7 +1359,7 @@ def get_runs_by_group_experimental_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1372,7 +1372,7 @@ def get_runs_by_group_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelRun]: + ) -> ApiResponse[PagedModelRun]: """[EXPERIMENTAL] Get runs by tag group [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1426,19 +1426,19 @@ def get_runs_by_group_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_runs_by_group_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1446,7 +1446,7 @@ def get_runs_by_group_experimental_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1459,7 +1459,7 @@ def get_runs_by_group_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get runs by tag group [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1513,102 +1513,102 @@ def get_runs_by_group_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_runs_by_group_experimental_serialize( - self, - project_id, - group_name, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_name is not None: - - _query_params.append(('groupName', group_name)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/grouped', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_runs_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_runs_by_tag_experimental( self, project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], @@ -1616,7 +1616,7 @@ def get_runs_by_tag_experimental( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1629,7 +1629,7 @@ def get_runs_by_tag_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelRun: + ) -> PagedModelRun: """[EXPERIMENTAL] Get runs by tag [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1683,19 +1683,19 @@ def get_runs_by_tag_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_runs_by_tag_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], @@ -1703,7 +1703,7 @@ def get_runs_by_tag_experimental_with_http_info( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1716,7 +1716,7 @@ def get_runs_by_tag_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelRun]: + ) -> ApiResponse[PagedModelRun]: """[EXPERIMENTAL] Get runs by tag [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1770,19 +1770,19 @@ def get_runs_by_tag_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_runs_by_tag_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], @@ -1790,7 +1790,7 @@ def get_runs_by_tag_experimental_without_preload_content( page: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="Zero-based page index (0..N)")] = None, size: Annotated[Optional[Annotated[int, Field(strict=True, ge=1)]], Field(description="The size of the page to be returned")] = None, sort: Annotated[Optional[List[StrictStr]], Field(description="Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.")] = None, - opt_fields: Annotated[Optional[List[RunOptField]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, + opt_fields: Annotated[Optional[List[Optional[RunOptField]]], Field(description="set of optional fields to be included. Use 'none' only to override defaults.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1803,7 +1803,7 @@ def get_runs_by_tag_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get runs by tag [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1857,102 +1857,102 @@ def get_runs_by_tag_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_runs_by_tag_experimental_serialize( - self, - project_id, - filter, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/tagged', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_runs_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags_for_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -1969,7 +1969,7 @@ def get_tags_for_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Get all tags associated with this Run [EXPERIMENTAL] Get all tags associated with this Run @@ -2011,19 +2011,19 @@ def get_tags_for_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_for_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -2040,7 +2040,7 @@ def get_tags_for_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Get all tags associated with this Run [EXPERIMENTAL] Get all tags associated with this Run @@ -2082,19 +2082,19 @@ def get_tags_for_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_for_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -2111,7 +2111,7 @@ def get_tags_for_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tags associated with this Run [EXPERIMENTAL] Get all tags associated with this Run @@ -2153,78 +2153,78 @@ def get_tags_for_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_for_run_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/tags/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_run_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_tag_from_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2242,7 +2242,7 @@ def remove_tag_from_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2287,19 +2287,19 @@ def remove_tag_from_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_tag_from_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2317,7 +2317,7 @@ def remove_tag_from_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2362,19 +2362,19 @@ def remove_tag_from_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_tag_from_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2392,7 +2392,7 @@ def remove_tag_from_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2437,69 +2437,69 @@ def remove_tag_from_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_tag_from_run_experimental_serialize( - self, - project_id, - run_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if run_id is not None: - _path_params['runId'] = run_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/runs/tags/{runId}/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_run_experimental_serialize( + self, + project_id, + run_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/runs/tags/{runId}/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/searchable_databases_api.py b/client-api_python/generated/PySirius/api/searchable_databases_api.py index 636c5979..7168f650 100644 --- a/client-api_python/generated/PySirius/api/searchable_databases_api.py +++ b/client-api_python/generated/PySirius/api/searchable_databases_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,38 +8,38 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator -from typing import List, Optional, Tuple, Union -from typing_extensions import Annotated -from PySirius.models.bio_transformer_parameters import BioTransformerParameters -from PySirius.models.searchable_database import SearchableDatabase -from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class SearchableDatabasesApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator +from typing import List, Optional, Tuple, Union +from typing_extensions import Annotated +from PySirius.models.bio_transformer_parameters import BioTransformerParameters +from PySirius.models.searchable_database import SearchableDatabase +from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class SearchableDatabasesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_databases( self, request_body: List[StrictStr], @@ -55,7 +55,7 @@ def add_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """(Deprecated) DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -94,19 +94,19 @@ def add_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_databases_with_http_info( self, request_body: List[StrictStr], @@ -122,7 +122,7 @@ def add_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """(Deprecated) DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -161,19 +161,19 @@ def add_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_databases_without_preload_content( self, request_body: List[StrictStr], @@ -189,7 +189,7 @@ def add_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """(Deprecated) DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -228,89 +228,89 @@ def add_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_databases_serialize( - self, - request_body, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/databases', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_databases_serialize( + self, + request_body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/databases', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def create_database( self, database_id: Annotated[str, Field(strict=True)], @@ -327,7 +327,7 @@ def create_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """create_database @@ -368,19 +368,19 @@ def create_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def create_database_with_http_info( self, database_id: Annotated[str, Field(strict=True)], @@ -397,7 +397,7 @@ def create_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """create_database @@ -438,19 +438,19 @@ def create_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def create_database_without_preload_content( self, database_id: Annotated[str, Field(strict=True)], @@ -467,7 +467,7 @@ def create_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """create_database @@ -508,91 +508,91 @@ def create_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _create_database_serialize( - self, - database_id, - searchable_database_parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if searchable_database_parameters is not None: - _body_params = searchable_database_parameters - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_database_serialize( + self, + database_id, + searchable_database_parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if searchable_database_parameters is not None: + _body_params = searchable_database_parameters + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_custom_databases( self, include_stats: Optional[StrictBool] = None, @@ -609,7 +609,7 @@ def get_custom_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """get_custom_databases @@ -650,19 +650,19 @@ def get_custom_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_custom_databases_with_http_info( self, include_stats: Optional[StrictBool] = None, @@ -679,7 +679,7 @@ def get_custom_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """get_custom_databases @@ -720,19 +720,19 @@ def get_custom_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_custom_databases_without_preload_content( self, include_stats: Optional[StrictBool] = None, @@ -749,7 +749,7 @@ def get_custom_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_custom_databases @@ -790,82 +790,82 @@ def get_custom_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_custom_databases_serialize( - self, - include_stats, - include_with_errors, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - if include_with_errors is not None: - - _query_params.append(('includeWithErrors', include_with_errors)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases/custom', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_custom_databases_serialize( + self, + include_stats, + include_with_errors, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + if include_with_errors is not None: + + _query_params.append(('includeWithErrors', include_with_errors)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases/custom', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_database( self, database_id: StrictStr, @@ -882,7 +882,7 @@ def get_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """get_database @@ -923,19 +923,19 @@ def get_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_database_with_http_info( self, database_id: StrictStr, @@ -952,7 +952,7 @@ def get_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """get_database @@ -993,19 +993,19 @@ def get_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_database_without_preload_content( self, database_id: StrictStr, @@ -1022,7 +1022,7 @@ def get_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_database @@ -1063,80 +1063,80 @@ def get_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_database_serialize( - self, - database_id, - include_stats, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_database_serialize( + self, + database_id, + include_stats, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_databases( self, include_stats: Optional[StrictBool] = None, @@ -1153,7 +1153,7 @@ def get_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """get_databases @@ -1194,19 +1194,19 @@ def get_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_databases_with_http_info( self, include_stats: Optional[StrictBool] = None, @@ -1223,7 +1223,7 @@ def get_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """get_databases @@ -1264,19 +1264,19 @@ def get_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_databases_without_preload_content( self, include_stats: Optional[StrictBool] = None, @@ -1293,7 +1293,7 @@ def get_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_databases @@ -1334,82 +1334,82 @@ def get_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_databases_serialize( - self, - include_stats, - include_with_errors, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - if include_with_errors is not None: - - _query_params.append(('includeWithErrors', include_with_errors)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_databases_serialize( + self, + include_stats, + include_with_errors, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + if include_with_errors is not None: + + _query_params.append(('includeWithErrors', include_with_errors)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_included_databases( self, include_stats: Optional[StrictBool] = None, @@ -1425,7 +1425,7 @@ def get_included_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """get_included_databases @@ -1463,19 +1463,19 @@ def get_included_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_included_databases_with_http_info( self, include_stats: Optional[StrictBool] = None, @@ -1491,7 +1491,7 @@ def get_included_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """get_included_databases @@ -1529,19 +1529,19 @@ def get_included_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_included_databases_without_preload_content( self, include_stats: Optional[StrictBool] = None, @@ -1557,7 +1557,7 @@ def get_included_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_included_databases @@ -1595,83 +1595,83 @@ def get_included_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_included_databases_serialize( - self, - include_stats, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases/included', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_included_databases_serialize( + self, + include_stats, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases/included', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_into_database( self, database_id: Annotated[StrictStr, Field(description="database to import into")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to be imported")], buffer_size: Optional[StrictInt] = None, - bio_transformer_parameters: Annotated[Optional[BioTransformerParameters], Field(description="configuration for biotransformer execution. If null, BioTransformer is not applied.")] = None, + bio_transformer_parameters: Optional[BioTransformerParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1684,7 +1684,7 @@ def import_into_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """Start import of structure and spectra files into the specified database. Start import of structure and spectra files into the specified database. @@ -1695,7 +1695,7 @@ def import_into_database( :type input_files: List[bytearray] :param buffer_size: :type buffer_size: int - :param bio_transformer_parameters: configuration for biotransformer execution. If null, BioTransformer is not applied. + :param bio_transformer_parameters: :type bio_transformer_parameters: BioTransformerParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1732,25 +1732,25 @@ def import_into_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_into_database_with_http_info( self, database_id: Annotated[StrictStr, Field(description="database to import into")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to be imported")], buffer_size: Optional[StrictInt] = None, - bio_transformer_parameters: Annotated[Optional[BioTransformerParameters], Field(description="configuration for biotransformer execution. If null, BioTransformer is not applied.")] = None, + bio_transformer_parameters: Optional[BioTransformerParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1763,7 +1763,7 @@ def import_into_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """Start import of structure and spectra files into the specified database. Start import of structure and spectra files into the specified database. @@ -1774,7 +1774,7 @@ def import_into_database_with_http_info( :type input_files: List[bytearray] :param buffer_size: :type buffer_size: int - :param bio_transformer_parameters: configuration for biotransformer execution. If null, BioTransformer is not applied. + :param bio_transformer_parameters: :type bio_transformer_parameters: BioTransformerParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1811,25 +1811,25 @@ def import_into_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_into_database_without_preload_content( self, database_id: Annotated[StrictStr, Field(description="database to import into")], input_files: Annotated[List[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="files to be imported")], buffer_size: Optional[StrictInt] = None, - bio_transformer_parameters: Annotated[Optional[BioTransformerParameters], Field(description="configuration for biotransformer execution. If null, BioTransformer is not applied.")] = None, + bio_transformer_parameters: Optional[BioTransformerParameters] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1842,7 +1842,7 @@ def import_into_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Start import of structure and spectra files into the specified database. Start import of structure and spectra files into the specified database. @@ -1853,7 +1853,7 @@ def import_into_database_without_preload_content( :type input_files: List[bytearray] :param buffer_size: :type buffer_size: int - :param bio_transformer_parameters: configuration for biotransformer execution. If null, BioTransformer is not applied. + :param bio_transformer_parameters: :type bio_transformer_parameters: BioTransformerParameters :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1890,100 +1890,100 @@ def import_into_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_into_database_serialize( - self, - database_id, - input_files, - buffer_size, - bio_transformer_parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - if buffer_size is not None: - - _query_params.append(('bufferSize', buffer_size)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - if bio_transformer_parameters is not None: - _form_params.append(('bioTransformerParameters', bio_transformer_parameters)) - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/databases/{databaseId}/import/from-files', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_into_database_serialize( + self, + database_id, + input_files, + buffer_size, + bio_transformer_parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + if buffer_size is not None: + + _query_params.append(('bufferSize', buffer_size)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + if bio_transformer_parameters is not None: + _form_params.append(('bioTransformerParameters', bio_transformer_parameters)) + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/databases/{databaseId}/import/from-files', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_database( self, database_id: StrictStr, @@ -2000,7 +2000,7 @@ def remove_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """remove_database @@ -2041,19 +2041,19 @@ def remove_database( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_database_with_http_info( self, database_id: StrictStr, @@ -2070,7 +2070,7 @@ def remove_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """remove_database @@ -2111,19 +2111,19 @@ def remove_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_database_without_preload_content( self, database_id: StrictStr, @@ -2140,7 +2140,7 @@ def remove_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """remove_database @@ -2181,74 +2181,74 @@ def remove_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_database_serialize( - self, - database_id, - delete, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - if delete is not None: - - _query_params.append(('delete', delete)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_database_serialize( + self, + database_id, + delete, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + if delete is not None: + + _query_params.append(('delete', delete)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def update_database( self, database_id: StrictStr, @@ -2265,7 +2265,7 @@ def update_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """update_database @@ -2306,19 +2306,19 @@ def update_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def update_database_with_http_info( self, database_id: StrictStr, @@ -2335,7 +2335,7 @@ def update_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """update_database @@ -2376,19 +2376,19 @@ def update_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def update_database_without_preload_content( self, database_id: StrictStr, @@ -2405,7 +2405,7 @@ def update_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """update_database @@ -2446,85 +2446,85 @@ def update_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _update_database_serialize( - self, - database_id, - searchable_database_parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if searchable_database_parameters is not None: - _body_params = searchable_database_parameters - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_database_serialize( + self, + database_id, + searchable_database_parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if searchable_database_parameters is not None: + _body_params = searchable_database_parameters + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/tags_api.py b/client-api_python/generated/PySirius/api/tags_api.py index cba51a07..57148430 100644 --- a/client-api_python/generated/PySirius/api/tags_api.py +++ b/client-api_python/generated/PySirius/api/tags_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,38 +8,38 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import Any, List, Optional -from typing_extensions import Annotated -from PySirius.models.tag_definition import TagDefinition -from PySirius.models.tag_definition_import import TagDefinitionImport -from PySirius.models.tag_group import TagGroup - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class TagsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from PySirius.models.tag_definition import TagDefinition +from PySirius.models.tag_definition_import import TagDefinitionImport +from PySirius.models.tag_group import TagGroup + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class TagsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_group( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -58,7 +58,7 @@ def add_group( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagGroup: + ) -> TagGroup: """[EXPERIMENTAL] Group tags in the project [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -106,19 +106,19 @@ def add_group( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_group_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -137,7 +137,7 @@ def add_group_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagGroup]: + ) -> ApiResponse[TagGroup]: """[EXPERIMENTAL] Group tags in the project [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -185,19 +185,19 @@ def add_group_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_group_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -216,7 +216,7 @@ def add_group_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Group tags in the project [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -264,93 +264,93 @@ def add_group_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_group_serialize( - self, - project_id, - group_name, - filter, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if group_name is not None: - _path_params['groupName'] = group_name - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if type is not None: - - _query_params.append(('type', type)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/groups/{groupName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_group_serialize( + self, + project_id, + group_name, + filter, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if type is not None: + + _query_params.append(('type', type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_possible_values_to_tag_definition( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], tag_name: Annotated[StrictStr, Field(description="the tag definition to add the values to")], - request_body: List[Any], + request_body: List[Dict[str, Any]], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -363,7 +363,7 @@ def add_possible_values_to_tag_definition( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagDefinition: + ) -> TagDefinition: """[EXPERIMENTAL] Add a possible value to the tag definition in the project [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -408,24 +408,24 @@ def add_possible_values_to_tag_definition( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_possible_values_to_tag_definition_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], tag_name: Annotated[StrictStr, Field(description="the tag definition to add the values to")], - request_body: List[Any], + request_body: List[Dict[str, Any]], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -438,7 +438,7 @@ def add_possible_values_to_tag_definition_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagDefinition]: + ) -> ApiResponse[TagDefinition]: """[EXPERIMENTAL] Add a possible value to the tag definition in the project [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -483,24 +483,24 @@ def add_possible_values_to_tag_definition_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_possible_values_to_tag_definition_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], tag_name: Annotated[StrictStr, Field(description="the tag definition to add the values to")], - request_body: List[Any], + request_body: List[Dict[str, Any]], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -513,7 +513,7 @@ def add_possible_values_to_tag_definition_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add a possible value to the tag definition in the project [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -558,95 +558,95 @@ def add_possible_values_to_tag_definition_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_possible_values_to_tag_definition_serialize( - self, - project_id, - tag_name, - request_body, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PATCH', - resource_path='/api/projects/{projectId}/tags/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_possible_values_to_tag_definition_serialize( + self, + project_id, + tag_name, + request_body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def create_tags( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -663,7 +663,7 @@ def create_tags( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[TagDefinition]: + ) -> List[TagDefinition]: """[EXPERIMENTAL] Add tags to the project [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -705,19 +705,19 @@ def create_tags( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def create_tags_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -734,7 +734,7 @@ def create_tags_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[TagDefinition]]: + ) -> ApiResponse[List[TagDefinition]]: """[EXPERIMENTAL] Add tags to the project [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -776,19 +776,19 @@ def create_tags_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def create_tags_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -805,7 +805,7 @@ def create_tags_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add tags to the project [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -847,92 +847,92 @@ def create_tags_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _create_tags_serialize( - self, - project_id, - tag_definition_import, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'TagDefinitionImport': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag_definition_import is not None: - _body_params = tag_definition_import - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/tags', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_tags_serialize( + self, + project_id, + tag_definition_import, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'TagDefinitionImport': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag_definition_import is not None: + _body_params = tag_definition_import + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_group( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -949,7 +949,7 @@ def delete_group( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -991,19 +991,19 @@ def delete_group( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_group_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1020,7 +1020,7 @@ def delete_group_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1062,19 +1062,19 @@ def delete_group_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_group_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1091,7 +1091,7 @@ def delete_group_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1133,72 +1133,72 @@ def delete_group_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_group_serialize( - self, - project_id, - group_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if group_name is not None: - _path_params['groupName'] = group_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/groups/{groupName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_group_serialize( + self, + project_id, + group_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_tag( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1215,7 +1215,7 @@ def delete_tag( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1257,19 +1257,19 @@ def delete_tag( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_tag_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1286,7 +1286,7 @@ def delete_tag_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1328,19 +1328,19 @@ def delete_tag_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_tag_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1357,7 +1357,7 @@ def delete_tag_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1399,72 +1399,72 @@ def delete_tag_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_tag_serialize( - self, - project_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/tags/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_tag_serialize( + self, + project_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_group_by_name( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1481,7 +1481,7 @@ def get_group_by_name( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagGroup: + ) -> TagGroup: """[EXPERIMENTAL] Get tag group by name in the given project-space [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1523,19 +1523,19 @@ def get_group_by_name( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_group_by_name_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1552,7 +1552,7 @@ def get_group_by_name_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagGroup]: + ) -> ApiResponse[TagGroup]: """[EXPERIMENTAL] Get tag group by name in the given project-space [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1594,19 +1594,19 @@ def get_group_by_name_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_group_by_name_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1623,7 +1623,7 @@ def get_group_by_name_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get tag group by name in the given project-space [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1665,78 +1665,78 @@ def get_group_by_name_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_group_by_name_serialize( - self, - project_id, - group_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if group_name is not None: - _path_params['groupName'] = group_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/groups/{groupName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_group_by_name_serialize( + self, + project_id, + group_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_groups( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1753,7 +1753,7 @@ def get_groups( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[TagGroup]: + ) -> List[TagGroup]: """[EXPERIMENTAL] Get all tag based groups in the given project-space [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1795,19 +1795,19 @@ def get_groups( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagGroup]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_groups_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1824,7 +1824,7 @@ def get_groups_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[TagGroup]]: + ) -> ApiResponse[List[TagGroup]]: """[EXPERIMENTAL] Get all tag based groups in the given project-space [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1866,19 +1866,19 @@ def get_groups_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagGroup]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_groups_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1895,7 +1895,7 @@ def get_groups_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tag based groups in the given project-space [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1937,80 +1937,80 @@ def get_groups_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagGroup]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_groups_serialize( - self, - project_id, - group_type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_type is not None: - - _query_params.append(('groupType', group_type)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/groups', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_groups_serialize( + self, + project_id, + group_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_type is not None: + + _query_params.append(('groupType', group_type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/groups', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tag( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2027,7 +2027,7 @@ def get_tag( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagDefinition: + ) -> TagDefinition: """[EXPERIMENTAL] Get tag definition by its name in the given project-space [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2069,19 +2069,19 @@ def get_tag( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tag_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2098,7 +2098,7 @@ def get_tag_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagDefinition]: + ) -> ApiResponse[TagDefinition]: """[EXPERIMENTAL] Get tag definition by its name in the given project-space [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2140,19 +2140,19 @@ def get_tag_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tag_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2169,7 +2169,7 @@ def get_tag_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get tag definition by its name in the given project-space [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2211,78 +2211,78 @@ def get_tag_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tag_serialize( - self, - project_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/tags/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tag_serialize( + self, + project_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2299,7 +2299,7 @@ def get_tags( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[TagDefinition]: + ) -> List[TagDefinition]: """[EXPERIMENTAL] Get all tag definitions in the given project-space [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2341,19 +2341,19 @@ def get_tags( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2370,7 +2370,7 @@ def get_tags_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[TagDefinition]]: + ) -> ApiResponse[List[TagDefinition]]: """[EXPERIMENTAL] Get all tag definitions in the given project-space [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2412,19 +2412,19 @@ def get_tags_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2441,7 +2441,7 @@ def get_tags_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tag definitions in the given project-space [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2483,74 +2483,74 @@ def get_tags_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_serialize( - self, - project_id, - tag_type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if tag_type is not None: - - _query_params.append(('tagType', tag_type)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/tags', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_serialize( + self, + project_id, + tag_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if tag_type is not None: + + _query_params.append(('tagType', tag_type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api_client.py b/client-api_python/generated/PySirius/api_client.py index 8d51a620..204b0558 100644 --- a/client-api_python/generated/PySirius/api_client.py +++ b/client-api_python/generated/PySirius/api_client.py @@ -86,7 +86,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/6.3.1/python' + self.user_agent = 'OpenAPI-Generator/6.3.3/python' self.client_side_validation = configuration.client_side_validation def __enter__(self): diff --git a/client-api_python/generated/PySirius/configuration.py b/client-api_python/generated/PySirius/configuration.py index 4d000aa1..1aee5196 100644 --- a/client-api_python/generated/PySirius/configuration.py +++ b/client-api_python/generated/PySirius/configuration.py @@ -492,7 +492,7 @@ def to_debug_report(self) -> str: "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: 3.1\n"\ - "SDK Package Version: 6.3.1".\ + "SDK Package Version: 6.3.3".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/client-api_python/generated/PySirius/models/account_credentials.py b/client-api_python/generated/PySirius/models/account_credentials.py index a24d8ca8..2200eb83 100644 --- a/client-api_python/generated/PySirius/models/account_credentials.py +++ b/client-api_python/generated/PySirius/models/account_credentials.py @@ -68,6 +68,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if username (nullable) is None + # and model_fields_set contains the field + if self.username is None and "username" in self.model_fields_set: + _dict['username'] = None + + # set to None if password (nullable) is None + # and model_fields_set contains the field + if self.password is None and "password" in self.model_fields_set: + _dict['password'] = None + + # set to None if refresh_token (nullable) is None + # and model_fields_set contains the field + if self.refresh_token is None and "refresh_token" in self.model_fields_set: + _dict['refreshToken'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/account_info.py b/client-api_python/generated/PySirius/models/account_info.py index bd467df1..1686ad45 100644 --- a/client-api_python/generated/PySirius/models/account_info.py +++ b/client-api_python/generated/PySirius/models/account_info.py @@ -79,6 +79,21 @@ def to_dict(self) -> Dict[str, Any]: if _item_subscriptions: _items.append(_item_subscriptions.to_dict()) _dict['subscriptions'] = _items + # set to None if username (nullable) is None + # and model_fields_set contains the field + if self.username is None and "username" in self.model_fields_set: + _dict['username'] = None + + # set to None if gravatar_url (nullable) is None + # and model_fields_set contains the field + if self.gravatar_url is None and "gravatar_url" in self.model_fields_set: + _dict['gravatarURL'] = None + + # set to None if active_subscription_id (nullable) is None + # and model_fields_set contains the field + if self.active_subscription_id is None and "active_subscription_id" in self.model_fields_set: + _dict['activeSubscriptionId'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/aligned_feature.py b/client-api_python/generated/PySirius/models/aligned_feature.py index 87bda34a..0f4e0a7e 100644 --- a/client-api_python/generated/PySirius/models/aligned_feature.py +++ b/client-api_python/generated/PySirius/models/aligned_feature.py @@ -39,14 +39,14 @@ class AlignedFeature(BaseModel): rt_start_seconds: Optional[float] = Field(default=None, alias="rtStartSeconds") rt_end_seconds: Optional[float] = Field(default=None, alias="rtEndSeconds") rt_apex_seconds: Optional[float] = Field(default=None, alias="rtApexSeconds") - quality: Optional[DataQuality] = Field(default=None, description="Quality of this feature.") + quality: Optional[DataQuality] = None has_ms1: Optional[StrictBool] = Field(default=None, description="If true, the feature has at lease one MS1 spectrum", alias="hasMs1") has_ms_ms: Optional[StrictBool] = Field(default=None, description="If true, the feature has at lease one MS/MS spectrum", alias="hasMsMs") - ms_data: Optional[MsData] = Field(default=None, description="Mass Spec data of this feature (input data)", alias="msData") - top_annotations: Optional[FeatureAnnotations] = Field(default=None, description="Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise.", alias="topAnnotations") - top_annotations_de_novo: Optional[FeatureAnnotations] = Field(default=None, description="Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise.", alias="topAnnotationsDeNovo") + ms_data: Optional[MsData] = Field(default=None, alias="msData") + top_annotations: Optional[FeatureAnnotations] = Field(default=None, alias="topAnnotations") + top_annotations_de_novo: Optional[FeatureAnnotations] = Field(default=None, alias="topAnnotationsDeNovo") computing: Optional[StrictBool] = Field(default=None, description="Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results") - computed_tools: Optional[ComputedSubtools] = Field(default=None, description="Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.", alias="computedTools") + computed_tools: Optional[ComputedSubtools] = Field(default=None, alias="computedTools") tags: Optional[Dict[str, Tag]] = Field(default=None, description="Key: tagName, value: tag") __properties: ClassVar[List[str]] = ["alignedFeatureId", "compoundId", "name", "externalFeatureId", "ionMass", "charge", "detectedAdducts", "rtStartSeconds", "rtEndSeconds", "rtApexSeconds", "quality", "hasMs1", "hasMsMs", "msData", "topAnnotations", "topAnnotationsDeNovo", "computing", "computedTools", "tags"] @@ -108,6 +108,51 @@ def to_dict(self) -> Dict[str, Any]: if self.tags[_key_tags]: _field_dict[_key_tags] = self.tags[_key_tags].to_dict() _dict['tags'] = _field_dict + # set to None if rt_start_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_start_seconds is None and "rt_start_seconds" in self.model_fields_set: + _dict['rtStartSeconds'] = None + + # set to None if rt_end_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_end_seconds is None and "rt_end_seconds" in self.model_fields_set: + _dict['rtEndSeconds'] = None + + # set to None if rt_apex_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_apex_seconds is None and "rt_apex_seconds" in self.model_fields_set: + _dict['rtApexSeconds'] = None + + # set to None if quality (nullable) is None + # and model_fields_set contains the field + if self.quality is None and "quality" in self.model_fields_set: + _dict['quality'] = None + + # set to None if ms_data (nullable) is None + # and model_fields_set contains the field + if self.ms_data is None and "ms_data" in self.model_fields_set: + _dict['msData'] = None + + # set to None if top_annotations (nullable) is None + # and model_fields_set contains the field + if self.top_annotations is None and "top_annotations" in self.model_fields_set: + _dict['topAnnotations'] = None + + # set to None if top_annotations_de_novo (nullable) is None + # and model_fields_set contains the field + if self.top_annotations_de_novo is None and "top_annotations_de_novo" in self.model_fields_set: + _dict['topAnnotationsDeNovo'] = None + + # set to None if computed_tools (nullable) is None + # and model_fields_set contains the field + if self.computed_tools is None and "computed_tools" in self.model_fields_set: + _dict['computedTools'] = None + + # set to None if tags (nullable) is None + # and model_fields_set contains the field + if self.tags is None and "tags" in self.model_fields_set: + _dict['tags'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py b/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py index c29201b6..39577290 100644 --- a/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py +++ b/client-api_python/generated/PySirius/models/aligned_feature_quality_experimental.py @@ -16,7 +16,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from PySirius.models.category import Category from PySirius.models.data_quality import DataQuality from typing import Optional, Set @@ -27,7 +27,7 @@ class AlignedFeatureQualityExperimental(BaseModel): EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. """ # noqa: E501 aligned_feature_id: StrictStr = Field(description="Id of the feature (aligned over runs) this quality information belongs to.", alias="alignedFeatureId") - overall_quality: DataQuality = Field(description="Overall Quality", alias="overallQuality") + overall_quality: Optional[DataQuality] = Field(alias="overallQuality") categories: Dict[str, Category] = Field(description="Contains all pre-computation quality information that belong to this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc.,") __properties: ClassVar[List[str]] = ["alignedFeatureId", "overallQuality", "categories"] @@ -77,6 +77,11 @@ def to_dict(self) -> Dict[str, Any]: if self.categories[_key_categories]: _field_dict[_key_categories] = self.categories[_key_categories].to_dict() _dict['categories'] = _field_dict + # set to None if overall_quality (nullable) is None + # and model_fields_set contains the field + if self.overall_quality is None and "overall_quality" in self.model_fields_set: + _dict['overallQuality'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py b/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py index 10f6e022..0b5a6d08 100644 --- a/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py +++ b/client-api_python/generated/PySirius/models/annotated_ms_ms_data.py @@ -16,7 +16,7 @@ import json from pydantic import BaseModel, ConfigDict, Field -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from PySirius.models.annotated_spectrum import AnnotatedSpectrum from typing import Optional, Set from typing_extensions import Self @@ -25,8 +25,8 @@ class AnnotatedMsMsData(BaseModel): """ AnnotatedMsMsData """ # noqa: E501 - merged_ms2: AnnotatedSpectrum = Field(alias="mergedMs2") - ms2_spectra: List[AnnotatedSpectrum] = Field(alias="ms2Spectra") + merged_ms2: Optional[AnnotatedSpectrum] = Field(alias="mergedMs2") + ms2_spectra: List[Optional[AnnotatedSpectrum]] = Field(alias="ms2Spectra") __properties: ClassVar[List[str]] = ["mergedMs2", "ms2Spectra"] model_config = ConfigDict( @@ -78,6 +78,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_ms2_spectra: _items.append(_item_ms2_spectra.to_dict()) _dict['ms2Spectra'] = _items + # set to None if merged_ms2 (nullable) is None + # and model_fields_set contains the field + if self.merged_ms2 is None and "merged_ms2" in self.model_fields_set: + _dict['mergedMs2'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/annotated_peak.py b/client-api_python/generated/PySirius/models/annotated_peak.py index 083c3d08..991f4654 100644 --- a/client-api_python/generated/PySirius/models/annotated_peak.py +++ b/client-api_python/generated/PySirius/models/annotated_peak.py @@ -72,6 +72,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of peak_annotation if self.peak_annotation: _dict['peakAnnotation'] = self.peak_annotation.to_dict() + # set to None if peak_annotation (nullable) is None + # and model_fields_set contains the field + if self.peak_annotation is None and "peak_annotation" in self.model_fields_set: + _dict['peakAnnotation'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/annotated_spectrum.py b/client-api_python/generated/PySirius/models/annotated_spectrum.py index e810b4ac..0126606d 100644 --- a/client-api_python/generated/PySirius/models/annotated_spectrum.py +++ b/client-api_python/generated/PySirius/models/annotated_spectrum.py @@ -34,14 +34,14 @@ class AnnotatedSpectrum(BaseModel): precursor_mz: Optional[float] = Field(default=None, description="Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable", alias="precursorMz") scan_number: Optional[StrictInt] = Field(default=None, description="Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", alias="scanNumber") cosine_query: StrictBool = Field(description="True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", alias="cosineQuery") - precursor_peak: Optional[SimplePeak] = Field(default=None, description="A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.", alias="precursorPeak") + precursor_peak: Optional[SimplePeak] = Field(default=None, alias="precursorPeak") peaks: List[AnnotatedPeak] = Field(description="The peaks of this spectrum which might contain additional annotations such as molecular formulas.") abs_intensity_factor: Optional[float] = Field(default=None, description="Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.", alias="absIntensityFactor") max_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to MAX norm.", alias="maxNormFactor") sum_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to SUM norm.", alias="sumNormFactor") l2_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to L2 (Euclidean) norm.", alias="l2NormFactor") first_peak_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to normalize intensities by first peak intensity.", alias="firstPeakNormFactor") - spectrum_annotation: Optional[SpectrumAnnotation] = Field(default=None, description="Optional Annotations of this spectrum.", alias="spectrumAnnotation") + spectrum_annotation: Optional[SpectrumAnnotation] = Field(default=None, alias="spectrumAnnotation") __properties: ClassVar[List[str]] = ["name", "msLevel", "collisionEnergy", "instrument", "precursorMz", "scanNumber", "cosineQuery", "precursorPeak", "peaks", "absIntensityFactor", "maxNormFactor", "sumNormFactor", "l2NormFactor", "firstPeakNormFactor", "spectrumAnnotation"] model_config = ConfigDict( @@ -96,6 +96,66 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of spectrum_annotation if self.spectrum_annotation: _dict['spectrumAnnotation'] = self.spectrum_annotation.to_dict() + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if ms_level (nullable) is None + # and model_fields_set contains the field + if self.ms_level is None and "ms_level" in self.model_fields_set: + _dict['msLevel'] = None + + # set to None if collision_energy (nullable) is None + # and model_fields_set contains the field + if self.collision_energy is None and "collision_energy" in self.model_fields_set: + _dict['collisionEnergy'] = None + + # set to None if instrument (nullable) is None + # and model_fields_set contains the field + if self.instrument is None and "instrument" in self.model_fields_set: + _dict['instrument'] = None + + # set to None if precursor_mz (nullable) is None + # and model_fields_set contains the field + if self.precursor_mz is None and "precursor_mz" in self.model_fields_set: + _dict['precursorMz'] = None + + # set to None if scan_number (nullable) is None + # and model_fields_set contains the field + if self.scan_number is None and "scan_number" in self.model_fields_set: + _dict['scanNumber'] = None + + # set to None if abs_intensity_factor (nullable) is None + # and model_fields_set contains the field + if self.abs_intensity_factor is None and "abs_intensity_factor" in self.model_fields_set: + _dict['absIntensityFactor'] = None + + # set to None if max_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.max_norm_factor is None and "max_norm_factor" in self.model_fields_set: + _dict['maxNormFactor'] = None + + # set to None if sum_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.sum_norm_factor is None and "sum_norm_factor" in self.model_fields_set: + _dict['sumNormFactor'] = None + + # set to None if l2_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.l2_norm_factor is None and "l2_norm_factor" in self.model_fields_set: + _dict['l2NormFactor'] = None + + # set to None if first_peak_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.first_peak_norm_factor is None and "first_peak_norm_factor" in self.model_fields_set: + _dict['firstPeakNormFactor'] = None + + # set to None if spectrum_annotation (nullable) is None + # and model_fields_set contains the field + if self.spectrum_annotation is None and "spectrum_annotation" in self.model_fields_set: + _dict['spectrumAnnotation'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/basic_spectrum.py b/client-api_python/generated/PySirius/models/basic_spectrum.py index af42dfca..1d972587 100644 --- a/client-api_python/generated/PySirius/models/basic_spectrum.py +++ b/client-api_python/generated/PySirius/models/basic_spectrum.py @@ -32,7 +32,7 @@ class BasicSpectrum(BaseModel): precursor_mz: Optional[float] = Field(default=None, description="Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable", alias="precursorMz") scan_number: Optional[StrictInt] = Field(default=None, description="Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)", alias="scanNumber") cosine_query: StrictBool = Field(description="True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra.", alias="cosineQuery") - precursor_peak: Optional[SimplePeak] = Field(default=None, description="A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.", alias="precursorPeak") + precursor_peak: Optional[SimplePeak] = Field(default=None, alias="precursorPeak") peaks: List[SimplePeak] = Field(description="The peaks of this spectrum which might contain additional annotations such as molecular formulas.") abs_intensity_factor: Optional[float] = Field(default=None, description="Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.", alias="absIntensityFactor") max_norm_factor: Optional[float] = Field(default=None, description="Factor to convert absolute intensities to MAX norm.", alias="maxNormFactor") @@ -90,6 +90,61 @@ def to_dict(self) -> Dict[str, Any]: if _item_peaks: _items.append(_item_peaks.to_dict()) _dict['peaks'] = _items + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if ms_level (nullable) is None + # and model_fields_set contains the field + if self.ms_level is None and "ms_level" in self.model_fields_set: + _dict['msLevel'] = None + + # set to None if collision_energy (nullable) is None + # and model_fields_set contains the field + if self.collision_energy is None and "collision_energy" in self.model_fields_set: + _dict['collisionEnergy'] = None + + # set to None if instrument (nullable) is None + # and model_fields_set contains the field + if self.instrument is None and "instrument" in self.model_fields_set: + _dict['instrument'] = None + + # set to None if precursor_mz (nullable) is None + # and model_fields_set contains the field + if self.precursor_mz is None and "precursor_mz" in self.model_fields_set: + _dict['precursorMz'] = None + + # set to None if scan_number (nullable) is None + # and model_fields_set contains the field + if self.scan_number is None and "scan_number" in self.model_fields_set: + _dict['scanNumber'] = None + + # set to None if abs_intensity_factor (nullable) is None + # and model_fields_set contains the field + if self.abs_intensity_factor is None and "abs_intensity_factor" in self.model_fields_set: + _dict['absIntensityFactor'] = None + + # set to None if max_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.max_norm_factor is None and "max_norm_factor" in self.model_fields_set: + _dict['maxNormFactor'] = None + + # set to None if sum_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.sum_norm_factor is None and "sum_norm_factor" in self.model_fields_set: + _dict['sumNormFactor'] = None + + # set to None if l2_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.l2_norm_factor is None and "l2_norm_factor" in self.model_fields_set: + _dict['l2NormFactor'] = None + + # set to None if first_peak_norm_factor (nullable) is None + # and model_fields_set contains the field + if self.first_peak_norm_factor is None and "first_peak_norm_factor" in self.model_fields_set: + _dict['firstPeakNormFactor'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/bio_transformer_parameters.py b/client-api_python/generated/PySirius/models/bio_transformer_parameters.py index f8bbcfcd..2abf5846 100644 --- a/client-api_python/generated/PySirius/models/bio_transformer_parameters.py +++ b/client-api_python/generated/PySirius/models/bio_transformer_parameters.py @@ -27,8 +27,8 @@ class BioTransformerParameters(BaseModel): """ BioTransformerParameters """ # noqa: E501 - cyp450_mode: Cyp450Mode = Field(description="Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode.", alias="cyp450Mode") - p2_mode: P2Mode = Field(description="Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode.", alias="p2Mode") + cyp450_mode: Optional[Cyp450Mode] = Field(alias="cyp450Mode") + p2_mode: Optional[P2Mode] = Field(alias="p2Mode") use_db: Optional[StrictBool] = Field(default=True, description="\"Specify if you want to enable the retrieving from database (HMDB) feature.\"", alias="useDB") bio_transformer_sequence_steps: List[BioTransformerSequenceStep] = Field(description="Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one).", alias="bioTransformerSequenceSteps") __properties: ClassVar[List[str]] = ["cyp450Mode", "p2Mode", "useDB", "bioTransformerSequenceSteps"] @@ -79,6 +79,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_bio_transformer_sequence_steps: _items.append(_item_bio_transformer_sequence_steps.to_dict()) _dict['bioTransformerSequenceSteps'] = _items + # set to None if cyp450_mode (nullable) is None + # and model_fields_set contains the field + if self.cyp450_mode is None and "cyp450_mode" in self.model_fields_set: + _dict['cyp450Mode'] = None + + # set to None if p2_mode (nullable) is None + # and model_fields_set contains the field + if self.p2_mode is None and "p2_mode" in self.model_fields_set: + _dict['p2Mode'] = None + return _dict @classmethod @@ -91,8 +101,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "cyp450Mode": obj.get("cyp450Mode"), - "p2Mode": obj.get("p2Mode"), + "cyp450Mode": obj.get("cyp450Mode") if obj.get("cyp450Mode") is not None else Cyp450Mode.COMBINED, + "p2Mode": obj.get("p2Mode") if obj.get("p2Mode") is not None else P2Mode.BT_RULE_BASED, "useDB": obj.get("useDB") if obj.get("useDB") is not None else True, "bioTransformerSequenceSteps": [BioTransformerSequenceStep.from_dict(_item) for _item in obj["bioTransformerSequenceSteps"]] if obj.get("bioTransformerSequenceSteps") is not None else None }) diff --git a/client-api_python/generated/PySirius/models/canopus_prediction.py b/client-api_python/generated/PySirius/models/canopus_prediction.py index 2586e26d..7d4ad3ba 100644 --- a/client-api_python/generated/PySirius/models/canopus_prediction.py +++ b/client-api_python/generated/PySirius/models/canopus_prediction.py @@ -25,8 +25,8 @@ class CanopusPrediction(BaseModel): """ Container class that holds the CANOPUS compound class predictions for alle predictable compound classes. This is the full CANOPUS result. """ # noqa: E501 - classy_fire_classes: Optional[List[CompoundClass]] = Field(default=None, description="All predicted ClassyFire classes", alias="classyFireClasses") - npc_classes: Optional[List[CompoundClass]] = Field(default=None, description="All predicted NPC classes", alias="npcClasses") + classy_fire_classes: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="All predicted ClassyFire classes", alias="classyFireClasses") + npc_classes: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="All predicted NPC classes", alias="npcClasses") __properties: ClassVar[List[str]] = ["classyFireClasses", "npcClasses"] model_config = ConfigDict( @@ -82,6 +82,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_npc_classes: _items.append(_item_npc_classes.to_dict()) _dict['npcClasses'] = _items + # set to None if classy_fire_classes (nullable) is None + # and model_fields_set contains the field + if self.classy_fire_classes is None and "classy_fire_classes" in self.model_fields_set: + _dict['classyFireClasses'] = None + + # set to None if npc_classes (nullable) is None + # and model_fields_set contains the field + if self.npc_classes is None and "npc_classes" in self.model_fields_set: + _dict['npcClasses'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/category.py b/client-api_python/generated/PySirius/models/category.py index 90150241..919bc6e9 100644 --- a/client-api_python/generated/PySirius/models/category.py +++ b/client-api_python/generated/PySirius/models/category.py @@ -77,6 +77,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_items: _items.append(_item_items.to_dict()) _dict['items'] = _items + # set to None if overall_quality (nullable) is None + # and model_fields_set contains the field + if self.overall_quality is None and "overall_quality" in self.model_fields_set: + _dict['overallQuality'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound.py b/client-api_python/generated/PySirius/models/compound.py index 031c07e0..879593a0 100644 --- a/client-api_python/generated/PySirius/models/compound.py +++ b/client-api_python/generated/PySirius/models/compound.py @@ -34,9 +34,9 @@ class Compound(BaseModel): rt_end_seconds: Optional[float] = Field(default=None, description="The merged/consensus retention time end (latest rt) of this compound", alias="rtEndSeconds") neutral_mass: Optional[float] = Field(default=None, description="Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass", alias="neutralMass") features: Optional[List[AlignedFeature]] = Field(default=None, description="List of aligned features (adducts) that belong to the same (this) compound") - consensus_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, description="The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available", alias="consensusAnnotations") - consensus_annotations_de_novo: Optional[ConsensusAnnotationsDeNovo] = Field(default=None, description="The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available", alias="consensusAnnotationsDeNovo") - custom_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, description="Alternative annotations selected by the User.", alias="customAnnotations") + consensus_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, alias="consensusAnnotations") + consensus_annotations_de_novo: Optional[ConsensusAnnotationsDeNovo] = Field(default=None, alias="consensusAnnotationsDeNovo") + custom_annotations: Optional[ConsensusAnnotationsCSI] = Field(default=None, alias="customAnnotations") tags: Optional[Dict[str, Tag]] = Field(default=None, description="Key: tagName, value: tag") __properties: ClassVar[List[str]] = ["compoundId", "name", "rtStartSeconds", "rtEndSeconds", "neutralMass", "features", "consensusAnnotations", "consensusAnnotationsDeNovo", "customAnnotations", "tags"] @@ -102,6 +102,46 @@ def to_dict(self) -> Dict[str, Any]: if self.tags[_key_tags]: _field_dict[_key_tags] = self.tags[_key_tags].to_dict() _dict['tags'] = _field_dict + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if rt_start_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_start_seconds is None and "rt_start_seconds" in self.model_fields_set: + _dict['rtStartSeconds'] = None + + # set to None if rt_end_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_end_seconds is None and "rt_end_seconds" in self.model_fields_set: + _dict['rtEndSeconds'] = None + + # set to None if neutral_mass (nullable) is None + # and model_fields_set contains the field + if self.neutral_mass is None and "neutral_mass" in self.model_fields_set: + _dict['neutralMass'] = None + + # set to None if consensus_annotations (nullable) is None + # and model_fields_set contains the field + if self.consensus_annotations is None and "consensus_annotations" in self.model_fields_set: + _dict['consensusAnnotations'] = None + + # set to None if consensus_annotations_de_novo (nullable) is None + # and model_fields_set contains the field + if self.consensus_annotations_de_novo is None and "consensus_annotations_de_novo" in self.model_fields_set: + _dict['consensusAnnotationsDeNovo'] = None + + # set to None if custom_annotations (nullable) is None + # and model_fields_set contains the field + if self.custom_annotations is None and "custom_annotations" in self.model_fields_set: + _dict['customAnnotations'] = None + + # set to None if tags (nullable) is None + # and model_fields_set contains the field + if self.tags is None and "tags" in self.model_fields_set: + _dict['tags'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound_class.py b/client-api_python/generated/PySirius/models/compound_class.py index 55b74082..6a3d3ef0 100644 --- a/client-api_python/generated/PySirius/models/compound_class.py +++ b/client-api_python/generated/PySirius/models/compound_class.py @@ -25,7 +25,7 @@ class CompoundClass(BaseModel): """ Predicted compound class with name, probability and id if available. (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to """ # noqa: E501 - type: Optional[CompoundClassType] = Field(default=None, description="Specifies the classification ontology the CompoundClass belongs to.") + type: Optional[CompoundClassType] = None level: Optional[StrictStr] = Field(default=None, description="Name of the level this compound class belongs to") level_index: Optional[StrictInt] = Field(default=None, description="Index of the level this compound class belongs to", alias="levelIndex") name: Optional[StrictStr] = Field(default=None, description="Name of the compound class.") @@ -76,6 +76,46 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + + # set to None if level (nullable) is None + # and model_fields_set contains the field + if self.level is None and "level" in self.model_fields_set: + _dict['level'] = None + + # set to None if level_index (nullable) is None + # and model_fields_set contains the field + if self.level_index is None and "level_index" in self.model_fields_set: + _dict['levelIndex'] = None + + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if id (nullable) is None + # and model_fields_set contains the field + if self.id is None and "id" in self.model_fields_set: + _dict['id'] = None + + # set to None if parent_id (nullable) is None + # and model_fields_set contains the field + if self.parent_id is None and "parent_id" in self.model_fields_set: + _dict['parentId'] = None + + # set to None if parent_name (nullable) is None + # and model_fields_set contains the field + if self.parent_name is None and "parent_name" in self.model_fields_set: + _dict['parentName'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound_classes.py b/client-api_python/generated/PySirius/models/compound_classes.py index a0885a8e..c6077a43 100644 --- a/client-api_python/generated/PySirius/models/compound_classes.py +++ b/client-api_python/generated/PySirius/models/compound_classes.py @@ -25,11 +25,11 @@ class CompoundClasses(BaseModel): """ Container class that holds the most likely compound class for different levels of each ontology for a certain Compound/Feature/FormulaCandidate/PredictedFingerprint. """ # noqa: E501 - npc_pathway: Optional[CompoundClass] = Field(default=None, description="Pathway level NPC class with the highest probability", alias="npcPathway") - npc_superclass: Optional[CompoundClass] = Field(default=None, description="Superclass level NPC class with the highest probability", alias="npcSuperclass") - npc_class: Optional[CompoundClass] = Field(default=None, description="Class level NPC class with the highest probability", alias="npcClass") - classy_fire_lineage: Optional[List[CompoundClass]] = Field(default=None, description="Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation", alias="classyFireLineage") - classy_fire_alternatives: Optional[List[CompoundClass]] = Field(default=None, description="Alternative ClassyFire classes with high probability that do not fit into the linage", alias="classyFireAlternatives") + npc_pathway: Optional[CompoundClass] = Field(default=None, alias="npcPathway") + npc_superclass: Optional[CompoundClass] = Field(default=None, alias="npcSuperclass") + npc_class: Optional[CompoundClass] = Field(default=None, alias="npcClass") + classy_fire_lineage: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation", alias="classyFireLineage") + classy_fire_alternatives: Optional[List[Optional[CompoundClass]]] = Field(default=None, description="Alternative ClassyFire classes with high probability that do not fit into the linage", alias="classyFireAlternatives") __properties: ClassVar[List[str]] = ["npcPathway", "npcSuperclass", "npcClass", "classyFireLineage", "classyFireAlternatives"] model_config = ConfigDict( @@ -94,6 +94,31 @@ def to_dict(self) -> Dict[str, Any]: if _item_classy_fire_alternatives: _items.append(_item_classy_fire_alternatives.to_dict()) _dict['classyFireAlternatives'] = _items + # set to None if npc_pathway (nullable) is None + # and model_fields_set contains the field + if self.npc_pathway is None and "npc_pathway" in self.model_fields_set: + _dict['npcPathway'] = None + + # set to None if npc_superclass (nullable) is None + # and model_fields_set contains the field + if self.npc_superclass is None and "npc_superclass" in self.model_fields_set: + _dict['npcSuperclass'] = None + + # set to None if npc_class (nullable) is None + # and model_fields_set contains the field + if self.npc_class is None and "npc_class" in self.model_fields_set: + _dict['npcClass'] = None + + # set to None if classy_fire_lineage (nullable) is None + # and model_fields_set contains the field + if self.classy_fire_lineage is None and "classy_fire_lineage" in self.model_fields_set: + _dict['classyFireLineage'] = None + + # set to None if classy_fire_alternatives (nullable) is None + # and model_fields_set contains the field + if self.classy_fire_alternatives is None and "classy_fire_alternatives" in self.model_fields_set: + _dict['classyFireAlternatives'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/compound_import.py b/client-api_python/generated/PySirius/models/compound_import.py index a79258f2..666b2c97 100644 --- a/client-api_python/generated/PySirius/models/compound_import.py +++ b/client-api_python/generated/PySirius/models/compound_import.py @@ -75,6 +75,11 @@ def to_dict(self) -> Dict[str, Any]: if _item_features: _items.append(_item_features.to_dict()) _dict['features'] = _items + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/computed_subtools.py b/client-api_python/generated/PySirius/models/computed_subtools.py index 9172c93d..882a8938 100644 --- a/client-api_python/generated/PySirius/models/computed_subtools.py +++ b/client-api_python/generated/PySirius/models/computed_subtools.py @@ -22,7 +22,7 @@ class ComputedSubtools(BaseModel): """ - ComputedSubtools + Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. """ # noqa: E501 library_search: Optional[StrictBool] = Field(default=None, alias="librarySearch") formula_search: Optional[StrictBool] = Field(default=None, alias="formulaSearch") diff --git a/client-api_python/generated/PySirius/models/connection_error.py b/client-api_python/generated/PySirius/models/connection_error.py index 66d3709b..99d91dd2 100644 --- a/client-api_python/generated/PySirius/models/connection_error.py +++ b/client-api_python/generated/PySirius/models/connection_error.py @@ -75,6 +75,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if server_response_error_code (nullable) is None + # and model_fields_set contains the field + if self.server_response_error_code is None and "server_response_error_code" in self.model_fields_set: + _dict['serverResponseErrorCode'] = None + + # set to None if server_response_error_message (nullable) is None + # and model_fields_set contains the field + if self.server_response_error_message is None and "server_response_error_message" in self.model_fields_set: + _dict['serverResponseErrorMessage'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/consensus_annotations_csi.py b/client-api_python/generated/PySirius/models/consensus_annotations_csi.py index 01e2ed51..569ec649 100644 --- a/client-api_python/generated/PySirius/models/consensus_annotations_csi.py +++ b/client-api_python/generated/PySirius/models/consensus_annotations_csi.py @@ -28,10 +28,10 @@ class ConsensusAnnotationsCSI(BaseModel): ConsensusAnnotationsCSI """ # noqa: E501 molecular_formula: Optional[StrictStr] = Field(default=None, description="Molecular formula of the consensus annotation Might be null if no consensus formula is available.", alias="molecularFormula") - compound_classes: Optional[CompoundClasses] = Field(default=None, description="Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.", alias="compoundClasses") - supporting_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") - selection_criterion: Optional[ConsensusCriterionCSI] = Field(default=None, description="Null if this is a custom selection", alias="selectionCriterion") - csi_finger_id_structure: Optional[StructureCandidate] = Field(default=None, description="Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available.", alias="csiFingerIdStructure") + compound_classes: Optional[CompoundClasses] = Field(default=None, alias="compoundClasses") + supporting_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") + selection_criterion: Optional[ConsensusCriterionCSI] = Field(default=None, alias="selectionCriterion") + csi_finger_id_structure: Optional[StructureCandidate] = Field(default=None, alias="csiFingerIdStructure") confidence_exact_match: Optional[float] = Field(default=None, description="Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported", alias="confidenceExactMatch") confidence_approx_match: Optional[float] = Field(default=None, description="Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported", alias="confidenceApproxMatch") __properties: ClassVar[List[str]] = ["molecularFormula", "compoundClasses", "supportingFeatureIds", "selectionCriterion", "csiFingerIdStructure", "confidenceExactMatch", "confidenceApproxMatch"] @@ -81,6 +81,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of csi_finger_id_structure if self.csi_finger_id_structure: _dict['csiFingerIdStructure'] = self.csi_finger_id_structure.to_dict() + # set to None if molecular_formula (nullable) is None + # and model_fields_set contains the field + if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: + _dict['molecularFormula'] = None + + # set to None if compound_classes (nullable) is None + # and model_fields_set contains the field + if self.compound_classes is None and "compound_classes" in self.model_fields_set: + _dict['compoundClasses'] = None + + # set to None if supporting_feature_ids (nullable) is None + # and model_fields_set contains the field + if self.supporting_feature_ids is None and "supporting_feature_ids" in self.model_fields_set: + _dict['supportingFeatureIds'] = None + + # set to None if selection_criterion (nullable) is None + # and model_fields_set contains the field + if self.selection_criterion is None and "selection_criterion" in self.model_fields_set: + _dict['selectionCriterion'] = None + + # set to None if csi_finger_id_structure (nullable) is None + # and model_fields_set contains the field + if self.csi_finger_id_structure is None and "csi_finger_id_structure" in self.model_fields_set: + _dict['csiFingerIdStructure'] = None + + # set to None if confidence_exact_match (nullable) is None + # and model_fields_set contains the field + if self.confidence_exact_match is None and "confidence_exact_match" in self.model_fields_set: + _dict['confidenceExactMatch'] = None + + # set to None if confidence_approx_match (nullable) is None + # and model_fields_set contains the field + if self.confidence_approx_match is None and "confidence_approx_match" in self.model_fields_set: + _dict['confidenceApproxMatch'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py b/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py index 435f6f6d..02aeaeb8 100644 --- a/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py +++ b/client-api_python/generated/PySirius/models/consensus_annotations_de_novo.py @@ -27,9 +27,9 @@ class ConsensusAnnotationsDeNovo(BaseModel): ConsensusAnnotationsDeNovo """ # noqa: E501 molecular_formula: Optional[StrictStr] = Field(default=None, description="Molecular formula of the consensus annotation Might be null if no consensus formula is available.", alias="molecularFormula") - compound_classes: Optional[CompoundClasses] = Field(default=None, description="Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.", alias="compoundClasses") - supporting_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") - selection_criterion: Optional[ConsensusCriterionDeNovo] = Field(default=None, description="Criterion that was used to select the consensus annotation.", alias="selectionCriterion") + compound_classes: Optional[CompoundClasses] = Field(default=None, alias="compoundClasses") + supporting_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="FeatureIds where the topAnnotation supports this annotation.", alias="supportingFeatureIds") + selection_criterion: Optional[ConsensusCriterionDeNovo] = Field(default=None, alias="selectionCriterion") __properties: ClassVar[List[str]] = ["molecularFormula", "compoundClasses", "supportingFeatureIds", "selectionCriterion"] model_config = ConfigDict( @@ -74,6 +74,26 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of compound_classes if self.compound_classes: _dict['compoundClasses'] = self.compound_classes.to_dict() + # set to None if molecular_formula (nullable) is None + # and model_fields_set contains the field + if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: + _dict['molecularFormula'] = None + + # set to None if compound_classes (nullable) is None + # and model_fields_set contains the field + if self.compound_classes is None and "compound_classes" in self.model_fields_set: + _dict['compoundClasses'] = None + + # set to None if supporting_feature_ids (nullable) is None + # and model_fields_set contains the field + if self.supporting_feature_ids is None and "supporting_feature_ids" in self.model_fields_set: + _dict['supportingFeatureIds'] = None + + # set to None if selection_criterion (nullable) is None + # and model_fields_set contains the field + if self.selection_criterion is None and "selection_criterion" in self.model_fields_set: + _dict['selectionCriterion'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/data_import_event.py b/client-api_python/generated/PySirius/models/data_import_event.py index d178f3fd..e4aa25ef 100644 --- a/client-api_python/generated/PySirius/models/data_import_event.py +++ b/client-api_python/generated/PySirius/models/data_import_event.py @@ -68,6 +68,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if import_job_id (nullable) is None + # and model_fields_set contains the field + if self.import_job_id is None and "import_job_id" in self.model_fields_set: + _dict['importJobId'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/feature_annotations.py b/client-api_python/generated/PySirius/models/feature_annotations.py index edcbf6f4..30960d50 100644 --- a/client-api_python/generated/PySirius/models/feature_annotations.py +++ b/client-api_python/generated/PySirius/models/feature_annotations.py @@ -28,14 +28,14 @@ class FeatureAnnotations(BaseModel): """ Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature. The different annotation fields within this summary object are null if the corresponding feature does not contain the represented results. If fields are non-null the corresponding result has been computed but might still be empty. """ # noqa: E501 - formula_annotation: Optional[FormulaCandidate] = Field(default=None, description="Best matching FormulaCandidate.", alias="formulaAnnotation") - structure_annotation: Optional[StructureCandidateScored] = Field(default=None, description="Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates.", alias="structureAnnotation") - compound_class_annotation: Optional[CompoundClasses] = Field(default=None, description="Best matching compound classes that correspond to the formulaAnnotation", alias="compoundClassAnnotation") + formula_annotation: Optional[FormulaCandidate] = Field(default=None, alias="formulaAnnotation") + structure_annotation: Optional[StructureCandidateScored] = Field(default=None, alias="structureAnnotation") + compound_class_annotation: Optional[CompoundClasses] = Field(default=None, alias="compoundClassAnnotation") confidence_exact_match: Optional[float] = Field(default=None, description="Confidence Score that represents the confidence whether the top hit is correct.", alias="confidenceExactMatch") confidence_approx_match: Optional[float] = Field(default=None, description="Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct.", alias="confidenceApproxMatch") - expansive_search_state: Optional[ConfidenceMode] = Field(default=None, description="Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter)", alias="expansiveSearchState") - specified_databases: Optional[List[StrictStr]] = Field(default=None, description="List of databases that have been specified by for structure db search. Null if no structure db search has been performed.", alias="specifiedDatabases") - expanded_databases: Optional[List[StrictStr]] = Field(default=None, description="List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.", alias="expandedDatabases") + expansive_search_state: Optional[ConfidenceMode] = Field(default=None, alias="expansiveSearchState") + specified_databases: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of databases that have been specified by for structure db search. Null if no structure db search has been performed.", alias="specifiedDatabases") + expanded_databases: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed.", alias="expandedDatabases") __properties: ClassVar[List[str]] = ["formulaAnnotation", "structureAnnotation", "compoundClassAnnotation", "confidenceExactMatch", "confidenceApproxMatch", "expansiveSearchState", "specifiedDatabases", "expandedDatabases"] model_config = ConfigDict( @@ -86,6 +86,46 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of compound_class_annotation if self.compound_class_annotation: _dict['compoundClassAnnotation'] = self.compound_class_annotation.to_dict() + # set to None if formula_annotation (nullable) is None + # and model_fields_set contains the field + if self.formula_annotation is None and "formula_annotation" in self.model_fields_set: + _dict['formulaAnnotation'] = None + + # set to None if structure_annotation (nullable) is None + # and model_fields_set contains the field + if self.structure_annotation is None and "structure_annotation" in self.model_fields_set: + _dict['structureAnnotation'] = None + + # set to None if compound_class_annotation (nullable) is None + # and model_fields_set contains the field + if self.compound_class_annotation is None and "compound_class_annotation" in self.model_fields_set: + _dict['compoundClassAnnotation'] = None + + # set to None if confidence_exact_match (nullable) is None + # and model_fields_set contains the field + if self.confidence_exact_match is None and "confidence_exact_match" in self.model_fields_set: + _dict['confidenceExactMatch'] = None + + # set to None if confidence_approx_match (nullable) is None + # and model_fields_set contains the field + if self.confidence_approx_match is None and "confidence_approx_match" in self.model_fields_set: + _dict['confidenceApproxMatch'] = None + + # set to None if expansive_search_state (nullable) is None + # and model_fields_set contains the field + if self.expansive_search_state is None and "expansive_search_state" in self.model_fields_set: + _dict['expansiveSearchState'] = None + + # set to None if specified_databases (nullable) is None + # and model_fields_set contains the field + if self.specified_databases is None and "specified_databases" in self.model_fields_set: + _dict['specifiedDatabases'] = None + + # set to None if expanded_databases (nullable) is None + # and model_fields_set contains the field + if self.expanded_databases is None and "expanded_databases" in self.model_fields_set: + _dict['expandedDatabases'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/feature_import.py b/client-api_python/generated/PySirius/models/feature_import.py index c5dd1be3..8896b6ab 100644 --- a/client-api_python/generated/PySirius/models/feature_import.py +++ b/client-api_python/generated/PySirius/models/feature_import.py @@ -30,14 +30,14 @@ class FeatureImport(BaseModel): external_feature_id: Optional[StrictStr] = Field(default=None, description="Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source.", alias="externalFeatureId") ion_mass: float = Field(alias="ionMass") charge: StrictInt - detected_adducts: Optional[List[StrictStr]] = Field(default=None, description="Detected adducts of this feature. Can be NULL or empty if no adducts are known.", alias="detectedAdducts") + detected_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Detected adducts of this feature. Can be NULL or empty if no adducts are known.", alias="detectedAdducts") rt_start_seconds: Optional[float] = Field(default=None, alias="rtStartSeconds") rt_end_seconds: Optional[float] = Field(default=None, alias="rtEndSeconds") rt_apex_seconds: Optional[float] = Field(default=None, alias="rtApexSeconds") - data_quality: Optional[DataQuality] = Field(default=None, description="A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.", alias="dataQuality") - merged_ms1: Optional[BasicSpectrum] = Field(default=None, description="Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given.", alias="mergedMs1") - ms1_spectra: Optional[List[BasicSpectrum]] = Field(default=None, description="List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given.", alias="ms1Spectra") - ms2_spectra: Optional[List[BasicSpectrum]] = Field(default=None, description="List of MS/MS spectra that belong to this feature.", alias="ms2Spectra") + data_quality: Optional[DataQuality] = Field(default=None, alias="dataQuality") + merged_ms1: Optional[BasicSpectrum] = Field(default=None, alias="mergedMs1") + ms1_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, description="List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given.", alias="ms1Spectra") + ms2_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, description="List of MS/MS spectra that belong to this feature.", alias="ms2Spectra") __properties: ClassVar[List[str]] = ["name", "externalFeatureId", "ionMass", "charge", "detectedAdducts", "rtStartSeconds", "rtEndSeconds", "rtApexSeconds", "dataQuality", "mergedMs1", "ms1Spectra", "ms2Spectra"] model_config = ConfigDict( @@ -96,6 +96,56 @@ def to_dict(self) -> Dict[str, Any]: if _item_ms2_spectra: _items.append(_item_ms2_spectra.to_dict()) _dict['ms2Spectra'] = _items + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if external_feature_id (nullable) is None + # and model_fields_set contains the field + if self.external_feature_id is None and "external_feature_id" in self.model_fields_set: + _dict['externalFeatureId'] = None + + # set to None if detected_adducts (nullable) is None + # and model_fields_set contains the field + if self.detected_adducts is None and "detected_adducts" in self.model_fields_set: + _dict['detectedAdducts'] = None + + # set to None if rt_start_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_start_seconds is None and "rt_start_seconds" in self.model_fields_set: + _dict['rtStartSeconds'] = None + + # set to None if rt_end_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_end_seconds is None and "rt_end_seconds" in self.model_fields_set: + _dict['rtEndSeconds'] = None + + # set to None if rt_apex_seconds (nullable) is None + # and model_fields_set contains the field + if self.rt_apex_seconds is None and "rt_apex_seconds" in self.model_fields_set: + _dict['rtApexSeconds'] = None + + # set to None if data_quality (nullable) is None + # and model_fields_set contains the field + if self.data_quality is None and "data_quality" in self.model_fields_set: + _dict['dataQuality'] = None + + # set to None if merged_ms1 (nullable) is None + # and model_fields_set contains the field + if self.merged_ms1 is None and "merged_ms1" in self.model_fields_set: + _dict['mergedMs1'] = None + + # set to None if ms1_spectra (nullable) is None + # and model_fields_set contains the field + if self.ms1_spectra is None and "ms1_spectra" in self.model_fields_set: + _dict['ms1Spectra'] = None + + # set to None if ms2_spectra (nullable) is None + # and model_fields_set contains the field + if self.ms2_spectra is None and "ms2_spectra" in self.model_fields_set: + _dict['ms2Spectra'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/fingerprint_prediction.py b/client-api_python/generated/PySirius/models/fingerprint_prediction.py index 5477dc49..43514af1 100644 --- a/client-api_python/generated/PySirius/models/fingerprint_prediction.py +++ b/client-api_python/generated/PySirius/models/fingerprint_prediction.py @@ -68,6 +68,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if use_score_threshold (nullable) is None + # and model_fields_set contains the field + if self.use_score_threshold is None and "use_score_threshold" in self.model_fields_set: + _dict['useScoreThreshold'] = None + + # set to None if always_predict_high_ref_matches (nullable) is None + # and model_fields_set contains the field + if self.always_predict_high_ref_matches is None and "always_predict_high_ref_matches" in self.model_fields_set: + _dict['alwaysPredictHighRefMatches'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/formula_candidate.py b/client-api_python/generated/PySirius/models/formula_candidate.py index aba7d5a4..47d8c28d 100644 --- a/client-api_python/generated/PySirius/models/formula_candidate.py +++ b/client-api_python/generated/PySirius/models/formula_candidate.py @@ -44,13 +44,13 @@ class FormulaCandidate(BaseModel): num_of_explainable_peaks: Optional[StrictInt] = Field(default=None, alias="numOfExplainablePeaks") total_explained_intensity: Optional[float] = Field(default=None, alias="totalExplainedIntensity") median_mass_deviation: Optional[Deviation] = Field(default=None, alias="medianMassDeviation") - fragmentation_tree: Optional[FragmentationTree] = Field(default=None, description="The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore).", alias="fragmentationTree") - annotated_spectrum: Optional[AnnotatedSpectrum] = Field(default=None, description="Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses", alias="annotatedSpectrum") - isotope_pattern_annotation: Optional[IsotopePatternAnnotation] = Field(default=None, description="The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore.", alias="isotopePatternAnnotation") - lipid_annotation: Optional[LipidAnnotation] = Field(default=None, description="ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid", alias="lipidAnnotation") - predicted_fingerprint: Optional[List[float]] = Field(default=None, description="Probabilistic molecular fingerprint predicted by CSI:FingerID", alias="predictedFingerprint") - compound_classes: Optional[CompoundClasses] = Field(default=None, description="Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)", alias="compoundClasses") - canopus_prediction: Optional[CanopusPrediction] = Field(default=None, description="All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)", alias="canopusPrediction") + fragmentation_tree: Optional[FragmentationTree] = Field(default=None, alias="fragmentationTree") + annotated_spectrum: Optional[AnnotatedSpectrum] = Field(default=None, alias="annotatedSpectrum") + isotope_pattern_annotation: Optional[IsotopePatternAnnotation] = Field(default=None, alias="isotopePatternAnnotation") + lipid_annotation: Optional[LipidAnnotation] = Field(default=None, alias="lipidAnnotation") + predicted_fingerprint: Optional[List[Optional[float]]] = Field(default=None, description="Probabilistic molecular fingerprint predicted by CSI:FingerID", alias="predictedFingerprint") + compound_classes: Optional[CompoundClasses] = Field(default=None, alias="compoundClasses") + canopus_prediction: Optional[CanopusPrediction] = Field(default=None, alias="canopusPrediction") __properties: ClassVar[List[str]] = ["formulaId", "molecularFormula", "adduct", "rank", "siriusScoreNormalized", "siriusScore", "isotopeScore", "treeScore", "zodiacScore", "numOfExplainedPeaks", "numOfExplainablePeaks", "totalExplainedIntensity", "medianMassDeviation", "fragmentationTree", "annotatedSpectrum", "isotopePatternAnnotation", "lipidAnnotation", "predictedFingerprint", "compoundClasses", "canopusPrediction"] model_config = ConfigDict( @@ -113,6 +113,81 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of canopus_prediction if self.canopus_prediction: _dict['canopusPrediction'] = self.canopus_prediction.to_dict() + # set to None if sirius_score_normalized (nullable) is None + # and model_fields_set contains the field + if self.sirius_score_normalized is None and "sirius_score_normalized" in self.model_fields_set: + _dict['siriusScoreNormalized'] = None + + # set to None if sirius_score (nullable) is None + # and model_fields_set contains the field + if self.sirius_score is None and "sirius_score" in self.model_fields_set: + _dict['siriusScore'] = None + + # set to None if isotope_score (nullable) is None + # and model_fields_set contains the field + if self.isotope_score is None and "isotope_score" in self.model_fields_set: + _dict['isotopeScore'] = None + + # set to None if tree_score (nullable) is None + # and model_fields_set contains the field + if self.tree_score is None and "tree_score" in self.model_fields_set: + _dict['treeScore'] = None + + # set to None if zodiac_score (nullable) is None + # and model_fields_set contains the field + if self.zodiac_score is None and "zodiac_score" in self.model_fields_set: + _dict['zodiacScore'] = None + + # set to None if num_of_explained_peaks (nullable) is None + # and model_fields_set contains the field + if self.num_of_explained_peaks is None and "num_of_explained_peaks" in self.model_fields_set: + _dict['numOfExplainedPeaks'] = None + + # set to None if num_of_explainable_peaks (nullable) is None + # and model_fields_set contains the field + if self.num_of_explainable_peaks is None and "num_of_explainable_peaks" in self.model_fields_set: + _dict['numOfExplainablePeaks'] = None + + # set to None if total_explained_intensity (nullable) is None + # and model_fields_set contains the field + if self.total_explained_intensity is None and "total_explained_intensity" in self.model_fields_set: + _dict['totalExplainedIntensity'] = None + + # set to None if fragmentation_tree (nullable) is None + # and model_fields_set contains the field + if self.fragmentation_tree is None and "fragmentation_tree" in self.model_fields_set: + _dict['fragmentationTree'] = None + + # set to None if annotated_spectrum (nullable) is None + # and model_fields_set contains the field + if self.annotated_spectrum is None and "annotated_spectrum" in self.model_fields_set: + _dict['annotatedSpectrum'] = None + + # set to None if isotope_pattern_annotation (nullable) is None + # and model_fields_set contains the field + if self.isotope_pattern_annotation is None and "isotope_pattern_annotation" in self.model_fields_set: + _dict['isotopePatternAnnotation'] = None + + # set to None if lipid_annotation (nullable) is None + # and model_fields_set contains the field + if self.lipid_annotation is None and "lipid_annotation" in self.model_fields_set: + _dict['lipidAnnotation'] = None + + # set to None if predicted_fingerprint (nullable) is None + # and model_fields_set contains the field + if self.predicted_fingerprint is None and "predicted_fingerprint" in self.model_fields_set: + _dict['predictedFingerprint'] = None + + # set to None if compound_classes (nullable) is None + # and model_fields_set contains the field + if self.compound_classes is None and "compound_classes" in self.model_fields_set: + _dict['compoundClasses'] = None + + # set to None if canopus_prediction (nullable) is None + # and model_fields_set contains the field + if self.canopus_prediction is None and "canopus_prediction" in self.model_fields_set: + _dict['canopusPrediction'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/fragment_node.py b/client-api_python/generated/PySirius/models/fragment_node.py index 2c12c9d9..f529d049 100644 --- a/client-api_python/generated/PySirius/models/fragment_node.py +++ b/client-api_python/generated/PySirius/models/fragment_node.py @@ -73,6 +73,41 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if molecular_formula (nullable) is None + # and model_fields_set contains the field + if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: + _dict['molecularFormula'] = None + + # set to None if adduct (nullable) is None + # and model_fields_set contains the field + if self.adduct is None and "adduct" in self.model_fields_set: + _dict['adduct'] = None + + # set to None if mass_deviation_da (nullable) is None + # and model_fields_set contains the field + if self.mass_deviation_da is None and "mass_deviation_da" in self.model_fields_set: + _dict['massDeviationDa'] = None + + # set to None if mass_deviation_ppm (nullable) is None + # and model_fields_set contains the field + if self.mass_deviation_ppm is None and "mass_deviation_ppm" in self.model_fields_set: + _dict['massDeviationPpm'] = None + + # set to None if score (nullable) is None + # and model_fields_set contains the field + if self.score is None and "score" in self.model_fields_set: + _dict['score'] = None + + # set to None if intensity (nullable) is None + # and model_fields_set contains the field + if self.intensity is None and "intensity" in self.model_fields_set: + _dict['intensity'] = None + + # set to None if mz (nullable) is None + # and model_fields_set contains the field + if self.mz is None and "mz" in self.model_fields_set: + _dict['mz'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/info.py b/client-api_python/generated/PySirius/models/info.py index f9dd9e58..12cccb47 100644 --- a/client-api_python/generated/PySirius/models/info.py +++ b/client-api_python/generated/PySirius/models/info.py @@ -78,6 +78,51 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if night_sky_api_version (nullable) is None + # and model_fields_set contains the field + if self.night_sky_api_version is None and "night_sky_api_version" in self.model_fields_set: + _dict['nightSkyApiVersion'] = None + + # set to None if sirius_version (nullable) is None + # and model_fields_set contains the field + if self.sirius_version is None and "sirius_version" in self.model_fields_set: + _dict['siriusVersion'] = None + + # set to None if latest_sirius_version (nullable) is None + # and model_fields_set contains the field + if self.latest_sirius_version is None and "latest_sirius_version" in self.model_fields_set: + _dict['latestSiriusVersion'] = None + + # set to None if latest_sirius_link (nullable) is None + # and model_fields_set contains the field + if self.latest_sirius_link is None and "latest_sirius_link" in self.model_fields_set: + _dict['latestSiriusLink'] = None + + # set to None if sirius_lib_version (nullable) is None + # and model_fields_set contains the field + if self.sirius_lib_version is None and "sirius_lib_version" in self.model_fields_set: + _dict['siriusLibVersion'] = None + + # set to None if finger_id_lib_version (nullable) is None + # and model_fields_set contains the field + if self.finger_id_lib_version is None and "finger_id_lib_version" in self.model_fields_set: + _dict['fingerIdLibVersion'] = None + + # set to None if chem_db_version (nullable) is None + # and model_fields_set contains the field + if self.chem_db_version is None and "chem_db_version" in self.model_fields_set: + _dict['chemDbVersion'] = None + + # set to None if finger_id_model_version (nullable) is None + # and model_fields_set contains the field + if self.finger_id_model_version is None and "finger_id_model_version" in self.model_fields_set: + _dict['fingerIdModelVersion'] = None + + # set to None if fingerprint_id (nullable) is None + # and model_fields_set contains the field + if self.fingerprint_id is None and "fingerprint_id" in self.model_fields_set: + _dict['fingerprintId'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py b/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py index 3926beea..5d1ddd3b 100644 --- a/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py +++ b/client-api_python/generated/PySirius/models/isotope_pattern_annotation.py @@ -74,6 +74,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of simulated_pattern if self.simulated_pattern: _dict['simulatedPattern'] = self.simulated_pattern.to_dict() + # set to None if isotope_pattern (nullable) is None + # and model_fields_set contains the field + if self.isotope_pattern is None and "isotope_pattern" in self.model_fields_set: + _dict['isotopePattern'] = None + + # set to None if simulated_pattern (nullable) is None + # and model_fields_set contains the field + if self.simulated_pattern is None and "simulated_pattern" in self.model_fields_set: + _dict['simulatedPattern'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/job.py b/client-api_python/generated/PySirius/models/job.py index 1331e503..fb4e82d5 100644 --- a/client-api_python/generated/PySirius/models/job.py +++ b/client-api_python/generated/PySirius/models/job.py @@ -28,10 +28,10 @@ class Job(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="Unique identifier to access the job via the API") command: Optional[StrictStr] = Field(default=None, description="Command string of the executed Task") - progress: Optional[JobProgress] = Field(default=None, description="Optional progress information of this job") - affected_compound_ids: Optional[List[StrictStr]] = Field(default=None, description="List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedCompoundIds") - affected_aligned_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedAlignedFeatureIds") - job_effect: Optional[JobEffect] = Field(default=None, description="Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested", alias="jobEffect") + progress: Optional[JobProgress] = None + affected_compound_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedCompoundIds") + affected_aligned_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished", alias="affectedAlignedFeatureIds") + job_effect: Optional[JobEffect] = Field(default=None, alias="jobEffect") __properties: ClassVar[List[str]] = ["id", "command", "progress", "affectedCompoundIds", "affectedAlignedFeatureIds", "jobEffect"] model_config = ConfigDict( @@ -76,6 +76,31 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of progress if self.progress: _dict['progress'] = self.progress.to_dict() + # set to None if command (nullable) is None + # and model_fields_set contains the field + if self.command is None and "command" in self.model_fields_set: + _dict['command'] = None + + # set to None if progress (nullable) is None + # and model_fields_set contains the field + if self.progress is None and "progress" in self.model_fields_set: + _dict['progress'] = None + + # set to None if affected_compound_ids (nullable) is None + # and model_fields_set contains the field + if self.affected_compound_ids is None and "affected_compound_ids" in self.model_fields_set: + _dict['affectedCompoundIds'] = None + + # set to None if affected_aligned_feature_ids (nullable) is None + # and model_fields_set contains the field + if self.affected_aligned_feature_ids is None and "affected_aligned_feature_ids" in self.model_fields_set: + _dict['affectedAlignedFeatureIds'] = None + + # set to None if job_effect (nullable) is None + # and model_fields_set contains the field + if self.job_effect is None and "job_effect" in self.model_fields_set: + _dict['jobEffect'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/job_progress.py b/client-api_python/generated/PySirius/models/job_progress.py index caa2ed3c..2fe3662d 100644 --- a/client-api_python/generated/PySirius/models/job_progress.py +++ b/client-api_python/generated/PySirius/models/job_progress.py @@ -26,7 +26,7 @@ class JobProgress(BaseModel): Progress information of a computation job that has already been submitted to SIRIUS. if currentProgress == maxProgress job is finished and should change to state done soon. if a job is DONE all results can be accessed via the Project-Spaces api. """ # noqa: E501 indeterminate: Optional[StrictBool] = Field(default=None, description="Is the progress indeterminate or not") - state: Optional[JobState] = Field(default=None, description="Current state of the Jobs in the SIRIUS internal Job scheduler WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs) READY: Ready for submission but not yet enqueued for submission to ExecutorService. QUEUED: Enqueued for submission to ExecutorService. SUBMITTED: Submitted and waiting to be executed. RUNNING: Job is running. CANCELED: Jobs is finished due to cancellation by user or dependent jobs. FAILED: Job is finished but failed. DONE: Job finished successfully.") + state: Optional[JobState] = None current_progress: Optional[StrictInt] = Field(default=None, description="Current progress value of the job.", alias="currentProgress") max_progress: Optional[StrictInt] = Field(default=None, description="Progress value to reach (might also change during execution)", alias="maxProgress") message: Optional[StrictStr] = Field(default=None, description="Progress information and warnings.") @@ -72,6 +72,31 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if indeterminate (nullable) is None + # and model_fields_set contains the field + if self.indeterminate is None and "indeterminate" in self.model_fields_set: + _dict['indeterminate'] = None + + # set to None if current_progress (nullable) is None + # and model_fields_set contains the field + if self.current_progress is None and "current_progress" in self.model_fields_set: + _dict['currentProgress'] = None + + # set to None if max_progress (nullable) is None + # and model_fields_set contains the field + if self.max_progress is None and "max_progress" in self.model_fields_set: + _dict['maxProgress'] = None + + # set to None if message (nullable) is None + # and model_fields_set contains the field + if self.message is None and "message" in self.model_fields_set: + _dict['message'] = None + + # set to None if error_message (nullable) is None + # and model_fields_set contains the field + if self.error_message is None and "error_message" in self.model_fields_set: + _dict['errorMessage'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/job_submission.py b/client-api_python/generated/PySirius/models/job_submission.py index 08ad3335..3dadc669 100644 --- a/client-api_python/generated/PySirius/models/job_submission.py +++ b/client-api_python/generated/PySirius/models/job_submission.py @@ -31,20 +31,20 @@ class JobSubmission(BaseModel): """ Object to submit a job to be executed by SIRIUS """ # noqa: E501 - compound_ids: Optional[List[StrictStr]] = Field(default=None, description="Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified.", alias="compoundIds") - aligned_feature_ids: Optional[List[StrictStr]] = Field(default=None, description="Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified.", alias="alignedFeatureIds") - fallback_adducts: Optional[List[StrictStr]] = Field(default=None, description="Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="fallbackAdducts") - enforced_adducts: Optional[List[StrictStr]] = Field(default=None, description="Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="enforcedAdducts") - detectable_adducts: Optional[List[StrictStr]] = Field(default=None, description="Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="detectableAdducts") + compound_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified.", alias="compoundIds") + aligned_feature_ids: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified.", alias="alignedFeatureIds") + fallback_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="fallbackAdducts") + enforced_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="enforcedAdducts") + detectable_adducts: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]-", alias="detectableAdducts") recompute: Optional[StrictBool] = Field(default=None, description="Indicate if already existing result for a tool to be executed should be overwritten or not.") - spectra_search_params: Optional[SpectralLibrarySearch] = Field(default=None, description="Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed.", alias="spectraSearchParams") - formula_id_params: Optional[Sirius] = Field(default=None, description="Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed.", alias="formulaIdParams") - zodiac_params: Optional[Zodiac] = Field(default=None, description="Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed.", alias="zodiacParams") - fingerprint_prediction_params: Optional[FingerprintPrediction] = Field(default=None, description="Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed.", alias="fingerprintPredictionParams") - canopus_params: Optional[Canopus] = Field(default=None, description="Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed.", alias="canopusParams") - structure_db_search_params: Optional[StructureDbSearch] = Field(default=None, description="Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed.", alias="structureDbSearchParams") - ms_novelist_params: Optional[MsNovelist] = Field(default=None, description="Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed.", alias="msNovelistParams") - config_map: Optional[Dict[str, StrictStr]] = Field(default=None, description="As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.", alias="configMap") + spectra_search_params: Optional[SpectralLibrarySearch] = Field(default=None, alias="spectraSearchParams") + formula_id_params: Optional[Sirius] = Field(default=None, alias="formulaIdParams") + zodiac_params: Optional[Zodiac] = Field(default=None, alias="zodiacParams") + fingerprint_prediction_params: Optional[FingerprintPrediction] = Field(default=None, alias="fingerprintPredictionParams") + canopus_params: Optional[Canopus] = Field(default=None, alias="canopusParams") + structure_db_search_params: Optional[StructureDbSearch] = Field(default=None, alias="structureDbSearchParams") + ms_novelist_params: Optional[MsNovelist] = Field(default=None, alias="msNovelistParams") + config_map: Optional[Dict[str, Optional[StrictStr]]] = Field(default=None, description="As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.", alias="configMap") __properties: ClassVar[List[str]] = ["compoundIds", "alignedFeatureIds", "fallbackAdducts", "enforcedAdducts", "detectableAdducts", "recompute", "spectraSearchParams", "formulaIdParams", "zodiacParams", "fingerprintPredictionParams", "canopusParams", "structureDbSearchParams", "msNovelistParams", "configMap"] model_config = ConfigDict( @@ -107,6 +107,76 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of ms_novelist_params if self.ms_novelist_params: _dict['msNovelistParams'] = self.ms_novelist_params.to_dict() + # set to None if compound_ids (nullable) is None + # and model_fields_set contains the field + if self.compound_ids is None and "compound_ids" in self.model_fields_set: + _dict['compoundIds'] = None + + # set to None if aligned_feature_ids (nullable) is None + # and model_fields_set contains the field + if self.aligned_feature_ids is None and "aligned_feature_ids" in self.model_fields_set: + _dict['alignedFeatureIds'] = None + + # set to None if fallback_adducts (nullable) is None + # and model_fields_set contains the field + if self.fallback_adducts is None and "fallback_adducts" in self.model_fields_set: + _dict['fallbackAdducts'] = None + + # set to None if enforced_adducts (nullable) is None + # and model_fields_set contains the field + if self.enforced_adducts is None and "enforced_adducts" in self.model_fields_set: + _dict['enforcedAdducts'] = None + + # set to None if detectable_adducts (nullable) is None + # and model_fields_set contains the field + if self.detectable_adducts is None and "detectable_adducts" in self.model_fields_set: + _dict['detectableAdducts'] = None + + # set to None if recompute (nullable) is None + # and model_fields_set contains the field + if self.recompute is None and "recompute" in self.model_fields_set: + _dict['recompute'] = None + + # set to None if spectra_search_params (nullable) is None + # and model_fields_set contains the field + if self.spectra_search_params is None and "spectra_search_params" in self.model_fields_set: + _dict['spectraSearchParams'] = None + + # set to None if formula_id_params (nullable) is None + # and model_fields_set contains the field + if self.formula_id_params is None and "formula_id_params" in self.model_fields_set: + _dict['formulaIdParams'] = None + + # set to None if zodiac_params (nullable) is None + # and model_fields_set contains the field + if self.zodiac_params is None and "zodiac_params" in self.model_fields_set: + _dict['zodiacParams'] = None + + # set to None if fingerprint_prediction_params (nullable) is None + # and model_fields_set contains the field + if self.fingerprint_prediction_params is None and "fingerprint_prediction_params" in self.model_fields_set: + _dict['fingerprintPredictionParams'] = None + + # set to None if canopus_params (nullable) is None + # and model_fields_set contains the field + if self.canopus_params is None and "canopus_params" in self.model_fields_set: + _dict['canopusParams'] = None + + # set to None if structure_db_search_params (nullable) is None + # and model_fields_set contains the field + if self.structure_db_search_params is None and "structure_db_search_params" in self.model_fields_set: + _dict['structureDbSearchParams'] = None + + # set to None if ms_novelist_params (nullable) is None + # and model_fields_set contains the field + if self.ms_novelist_params is None and "ms_novelist_params" in self.model_fields_set: + _dict['msNovelistParams'] = None + + # set to None if config_map (nullable) is None + # and model_fields_set contains the field + if self.config_map is None and "config_map" in self.model_fields_set: + _dict['configMap'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/lcms_submission_parameters.py b/client-api_python/generated/PySirius/models/lcms_submission_parameters.py index 0c80f5ad..e174b299 100644 --- a/client-api_python/generated/PySirius/models/lcms_submission_parameters.py +++ b/client-api_python/generated/PySirius/models/lcms_submission_parameters.py @@ -27,8 +27,8 @@ class LcmsSubmissionParameters(BaseModel): """ # noqa: E501 align_lcms_runs: Optional[StrictBool] = Field(default=True, description="Specifies whether LC/MS runs should be aligned", alias="alignLCMSRuns") noise_intensity: Optional[float] = Field(default=-1, description="Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient.", alias="noiseIntensity") - trace_max_mass_deviation: Optional[Deviation] = Field(default=None, description="Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace.", alias="traceMaxMassDeviation") - align_max_mass_deviation: Optional[Deviation] = Field(default=None, description="Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data.", alias="alignMaxMassDeviation") + trace_max_mass_deviation: Optional[Deviation] = Field(default=None, alias="traceMaxMassDeviation") + align_max_mass_deviation: Optional[Deviation] = Field(default=None, alias="alignMaxMassDeviation") align_max_retention_time_deviation: Optional[float] = Field(default=-1, description="Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.", alias="alignMaxRetentionTimeDeviation") min_snr: Optional[float] = Field(default=3, description="Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory", alias="minSNR") __properties: ClassVar[List[str]] = ["alignLCMSRuns", "noiseIntensity", "traceMaxMassDeviation", "alignMaxMassDeviation", "alignMaxRetentionTimeDeviation", "minSNR"] diff --git a/client-api_python/generated/PySirius/models/license_info.py b/client-api_python/generated/PySirius/models/license_info.py index 4889808c..d163465d 100644 --- a/client-api_python/generated/PySirius/models/license_info.py +++ b/client-api_python/generated/PySirius/models/license_info.py @@ -29,9 +29,9 @@ class LicenseInfo(BaseModel): """ # noqa: E501 user_email: Optional[StrictStr] = Field(default=None, description="Email address of the user account this license information belongs to.", alias="userEmail") user_id: Optional[StrictStr] = Field(default=None, description="User ID (uid) of the user account this license information belongs to.", alias="userId") - subscription: Optional[Subscription] = Field(default=None, description="The active subscription that was used the requested the information") - consumables: Optional[SubscriptionConsumables] = Field(default=None, description="Status of the consumable resources of the {@link Subscription Subscription}.") - terms: Optional[List[Term]] = None + subscription: Optional[Subscription] = None + consumables: Optional[SubscriptionConsumables] = None + terms: Optional[List[Optional[Term]]] = None __properties: ClassVar[List[str]] = ["userEmail", "userId", "subscription", "consumables", "terms"] model_config = ConfigDict( @@ -86,6 +86,26 @@ def to_dict(self) -> Dict[str, Any]: if _item_terms: _items.append(_item_terms.to_dict()) _dict['terms'] = _items + # set to None if user_email (nullable) is None + # and model_fields_set contains the field + if self.user_email is None and "user_email" in self.model_fields_set: + _dict['userEmail'] = None + + # set to None if user_id (nullable) is None + # and model_fields_set contains the field + if self.user_id is None and "user_id" in self.model_fields_set: + _dict['userId'] = None + + # set to None if consumables (nullable) is None + # and model_fields_set contains the field + if self.consumables is None and "consumables" in self.model_fields_set: + _dict['consumables'] = None + + # set to None if terms (nullable) is None + # and model_fields_set contains the field + if self.terms is None and "terms" in self.model_fields_set: + _dict['terms'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/lipid_annotation.py b/client-api_python/generated/PySirius/models/lipid_annotation.py index 629660d9..fd71dd2a 100644 --- a/client-api_python/generated/PySirius/models/lipid_annotation.py +++ b/client-api_python/generated/PySirius/models/lipid_annotation.py @@ -70,6 +70,31 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if lipid_species (nullable) is None + # and model_fields_set contains the field + if self.lipid_species is None and "lipid_species" in self.model_fields_set: + _dict['lipidSpecies'] = None + + # set to None if lipid_maps_id (nullable) is None + # and model_fields_set contains the field + if self.lipid_maps_id is None and "lipid_maps_id" in self.model_fields_set: + _dict['lipidMapsId'] = None + + # set to None if lipid_class_name (nullable) is None + # and model_fields_set contains the field + if self.lipid_class_name is None and "lipid_class_name" in self.model_fields_set: + _dict['lipidClassName'] = None + + # set to None if hypothetical_structure (nullable) is None + # and model_fields_set contains the field + if self.hypothetical_structure is None and "hypothetical_structure" in self.model_fields_set: + _dict['hypotheticalStructure'] = None + + # set to None if chains_unknown (nullable) is None + # and model_fields_set contains the field + if self.chains_unknown is None and "chains_unknown" in self.model_fields_set: + _dict['chainsUnknown'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/ms_data.py b/client-api_python/generated/PySirius/models/ms_data.py index 818c1513..b5ab16b8 100644 --- a/client-api_python/generated/PySirius/models/ms_data.py +++ b/client-api_python/generated/PySirius/models/ms_data.py @@ -28,8 +28,8 @@ class MsData(BaseModel): isotope_pattern: Optional[BasicSpectrum] = Field(default=None, alias="isotopePattern") merged_ms1: Optional[BasicSpectrum] = Field(default=None, alias="mergedMs1") merged_ms2: Optional[BasicSpectrum] = Field(default=None, alias="mergedMs2") - ms1_spectra: Optional[List[BasicSpectrum]] = Field(default=None, alias="ms1Spectra") - ms2_spectra: Optional[List[BasicSpectrum]] = Field(default=None, alias="ms2Spectra") + ms1_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, alias="ms1Spectra") + ms2_spectra: Optional[List[Optional[BasicSpectrum]]] = Field(default=None, alias="ms2Spectra") __properties: ClassVar[List[str]] = ["isotopePattern", "mergedMs1", "mergedMs2", "ms1Spectra", "ms2Spectra"] model_config = ConfigDict( @@ -94,6 +94,21 @@ def to_dict(self) -> Dict[str, Any]: if _item_ms2_spectra: _items.append(_item_ms2_spectra.to_dict()) _dict['ms2Spectra'] = _items + # set to None if isotope_pattern (nullable) is None + # and model_fields_set contains the field + if self.isotope_pattern is None and "isotope_pattern" in self.model_fields_set: + _dict['isotopePattern'] = None + + # set to None if merged_ms1 (nullable) is None + # and model_fields_set contains the field + if self.merged_ms1 is None and "merged_ms1" in self.model_fields_set: + _dict['mergedMs1'] = None + + # set to None if merged_ms2 (nullable) is None + # and model_fields_set contains the field + if self.merged_ms2 is None and "merged_ms2" in self.model_fields_set: + _dict['mergedMs2'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/ms_novelist.py b/client-api_python/generated/PySirius/models/ms_novelist.py index 52b5a0d3..3de78105 100644 --- a/client-api_python/generated/PySirius/models/ms_novelist.py +++ b/client-api_python/generated/PySirius/models/ms_novelist.py @@ -67,6 +67,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if number_of_candidate_to_predict (nullable) is None + # and model_fields_set contains the field + if self.number_of_candidate_to_predict is None and "number_of_candidate_to_predict" in self.model_fields_set: + _dict['numberOfCandidateToPredict'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py b/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py index 4e905b7a..7a92a432 100644 --- a/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py +++ b/client-api_python/generated/PySirius/models/paged_model_formula_candidate.py @@ -26,7 +26,7 @@ class PagedModelFormulaCandidate(BaseModel): """ PagedModelFormulaCandidate """ # noqa: E501 - content: Optional[List[FormulaCandidate]] = None + content: Optional[List[Optional[FormulaCandidate]]] = None page: Optional[PageMetadata] = None __properties: ClassVar[List[str]] = ["content", "page"] diff --git a/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py b/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py index 7fa08ce4..e8d83748 100644 --- a/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py +++ b/client-api_python/generated/PySirius/models/paged_model_spectral_library_match.py @@ -26,7 +26,7 @@ class PagedModelSpectralLibraryMatch(BaseModel): """ PagedModelSpectralLibraryMatch """ # noqa: E501 - content: Optional[List[SpectralLibraryMatch]] = None + content: Optional[List[Optional[SpectralLibraryMatch]]] = None page: Optional[PageMetadata] = None __properties: ClassVar[List[str]] = ["content", "page"] diff --git a/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py b/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py index ffed6e69..edcfa069 100644 --- a/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py +++ b/client-api_python/generated/PySirius/models/paged_model_structure_candidate_scored.py @@ -26,7 +26,7 @@ class PagedModelStructureCandidateScored(BaseModel): """ PagedModelStructureCandidateScored """ # noqa: E501 - content: Optional[List[StructureCandidateScored]] = None + content: Optional[List[Optional[StructureCandidateScored]]] = None page: Optional[PageMetadata] = None __properties: ClassVar[List[str]] = ["content", "page"] diff --git a/client-api_python/generated/PySirius/models/peak_annotation.py b/client-api_python/generated/PySirius/models/peak_annotation.py index 630eeb09..7b1c9968 100644 --- a/client-api_python/generated/PySirius/models/peak_annotation.py +++ b/client-api_python/generated/PySirius/models/peak_annotation.py @@ -33,10 +33,10 @@ class PeakAnnotation(BaseModel): mass_deviation_ppm: Optional[float] = Field(default=None, description="Relative mass deviation of the exact mass to the measured peak mass in ppm", alias="massDeviationPpm") recalibrated_mass_deviation_mz: Optional[float] = Field(default=None, description="Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa", alias="recalibratedMassDeviationMz") recalibrated_mass_deviation_ppm: Optional[float] = Field(default=None, description="Relative mass deviation of the exact mass to the recalibrated peak mass in ppm", alias="recalibratedMassDeviationPpm") - parent_peak: Optional[ParentPeak] = Field(default=None, description="Link to the parent peak connected via the neutral loss from the fragmentation tree.", alias="parentPeak") - substructure_atoms: Optional[List[StrictInt]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms)", alias="substructureAtoms") - substructure_bonds: Optional[List[StrictInt]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested.", alias="substructureBonds") - substructure_bonds_cut: Optional[List[StrictInt]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested.", alias="substructureBondsCut") + parent_peak: Optional[ParentPeak] = Field(default=None, alias="parentPeak") + substructure_atoms: Optional[List[Optional[StrictInt]]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms)", alias="substructureAtoms") + substructure_bonds: Optional[List[Optional[StrictInt]]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested.", alias="substructureBonds") + substructure_bonds_cut: Optional[List[Optional[StrictInt]]] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested.", alias="substructureBondsCut") substructure_score: Optional[float] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. This score roughly reflects the probability of this fragment forming. This is the score of the path from root to this node which has the maximal score or \"profit\". The score of a path is equal to the sum of scores of its contained fragments and edges. Note: Refers to 'totalScore' in CombinatorialNode Null if substructure annotation not available or not requested.", alias="substructureScore") hydrogen_rearrangements: Optional[StrictInt] = Field(default=None, description="EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Number of hydrogens rearrangements needed to match the substructure to the fragment formula. Null if substructure annotation not available or not requested.", alias="hydrogenRearrangements") __properties: ClassVar[List[str]] = ["fragmentId", "molecularFormula", "adduct", "exactMass", "massDeviationMz", "massDeviationPpm", "recalibratedMassDeviationMz", "recalibratedMassDeviationPpm", "parentPeak", "substructureAtoms", "substructureBonds", "substructureBondsCut", "substructureScore", "hydrogenRearrangements"] @@ -83,6 +83,71 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of parent_peak if self.parent_peak: _dict['parentPeak'] = self.parent_peak.to_dict() + # set to None if molecular_formula (nullable) is None + # and model_fields_set contains the field + if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: + _dict['molecularFormula'] = None + + # set to None if adduct (nullable) is None + # and model_fields_set contains the field + if self.adduct is None and "adduct" in self.model_fields_set: + _dict['adduct'] = None + + # set to None if exact_mass (nullable) is None + # and model_fields_set contains the field + if self.exact_mass is None and "exact_mass" in self.model_fields_set: + _dict['exactMass'] = None + + # set to None if mass_deviation_mz (nullable) is None + # and model_fields_set contains the field + if self.mass_deviation_mz is None and "mass_deviation_mz" in self.model_fields_set: + _dict['massDeviationMz'] = None + + # set to None if mass_deviation_ppm (nullable) is None + # and model_fields_set contains the field + if self.mass_deviation_ppm is None and "mass_deviation_ppm" in self.model_fields_set: + _dict['massDeviationPpm'] = None + + # set to None if recalibrated_mass_deviation_mz (nullable) is None + # and model_fields_set contains the field + if self.recalibrated_mass_deviation_mz is None and "recalibrated_mass_deviation_mz" in self.model_fields_set: + _dict['recalibratedMassDeviationMz'] = None + + # set to None if recalibrated_mass_deviation_ppm (nullable) is None + # and model_fields_set contains the field + if self.recalibrated_mass_deviation_ppm is None and "recalibrated_mass_deviation_ppm" in self.model_fields_set: + _dict['recalibratedMassDeviationPpm'] = None + + # set to None if parent_peak (nullable) is None + # and model_fields_set contains the field + if self.parent_peak is None and "parent_peak" in self.model_fields_set: + _dict['parentPeak'] = None + + # set to None if substructure_atoms (nullable) is None + # and model_fields_set contains the field + if self.substructure_atoms is None and "substructure_atoms" in self.model_fields_set: + _dict['substructureAtoms'] = None + + # set to None if substructure_bonds (nullable) is None + # and model_fields_set contains the field + if self.substructure_bonds is None and "substructure_bonds" in self.model_fields_set: + _dict['substructureBonds'] = None + + # set to None if substructure_bonds_cut (nullable) is None + # and model_fields_set contains the field + if self.substructure_bonds_cut is None and "substructure_bonds_cut" in self.model_fields_set: + _dict['substructureBondsCut'] = None + + # set to None if substructure_score (nullable) is None + # and model_fields_set contains the field + if self.substructure_score is None and "substructure_score" in self.model_fields_set: + _dict['substructureScore'] = None + + # set to None if hydrogen_rearrangements (nullable) is None + # and model_fields_set contains the field + if self.hydrogen_rearrangements is None and "hydrogen_rearrangements" in self.model_fields_set: + _dict['hydrogenRearrangements'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/project_change_event.py b/client-api_python/generated/PySirius/models/project_change_event.py index affbf270..ae75d335 100644 --- a/client-api_python/generated/PySirius/models/project_change_event.py +++ b/client-api_python/generated/PySirius/models/project_change_event.py @@ -72,6 +72,26 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if compound_id (nullable) is None + # and model_fields_set contains the field + if self.compound_id is None and "compound_id" in self.model_fields_set: + _dict['compoundId'] = None + + # set to None if featured_id (nullable) is None + # and model_fields_set contains the field + if self.featured_id is None and "featured_id" in self.model_fields_set: + _dict['featuredId'] = None + + # set to None if formula_id (nullable) is None + # and model_fields_set contains the field + if self.formula_id is None and "formula_id" in self.model_fields_set: + _dict['formulaId'] = None + + # set to None if structure_in_ch_i_key (nullable) is None + # and model_fields_set contains the field + if self.structure_in_ch_i_key is None and "structure_in_ch_i_key" in self.model_fields_set: + _dict['structureInChIKey'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/project_info.py b/client-api_python/generated/PySirius/models/project_info.py index e952e7e0..80831832 100644 --- a/client-api_python/generated/PySirius/models/project_info.py +++ b/client-api_python/generated/PySirius/models/project_info.py @@ -28,7 +28,7 @@ class ProjectInfo(BaseModel): project_id: Optional[StrictStr] = Field(default=None, description="a user selected unique name of the project for easy access.", alias="projectId") location: Optional[StrictStr] = Field(default=None, description="storage location of the project.") description: Optional[StrictStr] = Field(default=None, description="Description of this project.") - type: Optional[ProjectType] = Field(default=None, description="Type of this project. NULL if project type has not yet been specified by importing data.") + type: Optional[ProjectType] = None compatible: Optional[StrictBool] = Field(default=None, description="Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend. If true project is up-to-date and there are no restrictions regarding usage. If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information If NULL the information has not been requested.") num_of_features: Optional[StrictInt] = Field(default=None, description="Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation').", alias="numOfFeatures") num_of_compounds: Optional[StrictInt] = Field(default=None, description="Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type.", alias="numOfCompounds") @@ -74,6 +74,36 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if type (nullable) is None + # and model_fields_set contains the field + if self.type is None and "type" in self.model_fields_set: + _dict['type'] = None + + # set to None if compatible (nullable) is None + # and model_fields_set contains the field + if self.compatible is None and "compatible" in self.model_fields_set: + _dict['compatible'] = None + + # set to None if num_of_features (nullable) is None + # and model_fields_set contains the field + if self.num_of_features is None and "num_of_features" in self.model_fields_set: + _dict['numOfFeatures'] = None + + # set to None if num_of_compounds (nullable) is None + # and model_fields_set contains the field + if self.num_of_compounds is None and "num_of_compounds" in self.model_fields_set: + _dict['numOfCompounds'] = None + + # set to None if num_of_bytes (nullable) is None + # and model_fields_set contains the field + if self.num_of_bytes is None and "num_of_bytes" in self.model_fields_set: + _dict['numOfBytes'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/quality_item.py b/client-api_python/generated/PySirius/models/quality_item.py index 7237141d..591e2bbe 100644 --- a/client-api_python/generated/PySirius/models/quality_item.py +++ b/client-api_python/generated/PySirius/models/quality_item.py @@ -70,6 +70,11 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if quality (nullable) is None + # and model_fields_set contains the field + if self.quality is None and "quality" in self.model_fields_set: + _dict['quality'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/quant_table_experimental.py b/client-api_python/generated/PySirius/models/quant_table_experimental.py index 623fecff..db9bba10 100644 --- a/client-api_python/generated/PySirius/models/quant_table_experimental.py +++ b/client-api_python/generated/PySirius/models/quant_table_experimental.py @@ -28,10 +28,10 @@ class QuantTableExperimental(BaseModel): """ # noqa: E501 quantification_measure: Optional[QuantMeasure] = Field(default=None, alias="quantificationMeasure") row_type: Optional[QuantRowType] = Field(default=None, alias="rowType") - row_ids: Optional[List[StrictInt]] = Field(default=None, alias="rowIds") - column_ids: Optional[List[StrictInt]] = Field(default=None, alias="columnIds") - row_names: Optional[List[StrictStr]] = Field(default=None, alias="rowNames") - column_names: Optional[List[StrictStr]] = Field(default=None, alias="columnNames") + row_ids: Optional[List[Optional[StrictInt]]] = Field(default=None, alias="rowIds") + column_ids: Optional[List[Optional[StrictInt]]] = Field(default=None, alias="columnIds") + row_names: Optional[List[Optional[StrictStr]]] = Field(default=None, alias="rowNames") + column_names: Optional[List[Optional[StrictStr]]] = Field(default=None, alias="columnNames") values: Optional[List[List[float]]] = None __properties: ClassVar[List[str]] = ["quantificationMeasure", "rowType", "rowIds", "columnIds", "rowNames", "columnNames", "values"] @@ -74,6 +74,26 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if row_ids (nullable) is None + # and model_fields_set contains the field + if self.row_ids is None and "row_ids" in self.model_fields_set: + _dict['rowIds'] = None + + # set to None if column_ids (nullable) is None + # and model_fields_set contains the field + if self.column_ids is None and "column_ids" in self.model_fields_set: + _dict['columnIds'] = None + + # set to None if row_names (nullable) is None + # and model_fields_set contains the field + if self.row_names is None and "row_names" in self.model_fields_set: + _dict['rowNames'] = None + + # set to None if column_names (nullable) is None + # and model_fields_set contains the field + if self.column_names is None and "column_names" in self.model_fields_set: + _dict['columnNames'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/run.py b/client-api_python/generated/PySirius/models/run.py index ec88cc06..494ceae2 100644 --- a/client-api_python/generated/PySirius/models/run.py +++ b/client-api_python/generated/PySirius/models/run.py @@ -31,7 +31,7 @@ class Run(BaseModel): chromatography: Optional[StrictStr] = None ionization: Optional[StrictStr] = None fragmentation: Optional[StrictStr] = None - mass_analyzers: Optional[List[StrictStr]] = Field(default=None, alias="massAnalyzers") + mass_analyzers: Optional[List[Optional[StrictStr]]] = Field(default=None, alias="massAnalyzers") tags: Optional[Dict[str, Tag]] = Field(default=None, description="Key: tagName, value: tag") __properties: ClassVar[List[str]] = ["runId", "name", "source", "chromatography", "ionization", "fragmentation", "massAnalyzers", "tags"] @@ -81,6 +81,31 @@ def to_dict(self) -> Dict[str, Any]: if self.tags[_key_tags]: _field_dict[_key_tags] = self.tags[_key_tags].to_dict() _dict['tags'] = _field_dict + # set to None if chromatography (nullable) is None + # and model_fields_set contains the field + if self.chromatography is None and "chromatography" in self.model_fields_set: + _dict['chromatography'] = None + + # set to None if ionization (nullable) is None + # and model_fields_set contains the field + if self.ionization is None and "ionization" in self.model_fields_set: + _dict['ionization'] = None + + # set to None if fragmentation (nullable) is None + # and model_fields_set contains the field + if self.fragmentation is None and "fragmentation" in self.model_fields_set: + _dict['fragmentation'] = None + + # set to None if mass_analyzers (nullable) is None + # and model_fields_set contains the field + if self.mass_analyzers is None and "mass_analyzers" in self.model_fields_set: + _dict['massAnalyzers'] = None + + # set to None if tags (nullable) is None + # and model_fields_set contains the field + if self.tags is None and "tags" in self.model_fields_set: + _dict['tags'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/searchable_database.py b/client-api_python/generated/PySirius/models/searchable_database.py index aaceb58e..21b65cc9 100644 --- a/client-api_python/generated/PySirius/models/searchable_database.py +++ b/client-api_python/generated/PySirius/models/searchable_database.py @@ -78,6 +78,51 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if display_name (nullable) is None + # and model_fields_set contains the field + if self.display_name is None and "display_name" in self.model_fields_set: + _dict['displayName'] = None + + # set to None if location (nullable) is None + # and model_fields_set contains the field + if self.location is None and "location" in self.model_fields_set: + _dict['location'] = None + + # set to None if match_rt_of_reference_spectra (nullable) is None + # and model_fields_set contains the field + if self.match_rt_of_reference_spectra is None and "match_rt_of_reference_spectra" in self.model_fields_set: + _dict['matchRtOfReferenceSpectra'] = None + + # set to None if db_date (nullable) is None + # and model_fields_set contains the field + if self.db_date is None and "db_date" in self.model_fields_set: + _dict['dbDate'] = None + + # set to None if db_version (nullable) is None + # and model_fields_set contains the field + if self.db_version is None and "db_version" in self.model_fields_set: + _dict['dbVersion'] = None + + # set to None if number_of_structures (nullable) is None + # and model_fields_set contains the field + if self.number_of_structures is None and "number_of_structures" in self.model_fields_set: + _dict['numberOfStructures'] = None + + # set to None if number_of_formulas (nullable) is None + # and model_fields_set contains the field + if self.number_of_formulas is None and "number_of_formulas" in self.model_fields_set: + _dict['numberOfFormulas'] = None + + # set to None if number_of_reference_spectra (nullable) is None + # and model_fields_set contains the field + if self.number_of_reference_spectra is None and "number_of_reference_spectra" in self.model_fields_set: + _dict['numberOfReferenceSpectra'] = None + + # set to None if error_message (nullable) is None + # and model_fields_set contains the field + if self.error_message is None and "error_message" in self.model_fields_set: + _dict['errorMessage'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/searchable_database_parameters.py b/client-api_python/generated/PySirius/models/searchable_database_parameters.py index e9a5fa20..94bbc19b 100644 --- a/client-api_python/generated/PySirius/models/searchable_database_parameters.py +++ b/client-api_python/generated/PySirius/models/searchable_database_parameters.py @@ -68,6 +68,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if display_name (nullable) is None + # and model_fields_set contains the field + if self.display_name is None and "display_name" in self.model_fields_set: + _dict['displayName'] = None + + # set to None if location (nullable) is None + # and model_fields_set contains the field + if self.location is None and "location" in self.model_fields_set: + _dict['location'] = None + + # set to None if match_rt_of_reference_spectra (nullable) is None + # and model_fields_set contains the field + if self.match_rt_of_reference_spectra is None and "match_rt_of_reference_spectra" in self.model_fields_set: + _dict['matchRtOfReferenceSpectra'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/sirius.py b/client-api_python/generated/PySirius/models/sirius.py index 7b836dc2..f9becd4b 100644 --- a/client-api_python/generated/PySirius/models/sirius.py +++ b/client-api_python/generated/PySirius/models/sirius.py @@ -29,22 +29,22 @@ class Sirius(BaseModel): User/developer friendly parameter subset for the Formula/SIRIUS tool Can use results from Spectral library search tool. """ # noqa: E501 enabled: Optional[StrictBool] = Field(default=None, description="tags whether the tool is enabled") - profile: Optional[InstrumentProfile] = Field(default=None, description="Instrument specific profile for internal algorithms Just select what comes closest to the instrument that was used for measuring the data.") + profile: Optional[InstrumentProfile] = None number_of_candidates: Optional[StrictInt] = Field(default=None, description="Number of formula candidates to keep as result list (Formula Candidates).", alias="numberOfCandidates") number_of_candidates_per_ionization: Optional[StrictInt] = Field(default=None, description="Use this parameter if you want to force SIRIUS to report at least NumberOfCandidatesPerIonization results per ionization. if <= 0, this parameter will have no effect and just the top NumberOfCandidates results will be reported.", alias="numberOfCandidatesPerIonization") mass_accuracy_ms2ppm: Optional[float] = Field(default=None, description="Maximum allowed mass deviation. Only molecular formulas within this mass window are considered.", alias="massAccuracyMS2ppm") - isotope_ms2_settings: Optional[IsotopeMs2Strategy] = Field(default=None, description="Specify how isotope patterns in MS/MS should be handled.

FILTER: When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.

SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns

IGNORE: Ignore that there might be isotope patterns in MS/MS", alias="isotopeMs2Settings") + isotope_ms2_settings: Optional[IsotopeMs2Strategy] = Field(default=None, alias="isotopeMs2Settings") filter_by_isotope_pattern: Optional[StrictBool] = Field(default=None, description="When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score.", alias="filterByIsotopePattern") enforce_el_gordo_formula: Optional[StrictBool] = Field(default=None, description="El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate.", alias="enforceElGordoFormula") perform_bottom_up_search: Optional[StrictBool] = Field(default=None, description="If true, molecular formula generation via bottom up search is enabled.", alias="performBottomUpSearch") perform_denovo_below_mz: Optional[float] = Field(default=None, description="Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation.", alias="performDenovoBelowMz") - formula_search_dbs: Optional[List[StrictStr]] = Field(default=None, description="List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.", alias="formulaSearchDBs") + formula_search_dbs: Optional[List[Optional[StrictStr]]] = Field(default=None, description="List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason.", alias="formulaSearchDBs") apply_formula_constraints_to_db_and_bottom_up_search: Optional[StrictBool] = Field(default=None, description="By default, the formula (element) constraints are only applied to de novo molecular formula generation. If true, the constraints are as well applied to database search and bottom up search.", alias="applyFormulaConstraintsToDBAndBottomUpSearch") enforced_formula_constraints: Optional[StrictStr] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Enforced: Enforced elements are always considered", alias="enforcedFormulaConstraints") fallback_formula_constraints: Optional[StrictStr] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available)", alias="fallbackFormulaConstraints") - detectable_elements: Optional[List[StrictStr]] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)", alias="detectableElements") - ilp_timeout: Optional[Timeout] = Field(default=None, description="Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint", alias="ilpTimeout") - use_heuristic: Optional[UseHeuristic] = Field(default=None, description="Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically.", alias="useHeuristic") + detectable_elements: Optional[List[Optional[StrictStr]]] = Field(default=None, description="These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)", alias="detectableElements") + ilp_timeout: Optional[Timeout] = Field(default=None, alias="ilpTimeout") + use_heuristic: Optional[UseHeuristic] = Field(default=None, alias="useHeuristic") inject_spec_lib_match_formulas: Optional[StrictBool] = Field(default=None, description="If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied", alias="injectSpecLibMatchFormulas") min_score_to_inject_spec_lib_match: Optional[float] = Field(default=None, description="Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected.", alias="minScoreToInjectSpecLibMatch") min_peaks_to_inject_spec_lib_match: Optional[StrictInt] = Field(default=None, description="Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied.", alias="minPeaksToInjectSpecLibMatch") @@ -95,6 +95,101 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of use_heuristic if self.use_heuristic: _dict['useHeuristic'] = self.use_heuristic.to_dict() + # set to None if profile (nullable) is None + # and model_fields_set contains the field + if self.profile is None and "profile" in self.model_fields_set: + _dict['profile'] = None + + # set to None if number_of_candidates (nullable) is None + # and model_fields_set contains the field + if self.number_of_candidates is None and "number_of_candidates" in self.model_fields_set: + _dict['numberOfCandidates'] = None + + # set to None if number_of_candidates_per_ionization (nullable) is None + # and model_fields_set contains the field + if self.number_of_candidates_per_ionization is None and "number_of_candidates_per_ionization" in self.model_fields_set: + _dict['numberOfCandidatesPerIonization'] = None + + # set to None if mass_accuracy_ms2ppm (nullable) is None + # and model_fields_set contains the field + if self.mass_accuracy_ms2ppm is None and "mass_accuracy_ms2ppm" in self.model_fields_set: + _dict['massAccuracyMS2ppm'] = None + + # set to None if isotope_ms2_settings (nullable) is None + # and model_fields_set contains the field + if self.isotope_ms2_settings is None and "isotope_ms2_settings" in self.model_fields_set: + _dict['isotopeMs2Settings'] = None + + # set to None if filter_by_isotope_pattern (nullable) is None + # and model_fields_set contains the field + if self.filter_by_isotope_pattern is None and "filter_by_isotope_pattern" in self.model_fields_set: + _dict['filterByIsotopePattern'] = None + + # set to None if enforce_el_gordo_formula (nullable) is None + # and model_fields_set contains the field + if self.enforce_el_gordo_formula is None and "enforce_el_gordo_formula" in self.model_fields_set: + _dict['enforceElGordoFormula'] = None + + # set to None if perform_bottom_up_search (nullable) is None + # and model_fields_set contains the field + if self.perform_bottom_up_search is None and "perform_bottom_up_search" in self.model_fields_set: + _dict['performBottomUpSearch'] = None + + # set to None if perform_denovo_below_mz (nullable) is None + # and model_fields_set contains the field + if self.perform_denovo_below_mz is None and "perform_denovo_below_mz" in self.model_fields_set: + _dict['performDenovoBelowMz'] = None + + # set to None if formula_search_dbs (nullable) is None + # and model_fields_set contains the field + if self.formula_search_dbs is None and "formula_search_dbs" in self.model_fields_set: + _dict['formulaSearchDBs'] = None + + # set to None if apply_formula_constraints_to_db_and_bottom_up_search (nullable) is None + # and model_fields_set contains the field + if self.apply_formula_constraints_to_db_and_bottom_up_search is None and "apply_formula_constraints_to_db_and_bottom_up_search" in self.model_fields_set: + _dict['applyFormulaConstraintsToDBAndBottomUpSearch'] = None + + # set to None if enforced_formula_constraints (nullable) is None + # and model_fields_set contains the field + if self.enforced_formula_constraints is None and "enforced_formula_constraints" in self.model_fields_set: + _dict['enforcedFormulaConstraints'] = None + + # set to None if fallback_formula_constraints (nullable) is None + # and model_fields_set contains the field + if self.fallback_formula_constraints is None and "fallback_formula_constraints" in self.model_fields_set: + _dict['fallbackFormulaConstraints'] = None + + # set to None if detectable_elements (nullable) is None + # and model_fields_set contains the field + if self.detectable_elements is None and "detectable_elements" in self.model_fields_set: + _dict['detectableElements'] = None + + # set to None if ilp_timeout (nullable) is None + # and model_fields_set contains the field + if self.ilp_timeout is None and "ilp_timeout" in self.model_fields_set: + _dict['ilpTimeout'] = None + + # set to None if use_heuristic (nullable) is None + # and model_fields_set contains the field + if self.use_heuristic is None and "use_heuristic" in self.model_fields_set: + _dict['useHeuristic'] = None + + # set to None if inject_spec_lib_match_formulas (nullable) is None + # and model_fields_set contains the field + if self.inject_spec_lib_match_formulas is None and "inject_spec_lib_match_formulas" in self.model_fields_set: + _dict['injectSpecLibMatchFormulas'] = None + + # set to None if min_score_to_inject_spec_lib_match (nullable) is None + # and model_fields_set contains the field + if self.min_score_to_inject_spec_lib_match is None and "min_score_to_inject_spec_lib_match" in self.model_fields_set: + _dict['minScoreToInjectSpecLibMatch'] = None + + # set to None if min_peaks_to_inject_spec_lib_match (nullable) is None + # and model_fields_set contains the field + if self.min_peaks_to_inject_spec_lib_match is None and "min_peaks_to_inject_spec_lib_match" in self.model_fields_set: + _dict['minPeaksToInjectSpecLibMatch'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/spectral_library_match.py b/client-api_python/generated/PySirius/models/spectral_library_match.py index 1329eec1..d43e765b 100644 --- a/client-api_python/generated/PySirius/models/spectral_library_match.py +++ b/client-api_python/generated/PySirius/models/spectral_library_match.py @@ -42,7 +42,7 @@ class SpectralLibraryMatch(BaseModel): adduct: Optional[StrictStr] = None exact_mass: Optional[float] = Field(default=None, alias="exactMass") smiles: Optional[StrictStr] = None - type: Optional[SpectralMatchType] = None + type: Optional[SpectralMatchType] = SpectralMatchType.IDENTITY inchi_key: StrictStr = Field(alias="inchiKey") reference_spectrum_type: Optional[SpectrumType] = Field(default=None, alias="referenceSpectrumType") reference_spectrum: Optional[BasicSpectrum] = Field(default=None, alias="referenceSpectrum") @@ -98,6 +98,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of reference_spectrum if self.reference_spectrum: _dict['referenceSpectrum'] = self.reference_spectrum.to_dict() + # set to None if reference_spectrum (nullable) is None + # and model_fields_set contains the field + if self.reference_spectrum is None and "reference_spectrum" in self.model_fields_set: + _dict['referenceSpectrum'] = None + return _dict @classmethod @@ -124,7 +129,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "adduct": obj.get("adduct"), "exactMass": obj.get("exactMass"), "smiles": obj.get("smiles"), - "type": obj.get("type"), + "type": obj.get("type") if obj.get("type") is not None else SpectralMatchType.IDENTITY, "inchiKey": obj.get("inchiKey"), "referenceSpectrumType": obj.get("referenceSpectrumType"), "referenceSpectrum": BasicSpectrum.from_dict(obj["referenceSpectrum"]) if obj.get("referenceSpectrum") is not None else None, diff --git a/client-api_python/generated/PySirius/models/spectral_library_match_summary.py b/client-api_python/generated/PySirius/models/spectral_library_match_summary.py index 56570278..46e3cfdf 100644 --- a/client-api_python/generated/PySirius/models/spectral_library_match_summary.py +++ b/client-api_python/generated/PySirius/models/spectral_library_match_summary.py @@ -73,6 +73,11 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of best_match if self.best_match: _dict['bestMatch'] = self.best_match.to_dict() + # set to None if best_match (nullable) is None + # and model_fields_set contains the field + if self.best_match is None and "best_match" in self.model_fields_set: + _dict['bestMatch'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/spectral_library_search.py b/client-api_python/generated/PySirius/models/spectral_library_search.py index e1bea3c1..ffd9ccef 100644 --- a/client-api_python/generated/PySirius/models/spectral_library_search.py +++ b/client-api_python/generated/PySirius/models/spectral_library_search.py @@ -26,14 +26,14 @@ class SpectralLibrarySearch(BaseModel): User/developer friendly parameter subset for the Spectral library search tool. """ # noqa: E501 enabled: Optional[StrictBool] = Field(default=None, description="tags whether the tool is enabled") - spectra_search_dbs: Optional[List[StrictStr]] = Field(default=None, description="Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="spectraSearchDBs") + spectra_search_dbs: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Structure Databases with Reference spectra to search in.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="spectraSearchDBs") precursor_deviation_ppm: Optional[float] = Field(default=None, description="Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used.", alias="precursorDeviationPpm") min_similarity: Optional[float] = Field(default=None, description="Minimal spectral similarity of a spectral match to be considered a hit.", alias="minSimilarity") min_num_of_peaks: Optional[StrictInt] = Field(default=None, description="Minimal number of matching peaks of a spectral match to be considered a hit.", alias="minNumOfPeaks") enable_analogue_search: Optional[StrictBool] = Field(default=None, description="Enable analogue search in addition to the identity spectral library search", alias="enableAnalogueSearch") min_similarity_analogue: Optional[float] = Field(default=None, description="Minimal spectral similarity of a spectral match to be considered an analogue hit.", alias="minSimilarityAnalogue") min_num_of_peaks_analogue: Optional[StrictInt] = Field(default=None, description="Minimal number of matching peaks of a spectral match to be considered an analogue hit.", alias="minNumOfPeaksAnalogue") - scoring: Optional[SpectralMatchingType] = Field(default=None, description="NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses.") + scoring: Optional[SpectralMatchingType] = None peak_deviation_ppm: Optional[float] = Field(default=None, description="NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks.", alias="peakDeviationPpm") __properties: ClassVar[List[str]] = ["enabled", "spectraSearchDBs", "precursorDeviationPpm", "minSimilarity", "minNumOfPeaks", "enableAnalogueSearch", "minSimilarityAnalogue", "minNumOfPeaksAnalogue", "scoring", "peakDeviationPpm"] @@ -76,6 +76,46 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if spectra_search_dbs (nullable) is None + # and model_fields_set contains the field + if self.spectra_search_dbs is None and "spectra_search_dbs" in self.model_fields_set: + _dict['spectraSearchDBs'] = None + + # set to None if precursor_deviation_ppm (nullable) is None + # and model_fields_set contains the field + if self.precursor_deviation_ppm is None and "precursor_deviation_ppm" in self.model_fields_set: + _dict['precursorDeviationPpm'] = None + + # set to None if min_similarity (nullable) is None + # and model_fields_set contains the field + if self.min_similarity is None and "min_similarity" in self.model_fields_set: + _dict['minSimilarity'] = None + + # set to None if min_num_of_peaks (nullable) is None + # and model_fields_set contains the field + if self.min_num_of_peaks is None and "min_num_of_peaks" in self.model_fields_set: + _dict['minNumOfPeaks'] = None + + # set to None if min_similarity_analogue (nullable) is None + # and model_fields_set contains the field + if self.min_similarity_analogue is None and "min_similarity_analogue" in self.model_fields_set: + _dict['minSimilarityAnalogue'] = None + + # set to None if min_num_of_peaks_analogue (nullable) is None + # and model_fields_set contains the field + if self.min_num_of_peaks_analogue is None and "min_num_of_peaks_analogue" in self.model_fields_set: + _dict['minNumOfPeaksAnalogue'] = None + + # set to None if scoring (nullable) is None + # and model_fields_set contains the field + if self.scoring is None and "scoring" in self.model_fields_set: + _dict['scoring'] = None + + # set to None if peak_deviation_ppm (nullable) is None + # and model_fields_set contains the field + if self.peak_deviation_ppm is None and "peak_deviation_ppm" in self.model_fields_set: + _dict['peakDeviationPpm'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/spectrum_annotation.py b/client-api_python/generated/PySirius/models/spectrum_annotation.py index a57689fe..b3fea83f 100644 --- a/client-api_python/generated/PySirius/models/spectrum_annotation.py +++ b/client-api_python/generated/PySirius/models/spectrum_annotation.py @@ -74,6 +74,51 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if molecular_formula (nullable) is None + # and model_fields_set contains the field + if self.molecular_formula is None and "molecular_formula" in self.model_fields_set: + _dict['molecularFormula'] = None + + # set to None if adduct (nullable) is None + # and model_fields_set contains the field + if self.adduct is None and "adduct" in self.model_fields_set: + _dict['adduct'] = None + + # set to None if exact_mass (nullable) is None + # and model_fields_set contains the field + if self.exact_mass is None and "exact_mass" in self.model_fields_set: + _dict['exactMass'] = None + + # set to None if mass_deviation_mz (nullable) is None + # and model_fields_set contains the field + if self.mass_deviation_mz is None and "mass_deviation_mz" in self.model_fields_set: + _dict['massDeviationMz'] = None + + # set to None if mass_deviation_ppm (nullable) is None + # and model_fields_set contains the field + if self.mass_deviation_ppm is None and "mass_deviation_ppm" in self.model_fields_set: + _dict['massDeviationPpm'] = None + + # set to None if structure_annotation_smiles (nullable) is None + # and model_fields_set contains the field + if self.structure_annotation_smiles is None and "structure_annotation_smiles" in self.model_fields_set: + _dict['structureAnnotationSmiles'] = None + + # set to None if structure_annotation_name (nullable) is None + # and model_fields_set contains the field + if self.structure_annotation_name is None and "structure_annotation_name" in self.model_fields_set: + _dict['structureAnnotationName'] = None + + # set to None if structure_annotation_svg (nullable) is None + # and model_fields_set contains the field + if self.structure_annotation_svg is None and "structure_annotation_svg" in self.model_fields_set: + _dict['structureAnnotationSvg'] = None + + # set to None if structure_annotation_score (nullable) is None + # and model_fields_set contains the field + if self.structure_annotation_score is None and "structure_annotation_score" in self.model_fields_set: + _dict['structureAnnotationScore'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/stored_job_submission.py b/client-api_python/generated/PySirius/models/stored_job_submission.py index cd0d304e..95b99317 100644 --- a/client-api_python/generated/PySirius/models/stored_job_submission.py +++ b/client-api_python/generated/PySirius/models/stored_job_submission.py @@ -27,7 +27,7 @@ class StoredJobSubmission(BaseModel): """ # noqa: E501 name: StrictStr = Field(description="Unique name to identify this JobSubmission (job config).") editable: StrictBool = Field(description="False for predefined configs which are not editable and not removable.") - job_submission: JobSubmission = Field(description="The JobSubmission identified by the name", alias="jobSubmission") + job_submission: JobSubmission = Field(alias="jobSubmission") __properties: ClassVar[List[str]] = ["name", "editable", "jobSubmission"] model_config = ConfigDict( diff --git a/client-api_python/generated/PySirius/models/structure_candidate.py b/client-api_python/generated/PySirius/models/structure_candidate.py index 4bd57c08..f4037dd0 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate.py +++ b/client-api_python/generated/PySirius/models/structure_candidate.py @@ -30,8 +30,8 @@ class StructureCandidate(BaseModel): smiles: Optional[StrictStr] = None structure_name: Optional[StrictStr] = Field(default=None, alias="structureName") structure_svg: Optional[StrictStr] = Field(default=None, description="SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter", alias="structureSvg") - db_links: Optional[List[DBLink]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") - spectral_library_matches: Optional[List[SpectralLibraryMatch]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") + db_links: Optional[List[Optional[DBLink]]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") + spectral_library_matches: Optional[List[Optional[SpectralLibraryMatch]]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") xlog_p: Optional[float] = Field(default=None, alias="xlogP") __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "structureSvg", "dbLinks", "spectralLibraryMatches", "xlogP"] @@ -88,6 +88,31 @@ def to_dict(self) -> Dict[str, Any]: if _item_spectral_library_matches: _items.append(_item_spectral_library_matches.to_dict()) _dict['spectralLibraryMatches'] = _items + # set to None if structure_name (nullable) is None + # and model_fields_set contains the field + if self.structure_name is None and "structure_name" in self.model_fields_set: + _dict['structureName'] = None + + # set to None if structure_svg (nullable) is None + # and model_fields_set contains the field + if self.structure_svg is None and "structure_svg" in self.model_fields_set: + _dict['structureSvg'] = None + + # set to None if db_links (nullable) is None + # and model_fields_set contains the field + if self.db_links is None and "db_links" in self.model_fields_set: + _dict['dbLinks'] = None + + # set to None if spectral_library_matches (nullable) is None + # and model_fields_set contains the field + if self.spectral_library_matches is None and "spectral_library_matches" in self.model_fields_set: + _dict['spectralLibraryMatches'] = None + + # set to None if xlog_p (nullable) is None + # and model_fields_set contains the field + if self.xlog_p is None and "xlog_p" in self.model_fields_set: + _dict['xlogP'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/structure_candidate_formula.py b/client-api_python/generated/PySirius/models/structure_candidate_formula.py index 6076eb97..3e0ce462 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate_formula.py +++ b/client-api_python/generated/PySirius/models/structure_candidate_formula.py @@ -31,14 +31,14 @@ class StructureCandidateFormula(BaseModel): smiles: Optional[StrictStr] = None structure_name: Optional[StrictStr] = Field(default=None, alias="structureName") structure_svg: Optional[StrictStr] = Field(default=None, description="SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter", alias="structureSvg") - db_links: Optional[List[DBLink]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") - spectral_library_matches: Optional[List[SpectralLibraryMatch]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") + db_links: Optional[List[Optional[DBLink]]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") + spectral_library_matches: Optional[List[Optional[SpectralLibraryMatch]]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") xlog_p: Optional[float] = Field(default=None, alias="xlogP") rank: Optional[StrictInt] = Field(default=None, description="the overall rank of this candidate among all candidates of this feature") csi_score: Optional[float] = Field(default=None, description="CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates", alias="csiScore") tanimoto_similarity: Optional[float] = Field(default=None, description="Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", alias="tanimotoSimilarity") mces_dist_to_top_hit: Optional[float] = Field(default=None, description="Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", alias="mcesDistToTopHit") - fingerprint: Optional[BinaryFingerprint] = Field(default=None, description="Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter") + fingerprint: Optional[BinaryFingerprint] = None molecular_formula: Optional[StrictStr] = Field(default=None, description="Molecular formula of this candidate", alias="molecularFormula") adduct: Optional[StrictStr] = Field(default=None, description="Adduct of this candidate") formula_id: Optional[StrictStr] = Field(default=None, description="Id of the corresponding Formula candidate", alias="formulaId") @@ -100,6 +100,46 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of fingerprint if self.fingerprint: _dict['fingerprint'] = self.fingerprint.to_dict() + # set to None if structure_name (nullable) is None + # and model_fields_set contains the field + if self.structure_name is None and "structure_name" in self.model_fields_set: + _dict['structureName'] = None + + # set to None if structure_svg (nullable) is None + # and model_fields_set contains the field + if self.structure_svg is None and "structure_svg" in self.model_fields_set: + _dict['structureSvg'] = None + + # set to None if db_links (nullable) is None + # and model_fields_set contains the field + if self.db_links is None and "db_links" in self.model_fields_set: + _dict['dbLinks'] = None + + # set to None if spectral_library_matches (nullable) is None + # and model_fields_set contains the field + if self.spectral_library_matches is None and "spectral_library_matches" in self.model_fields_set: + _dict['spectralLibraryMatches'] = None + + # set to None if xlog_p (nullable) is None + # and model_fields_set contains the field + if self.xlog_p is None and "xlog_p" in self.model_fields_set: + _dict['xlogP'] = None + + # set to None if tanimoto_similarity (nullable) is None + # and model_fields_set contains the field + if self.tanimoto_similarity is None and "tanimoto_similarity" in self.model_fields_set: + _dict['tanimotoSimilarity'] = None + + # set to None if mces_dist_to_top_hit (nullable) is None + # and model_fields_set contains the field + if self.mces_dist_to_top_hit is None and "mces_dist_to_top_hit" in self.model_fields_set: + _dict['mcesDistToTopHit'] = None + + # set to None if fingerprint (nullable) is None + # and model_fields_set contains the field + if self.fingerprint is None and "fingerprint" in self.model_fields_set: + _dict['fingerprint'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/structure_candidate_scored.py b/client-api_python/generated/PySirius/models/structure_candidate_scored.py index 5c0064b4..0500dba3 100644 --- a/client-api_python/generated/PySirius/models/structure_candidate_scored.py +++ b/client-api_python/generated/PySirius/models/structure_candidate_scored.py @@ -31,14 +31,14 @@ class StructureCandidateScored(BaseModel): smiles: Optional[StrictStr] = None structure_name: Optional[StrictStr] = Field(default=None, alias="structureName") structure_svg: Optional[StrictStr] = Field(default=None, description="SVG graphics of the structure candidate OPTIONAL: needs to be added by parameter", alias="structureSvg") - db_links: Optional[List[DBLink]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") - spectral_library_matches: Optional[List[SpectralLibraryMatch]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") + db_links: Optional[List[Optional[DBLink]]] = Field(default=None, description="List of structure database links belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="dbLinks") + spectral_library_matches: Optional[List[Optional[SpectralLibraryMatch]]] = Field(default=None, description="List of spectral library matches belonging to this structure candidate OPTIONAL: needs to be added by parameter", alias="spectralLibraryMatches") xlog_p: Optional[float] = Field(default=None, alias="xlogP") rank: Optional[StrictInt] = Field(default=None, description="the overall rank of this candidate among all candidates of this feature") csi_score: Optional[float] = Field(default=None, description="CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates", alias="csiScore") tanimoto_similarity: Optional[float] = Field(default=None, description="Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID", alias="tanimotoSimilarity") mces_dist_to_top_hit: Optional[float] = Field(default=None, description="Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.", alias="mcesDistToTopHit") - fingerprint: Optional[BinaryFingerprint] = Field(default=None, description="Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter") + fingerprint: Optional[BinaryFingerprint] = None __properties: ClassVar[List[str]] = ["inchiKey", "smiles", "structureName", "structureSvg", "dbLinks", "spectralLibraryMatches", "xlogP", "rank", "csiScore", "tanimotoSimilarity", "mcesDistToTopHit", "fingerprint"] model_config = ConfigDict( @@ -97,6 +97,46 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of fingerprint if self.fingerprint: _dict['fingerprint'] = self.fingerprint.to_dict() + # set to None if structure_name (nullable) is None + # and model_fields_set contains the field + if self.structure_name is None and "structure_name" in self.model_fields_set: + _dict['structureName'] = None + + # set to None if structure_svg (nullable) is None + # and model_fields_set contains the field + if self.structure_svg is None and "structure_svg" in self.model_fields_set: + _dict['structureSvg'] = None + + # set to None if db_links (nullable) is None + # and model_fields_set contains the field + if self.db_links is None and "db_links" in self.model_fields_set: + _dict['dbLinks'] = None + + # set to None if spectral_library_matches (nullable) is None + # and model_fields_set contains the field + if self.spectral_library_matches is None and "spectral_library_matches" in self.model_fields_set: + _dict['spectralLibraryMatches'] = None + + # set to None if xlog_p (nullable) is None + # and model_fields_set contains the field + if self.xlog_p is None and "xlog_p" in self.model_fields_set: + _dict['xlogP'] = None + + # set to None if tanimoto_similarity (nullable) is None + # and model_fields_set contains the field + if self.tanimoto_similarity is None and "tanimoto_similarity" in self.model_fields_set: + _dict['tanimotoSimilarity'] = None + + # set to None if mces_dist_to_top_hit (nullable) is None + # and model_fields_set contains the field + if self.mces_dist_to_top_hit is None and "mces_dist_to_top_hit" in self.model_fields_set: + _dict['mcesDistToTopHit'] = None + + # set to None if fingerprint (nullable) is None + # and model_fields_set contains the field + if self.fingerprint is None and "fingerprint" in self.model_fields_set: + _dict['fingerprint'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/structure_db_search.py b/client-api_python/generated/PySirius/models/structure_db_search.py index b518a9b2..3ffb40e8 100644 --- a/client-api_python/generated/PySirius/models/structure_db_search.py +++ b/client-api_python/generated/PySirius/models/structure_db_search.py @@ -26,9 +26,9 @@ class StructureDbSearch(BaseModel): User/developer friendly parameter subset for the CSI:FingerID structure db search tool. Needs results from FingerprintPrediction and Canopus Tool. Non-Null parameters in this Object well override their equivalent value in the config map. """ # noqa: E501 enabled: Optional[StrictBool] = Field(default=None, description="tags whether the tool is enabled") - structure_search_dbs: Optional[List[StrictStr]] = Field(default=None, description="Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="structureSearchDBs") + structure_search_dbs: Optional[List[Optional[StrictStr]]] = Field(default=None, description="Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases.

Defaults to BIO + Custom Databases. Possible values are available to Database API.", alias="structureSearchDBs") tag_structures_with_lipid_class: Optional[StrictBool] = Field(default=None, description="Candidates matching the lipid class estimated by El Gordo will be tagged. The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum. If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation tree, but the matching structure candidates will not be tagged if they match lipid class.", alias="tagStructuresWithLipidClass") - expansive_search_confidence_mode: Optional[ConfidenceMode] = Field(default=None, description="Expansive search mode. Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was found in one of the specified databases (structureSearchDBs).

Possible Values OFF - No expansive search is performed EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification. APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification.", alias="expansiveSearchConfidenceMode") + expansive_search_confidence_mode: Optional[ConfidenceMode] = Field(default=None, alias="expansiveSearchConfidenceMode") __properties: ClassVar[List[str]] = ["enabled", "structureSearchDBs", "tagStructuresWithLipidClass", "expansiveSearchConfidenceMode"] model_config = ConfigDict( @@ -70,6 +70,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if structure_search_dbs (nullable) is None + # and model_fields_set contains the field + if self.structure_search_dbs is None and "structure_search_dbs" in self.model_fields_set: + _dict['structureSearchDBs'] = None + + # set to None if tag_structures_with_lipid_class (nullable) is None + # and model_fields_set contains the field + if self.tag_structures_with_lipid_class is None and "tag_structures_with_lipid_class" in self.model_fields_set: + _dict['tagStructuresWithLipidClass'] = None + + # set to None if expansive_search_confidence_mode (nullable) is None + # and model_fields_set contains the field + if self.expansive_search_confidence_mode is None and "expansive_search_confidence_mode" in self.model_fields_set: + _dict['expansiveSearchConfidenceMode'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/subscription.py b/client-api_python/generated/PySirius/models/subscription.py index 941c8b07..841e7a14 100644 --- a/client-api_python/generated/PySirius/models/subscription.py +++ b/client-api_python/generated/PySirius/models/subscription.py @@ -86,6 +86,66 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of allowed_features if self.allowed_features: _dict['allowedFeatures'] = self.allowed_features.to_dict() + # set to None if subscriber_name (nullable) is None + # and model_fields_set contains the field + if self.subscriber_name is None and "subscriber_name" in self.model_fields_set: + _dict['subscriberName'] = None + + # set to None if expiration_date (nullable) is None + # and model_fields_set contains the field + if self.expiration_date is None and "expiration_date" in self.model_fields_set: + _dict['expirationDate'] = None + + # set to None if start_date (nullable) is None + # and model_fields_set contains the field + if self.start_date is None and "start_date" in self.model_fields_set: + _dict['startDate'] = None + + # set to None if count_queries (nullable) is None + # and model_fields_set contains the field + if self.count_queries is None and "count_queries" in self.model_fields_set: + _dict['countQueries'] = None + + # set to None if instance_limit (nullable) is None + # and model_fields_set contains the field + if self.instance_limit is None and "instance_limit" in self.model_fields_set: + _dict['instanceLimit'] = None + + # set to None if instance_hash_recording_time (nullable) is None + # and model_fields_set contains the field + if self.instance_hash_recording_time is None and "instance_hash_recording_time" in self.model_fields_set: + _dict['instanceHashRecordingTime'] = None + + # set to None if max_queries_per_instance (nullable) is None + # and model_fields_set contains the field + if self.max_queries_per_instance is None and "max_queries_per_instance" in self.model_fields_set: + _dict['maxQueriesPerInstance'] = None + + # set to None if max_user_accounts (nullable) is None + # and model_fields_set contains the field + if self.max_user_accounts is None and "max_user_accounts" in self.model_fields_set: + _dict['maxUserAccounts'] = None + + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if name (nullable) is None + # and model_fields_set contains the field + if self.name is None and "name" in self.model_fields_set: + _dict['name'] = None + + # set to None if tos (nullable) is None + # and model_fields_set contains the field + if self.tos is None and "tos" in self.model_fields_set: + _dict['tos'] = None + + # set to None if pp (nullable) is None + # and model_fields_set contains the field + if self.pp is None and "pp" in self.model_fields_set: + _dict['pp'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/tag.py b/client-api_python/generated/PySirius/models/tag.py index 107b9f77..c1827308 100644 --- a/client-api_python/generated/PySirius/models/tag.py +++ b/client-api_python/generated/PySirius/models/tag.py @@ -25,7 +25,7 @@ class Tag(BaseModel): Tag """ # noqa: E501 tag_name: StrictStr = Field(description="Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition.", alias="tagName") - value: Optional[Any] = None + value: Optional[Dict[str, Any]] = Field(default=None, description="Optional value of the tag.

Generic value of the tag as defined by the corresponding TagDefinition. Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).") __properties: ClassVar[List[str]] = ["tagName", "value"] model_config = ConfigDict( diff --git a/client-api_python/generated/PySirius/models/tag_definition.py b/client-api_python/generated/PySirius/models/tag_definition.py index 50c9c3b2..e69dc3e0 100644 --- a/client-api_python/generated/PySirius/models/tag_definition.py +++ b/client-api_python/generated/PySirius/models/tag_definition.py @@ -29,9 +29,9 @@ class TagDefinition(BaseModel): description: Optional[StrictStr] = Field(default=None, description="A human-readable description about the purpose of this tag.") tag_type: Optional[StrictStr] = Field(default=None, description="A simple string based identifier to specify the type/scope/purpose of this tag.", alias="tagType") value_type: ValueType = Field(alias="valueType") - possible_values: Optional[List[Any]] = Field(default=None, alias="possibleValues") - min_value: Optional[Any] = Field(default=None, alias="minValue") - max_value: Optional[Any] = Field(default=None, alias="maxValue") + possible_values: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, alias="possibleValues") + min_value: Optional[Dict[str, Any]] = Field(default=None, alias="minValue") + max_value: Optional[Dict[str, Any]] = Field(default=None, alias="maxValue") editable: Optional[StrictBool] = None __properties: ClassVar[List[str]] = ["tagName", "description", "tagType", "valueType", "possibleValues", "minValue", "maxValue", "editable"] @@ -74,6 +74,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if tag_type (nullable) is None + # and model_fields_set contains the field + if self.tag_type is None and "tag_type" in self.model_fields_set: + _dict['tagType'] = None + + # set to None if possible_values (nullable) is None + # and model_fields_set contains the field + if self.possible_values is None and "possible_values" in self.model_fields_set: + _dict['possibleValues'] = None + # set to None if min_value (nullable) is None # and model_fields_set contains the field if self.min_value is None and "min_value" in self.model_fields_set: diff --git a/client-api_python/generated/PySirius/models/tag_definition_import.py b/client-api_python/generated/PySirius/models/tag_definition_import.py index 07b4a00a..5aaa4016 100644 --- a/client-api_python/generated/PySirius/models/tag_definition_import.py +++ b/client-api_python/generated/PySirius/models/tag_definition_import.py @@ -29,9 +29,9 @@ class TagDefinitionImport(BaseModel): description: Optional[StrictStr] = Field(default=None, description="A human-readable description about the purpose of this tag.") tag_type: Optional[StrictStr] = Field(default=None, description="A simple string based identifier to specify the type/scope/purpose of this tag.", alias="tagType") value_type: ValueType = Field(alias="valueType") - possible_values: Optional[List[Any]] = Field(default=None, alias="possibleValues") - min_value: Optional[Any] = Field(default=None, alias="minValue") - max_value: Optional[Any] = Field(default=None, alias="maxValue") + possible_values: Optional[List[Optional[Dict[str, Any]]]] = Field(default=None, alias="possibleValues") + min_value: Optional[Dict[str, Any]] = Field(default=None, alias="minValue") + max_value: Optional[Dict[str, Any]] = Field(default=None, alias="maxValue") __properties: ClassVar[List[str]] = ["tagName", "description", "tagType", "valueType", "possibleValues", "minValue", "maxValue"] model_config = ConfigDict( @@ -73,6 +73,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if tag_type (nullable) is None + # and model_fields_set contains the field + if self.tag_type is None and "tag_type" in self.model_fields_set: + _dict['tagType'] = None + + # set to None if possible_values (nullable) is None + # and model_fields_set contains the field + if self.possible_values is None and "possible_values" in self.model_fields_set: + _dict['possibleValues'] = None + # set to None if min_value (nullable) is None # and model_fields_set contains the field if self.min_value is None and "min_value" in self.model_fields_set: diff --git a/client-api_python/generated/PySirius/models/trace_annotation_experimental.py b/client-api_python/generated/PySirius/models/trace_annotation_experimental.py index 4110716d..70726427 100644 --- a/client-api_python/generated/PySirius/models/trace_annotation_experimental.py +++ b/client-api_python/generated/PySirius/models/trace_annotation_experimental.py @@ -71,6 +71,21 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + + # set to None if var_from (nullable) is None + # and model_fields_set contains the field + if self.var_from is None and "var_from" in self.model_fields_set: + _dict['from'] = None + + # set to None if to (nullable) is None + # and model_fields_set contains the field + if self.to is None and "to" in self.model_fields_set: + _dict['to'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/trace_experimental.py b/client-api_python/generated/PySirius/models/trace_experimental.py index b01b8796..88091bec 100644 --- a/client-api_python/generated/PySirius/models/trace_experimental.py +++ b/client-api_python/generated/PySirius/models/trace_experimental.py @@ -84,6 +84,16 @@ def to_dict(self) -> Dict[str, Any]: if _item_annotations: _items.append(_item_annotations.to_dict()) _dict['annotations'] = _items + # set to None if sample_id (nullable) is None + # and model_fields_set contains the field + if self.sample_id is None and "sample_id" in self.model_fields_set: + _dict['sampleId'] = None + + # set to None if sample_name (nullable) is None + # and model_fields_set contains the field + if self.sample_name is None and "sample_name" in self.model_fields_set: + _dict['sampleName'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/models/zodiac.py b/client-api_python/generated/PySirius/models/zodiac.py index 6f77af21..b052fe74 100644 --- a/client-api_python/generated/PySirius/models/zodiac.py +++ b/client-api_python/generated/PySirius/models/zodiac.py @@ -32,10 +32,10 @@ class Zodiac(BaseModel): considered_candidates_at300_mz: Optional[StrictInt] = Field(default=None, description="Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z.", alias="consideredCandidatesAt300Mz") considered_candidates_at800_mz: Optional[StrictInt] = Field(default=None, description="Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z.", alias="consideredCandidatesAt800Mz") run_in_two_steps: Optional[StrictBool] = Field(default=None, description="As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.", alias="runInTwoSteps") - edge_filter_thresholds: Optional[ZodiacEdgeFilterThresholds] = Field(default=None, description="thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to.", alias="edgeFilterThresholds") - gibbs_sampler_parameters: Optional[ZodiacEpochs] = Field(default=None, description="iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs.", alias="gibbsSamplerParameters") - library_search_anchors: Optional[ZodiacLibraryScoring] = Field(default=None, description="Configure the use of identity spectral library search results as anchors in ZODIAC network", alias="librarySearchAnchors") - analogue_search_anchors: Optional[ZodiacAnalogueNodes] = Field(default=None, description="Configure the use of analogue spectral library search results as anchors in ZODIAC network", alias="analogueSearchAnchors") + edge_filter_thresholds: Optional[ZodiacEdgeFilterThresholds] = Field(default=None, alias="edgeFilterThresholds") + gibbs_sampler_parameters: Optional[ZodiacEpochs] = Field(default=None, alias="gibbsSamplerParameters") + library_search_anchors: Optional[ZodiacLibraryScoring] = Field(default=None, alias="librarySearchAnchors") + analogue_search_anchors: Optional[ZodiacAnalogueNodes] = Field(default=None, alias="analogueSearchAnchors") __properties: ClassVar[List[str]] = ["enabled", "consideredCandidatesAt300Mz", "consideredCandidatesAt800Mz", "runInTwoSteps", "edgeFilterThresholds", "gibbsSamplerParameters", "librarySearchAnchors", "analogueSearchAnchors"] model_config = ConfigDict( @@ -89,6 +89,41 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of analogue_search_anchors if self.analogue_search_anchors: _dict['analogueSearchAnchors'] = self.analogue_search_anchors.to_dict() + # set to None if considered_candidates_at300_mz (nullable) is None + # and model_fields_set contains the field + if self.considered_candidates_at300_mz is None and "considered_candidates_at300_mz" in self.model_fields_set: + _dict['consideredCandidatesAt300Mz'] = None + + # set to None if considered_candidates_at800_mz (nullable) is None + # and model_fields_set contains the field + if self.considered_candidates_at800_mz is None and "considered_candidates_at800_mz" in self.model_fields_set: + _dict['consideredCandidatesAt800Mz'] = None + + # set to None if run_in_two_steps (nullable) is None + # and model_fields_set contains the field + if self.run_in_two_steps is None and "run_in_two_steps" in self.model_fields_set: + _dict['runInTwoSteps'] = None + + # set to None if edge_filter_thresholds (nullable) is None + # and model_fields_set contains the field + if self.edge_filter_thresholds is None and "edge_filter_thresholds" in self.model_fields_set: + _dict['edgeFilterThresholds'] = None + + # set to None if gibbs_sampler_parameters (nullable) is None + # and model_fields_set contains the field + if self.gibbs_sampler_parameters is None and "gibbs_sampler_parameters" in self.model_fields_set: + _dict['gibbsSamplerParameters'] = None + + # set to None if library_search_anchors (nullable) is None + # and model_fields_set contains the field + if self.library_search_anchors is None and "library_search_anchors" in self.model_fields_set: + _dict['librarySearchAnchors'] = None + + # set to None if analogue_search_anchors (nullable) is None + # and model_fields_set contains the field + if self.analogue_search_anchors is None and "analogue_search_anchors" in self.model_fields_set: + _dict['analogueSearchAnchors'] = None + return _dict @classmethod diff --git a/client-api_python/generated/README.md b/client-api_python/generated/README.md index 8658b129..731fb7c7 100644 --- a/client-api_python/generated/README.md +++ b/client-api_python/generated/README.md @@ -4,7 +4,7 @@ REST API that provides the full functionality of SIRIUS and its web services as This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - API version: 3.1 -- Package version: 6.3.1 +- Package version: 6.3.3 - Generator version: 7.10.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen diff --git a/client-api_python/generated/docs/AlignedFeature.md b/client-api_python/generated/docs/AlignedFeature.md index ea6fc705..c65db4e2 100644 --- a/client-api_python/generated/docs/AlignedFeature.md +++ b/client-api_python/generated/docs/AlignedFeature.md @@ -16,14 +16,14 @@ Name | Type | Description | Notes **rt_start_seconds** | **float** | | [optional] **rt_end_seconds** | **float** | | [optional] **rt_apex_seconds** | **float** | | [optional] -**quality** | [**DataQuality**](DataQuality.md) | Quality of this feature. | [optional] +**quality** | [**DataQuality**](DataQuality.md) | | [optional] **has_ms1** | **bool** | If true, the feature has at lease one MS1 spectrum | [optional] **has_ms_ms** | **bool** | If true, the feature has at lease one MS/MS spectrum | [optional] -**ms_data** | [**MsData**](MsData.md) | Mass Spec data of this feature (input data) | [optional] -**top_annotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. | [optional] -**top_annotations_de_novo** | [**FeatureAnnotations**](FeatureAnnotations.md) | Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. | [optional] +**ms_data** | [**MsData**](MsData.md) | | [optional] +**top_annotations** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] +**top_annotations_de_novo** | [**FeatureAnnotations**](FeatureAnnotations.md) | | [optional] **computing** | **bool** | Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results | [optional] -**computed_tools** | [**ComputedSubtools**](ComputedSubtools.md) | Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. | [optional] +**computed_tools** | [**ComputedSubtools**](ComputedSubtools.md) | | [optional] **tags** | [**Dict[str, Tag]**](Tag.md) | Key: tagName, value: tag | [optional] ## Example diff --git a/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md b/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md index 9059008b..e095cfa1 100644 --- a/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md +++ b/client-api_python/generated/docs/AlignedFeatureQualityExperimental.md @@ -7,7 +7,7 @@ EXPERIMENTAL: This schema is experimental and may be changed (or even removed) w Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aligned_feature_id** | **str** | Id of the feature (aligned over runs) this quality information belongs to. | -**overall_quality** | [**DataQuality**](DataQuality.md) | Overall Quality | +**overall_quality** | [**DataQuality**](DataQuality.md) | | **categories** | [**Dict[str, Category]**](Category.md) | Contains all pre-computation quality information that belong to this feature (aligned over runs), such as information about the quality of the peak shape, MS2 spectrum etc., | ## Example diff --git a/client-api_python/generated/docs/AnnotatedSpectrum.md b/client-api_python/generated/docs/AnnotatedSpectrum.md index 1ee2eecf..62711ce5 100644 --- a/client-api_python/generated/docs/AnnotatedSpectrum.md +++ b/client-api_python/generated/docs/AnnotatedSpectrum.md @@ -13,14 +13,14 @@ Name | Type | Description | Notes **precursor_mz** | **float** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scan_number** | **int** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] **cosine_query** | **bool** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to False] -**precursor_peak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] +**precursor_peak** | [**SimplePeak**](SimplePeak.md) | | [optional] **peaks** | [**List[AnnotatedPeak]**](AnnotatedPeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | **abs_intensity_factor** | **float** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] **max_norm_factor** | **float** | Factor to convert absolute intensities to MAX norm. | [optional] **sum_norm_factor** | **float** | Factor to convert absolute intensities to SUM norm. | [optional] **l2_norm_factor** | **float** | Factor to convert absolute intensities to L2 (Euclidean) norm. | [optional] **first_peak_norm_factor** | **float** | Factor to convert absolute intensities to normalize intensities by first peak intensity. | [optional] -**spectrum_annotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | Optional Annotations of this spectrum. | [optional] +**spectrum_annotation** | [**SpectrumAnnotation**](SpectrumAnnotation.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/BasicSpectrum.md b/client-api_python/generated/docs/BasicSpectrum.md index 1bf6a7b5..3afd1bb7 100644 --- a/client-api_python/generated/docs/BasicSpectrum.md +++ b/client-api_python/generated/docs/BasicSpectrum.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes **precursor_mz** | **float** | Precursor m/z of the MS/MS spectrum Null for spectra where precursor m/z is not applicable | [optional] **scan_number** | **int** | Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra) | [optional] **cosine_query** | **bool** | True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. | [default to False] -**precursor_peak** | [**SimplePeak**](SimplePeak.md) | A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. | [optional] +**precursor_peak** | [**SimplePeak**](SimplePeak.md) | | [optional] **peaks** | [**List[SimplePeak]**](SimplePeak.md) | The peaks of this spectrum which might contain additional annotations such as molecular formulas. | **abs_intensity_factor** | **float** | Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra) <p> DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly. | [optional] **max_norm_factor** | **float** | Factor to convert absolute intensities to MAX norm. | [optional] diff --git a/client-api_python/generated/docs/BioTransformerParameters.md b/client-api_python/generated/docs/BioTransformerParameters.md index 7f5daae4..ce688a30 100644 --- a/client-api_python/generated/docs/BioTransformerParameters.md +++ b/client-api_python/generated/docs/BioTransformerParameters.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**cyp450_mode** | [**Cyp450Mode**](Cyp450Mode.md) | Specify the Phase I/Cyp450 mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Cyp450 mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Cyp450 mode. | -**p2_mode** | [**P2Mode**](P2Mode.md) | Specify the Phase II mode for all provided BioTransformerSequenceSteps. Will only be applied to Steps that require the Phase II mode as parameter. Can be null in cases where only BioTransformerSequenceSteps are specified that do not need the Phase II mode. | +**cyp450_mode** | [**Cyp450Mode**](Cyp450Mode.md) | | [default to Cyp450Mode.COMBINED] +**p2_mode** | [**P2Mode**](P2Mode.md) | | [default to P2Mode.BT_RULE_BASED] **use_db** | **bool** | \"Specify if you want to enable the retrieving from database (HMDB) feature.\" | [optional] [default to True] **bio_transformer_sequence_steps** | [**List[BioTransformerSequenceStep]**](BioTransformerSequenceStep.md) | Specify BioTransformerSequenceSteps to be applied to input structures. MultiStep MetabolicTransformations can only be used as singletons (list size of one). | diff --git a/client-api_python/generated/docs/Compound.md b/client-api_python/generated/docs/Compound.md index 4c1c26b4..483bacee 100644 --- a/client-api_python/generated/docs/Compound.md +++ b/client-api_python/generated/docs/Compound.md @@ -11,9 +11,9 @@ Name | Type | Description | Notes **rt_end_seconds** | **float** | The merged/consensus retention time end (latest rt) of this compound | [optional] **neutral_mass** | **float** | Neutral mass of this compound. Ion masse minus the mass of the assigned adduct of each feature of this compound should result in the same neutral mass | [optional] **features** | [**List[AlignedFeature]**](AlignedFeature.md) | List of aligned features (adducts) that belong to the same (this) compound | [optional] -**consensus_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] -**consensus_annotations_de_novo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available | [optional] -**custom_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | Alternative annotations selected by the User. | [optional] +**consensus_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] +**consensus_annotations_de_novo** | [**ConsensusAnnotationsDeNovo**](ConsensusAnnotationsDeNovo.md) | | [optional] +**custom_annotations** | [**ConsensusAnnotationsCSI**](ConsensusAnnotationsCSI.md) | | [optional] **tags** | [**Dict[str, Tag]**](Tag.md) | Key: tagName, value: tag | [optional] ## Example diff --git a/client-api_python/generated/docs/CompoundClass.md b/client-api_python/generated/docs/CompoundClass.md index 487e117d..15b179ca 100644 --- a/client-api_python/generated/docs/CompoundClass.md +++ b/client-api_python/generated/docs/CompoundClass.md @@ -6,7 +6,7 @@ Predicted compound class with name, probability and id if available. (ClassyFir Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**type** | [**CompoundClassType**](CompoundClassType.md) | Specifies the classification ontology the CompoundClass belongs to. | [optional] +**type** | [**CompoundClassType**](CompoundClassType.md) | | [optional] **level** | **str** | Name of the level this compound class belongs to | [optional] **level_index** | **int** | Index of the level this compound class belongs to | [optional] **name** | **str** | Name of the compound class. | [optional] diff --git a/client-api_python/generated/docs/CompoundClasses.md b/client-api_python/generated/docs/CompoundClasses.md index ef7707e2..04b9aab4 100644 --- a/client-api_python/generated/docs/CompoundClasses.md +++ b/client-api_python/generated/docs/CompoundClasses.md @@ -6,9 +6,9 @@ Container class that holds the most likely compound class for different levels o Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**npc_pathway** | [**CompoundClass**](CompoundClass.md) | Pathway level NPC class with the highest probability | [optional] -**npc_superclass** | [**CompoundClass**](CompoundClass.md) | Superclass level NPC class with the highest probability | [optional] -**npc_class** | [**CompoundClass**](CompoundClass.md) | Class level NPC class with the highest probability | [optional] +**npc_pathway** | [**CompoundClass**](CompoundClass.md) | | [optional] +**npc_superclass** | [**CompoundClass**](CompoundClass.md) | | [optional] +**npc_class** | [**CompoundClass**](CompoundClass.md) | | [optional] **classy_fire_lineage** | [**List[CompoundClass]**](CompoundClass.md) | Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation | [optional] **classy_fire_alternatives** | [**List[CompoundClass]**](CompoundClass.md) | Alternative ClassyFire classes with high probability that do not fit into the linage | [optional] diff --git a/client-api_python/generated/docs/CompoundStatisticsApi.md b/client-api_python/generated/docs/CompoundStatisticsApi.md index 808618f3..a17a3793 100644 --- a/client-api_python/generated/docs/CompoundStatisticsApi.md +++ b/client-api_python/generated/docs/CompoundStatisticsApi.md @@ -45,7 +45,7 @@ with PySirius.ApiClient(configuration) as api_client: right_group_name = 'right_group_name_example' # str | name of the right tag group. aggregation = PySirius.AggregationType() # AggregationType | aggregation type. (optional) quantification = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) - opt_fields = [progress] # List[JobOptField] | job opt fields. (optional) (default to [progress]) + opt_fields = ["progress"] # List[JobOptField] | job opt fields. (optional) (default to ["progress"]) try: # [EXPERIMENTAL] Compute the fold change between two groups of runs @@ -68,7 +68,7 @@ Name | Type | Description | Notes **right_group_name** | **str**| name of the right tag group. | **aggregation** | [**AggregationType**](.md)| aggregation type. | [optional] **quantification** | [**QuantMeasure**](.md)| quantification type. | [optional] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| job opt fields. | [optional] [default to [progress]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| job opt fields. | [optional] [default to ["progress"]] ### Return type diff --git a/client-api_python/generated/docs/CompoundsApi.md b/client-api_python/generated/docs/CompoundsApi.md index 3fa7aa40..139b73f1 100644 --- a/client-api_python/generated/docs/CompoundsApi.md +++ b/client-api_python/generated/docs/CompoundsApi.md @@ -53,8 +53,8 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to import into. compound_import = [PySirius.CompoundImport()] # List[CompoundImport] | the compound data to be imported profile = PySirius.InstrumentProfile() # InstrumentProfile | profile describing the instrument used to measure the data. Used to merge spectra. (optional) - opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to [none]) - opt_fields_features = [none] # List[AlignedFeatureOptField] | set of optional fields of the nested features to be included. Use 'none' to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to ["none"]) + opt_fields_features = ["none"] # List[AlignedFeatureOptField] | set of optional fields of the nested features to be included. Use 'none' to override defaults. (optional) (default to ["none"]) try: # Import Compounds and its contained features. @@ -75,8 +75,8 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to import into. | **compound_import** | [**List[CompoundImport]**](CompoundImport.md)| the compound data to be imported | **profile** | [**InstrumentProfile**](.md)| profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] - **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] + **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields of the nested features to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] ### Return type @@ -270,8 +270,8 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. compound_id = 'compound_id_example' # str | identifier of the compound (group of ion identities) to access. ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) - opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) - opt_fields_features = [none] # List[AlignedFeatureOptField] | (optional) (default to [none]) + opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields_features = ["none"] # List[AlignedFeatureOptField] | (optional) (default to ["none"]) try: # Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -292,8 +292,8 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **compound_id** | **str**| identifier of the compound (group of ion identities) to access. | **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] - **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] - **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to [none]] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to ["none"]] ### Return type @@ -641,7 +641,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # [EXPERIMENTAL] Get compounds (group of ion identities) by tag group @@ -664,7 +664,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -800,8 +800,8 @@ with PySirius.ApiClient(configuration) as api_client: size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) - opt_fields = [none] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) - opt_fields_features = [none] # List[AlignedFeatureOptField] | (optional) (default to [none]) + opt_fields = ["none"] # List[CompoundOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) + opt_fields_features = ["none"] # List[AlignedFeatureOptField] | (optional) (default to ["none"]) try: # Page of available compounds (group of ion identities) in the given project-space. @@ -824,8 +824,8 @@ Name | Type | Description | Notes **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] - **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] - **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to [none]] + **opt_fields** | [**List[CompoundOptField]**](CompoundOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] + **opt_fields_features** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| | [optional] [default to ["none"]] ### Return type diff --git a/client-api_python/generated/docs/ComputedSubtools.md b/client-api_python/generated/docs/ComputedSubtools.md index 71f632b9..c76f8ae3 100644 --- a/client-api_python/generated/docs/ComputedSubtools.md +++ b/client-api_python/generated/docs/ComputedSubtools.md @@ -1,5 +1,6 @@ # ComputedSubtools +Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. ## Properties diff --git a/client-api_python/generated/docs/ConsensusAnnotationsCSI.md b/client-api_python/generated/docs/ConsensusAnnotationsCSI.md index bfaff531..a2e8f80b 100644 --- a/client-api_python/generated/docs/ConsensusAnnotationsCSI.md +++ b/client-api_python/generated/docs/ConsensusAnnotationsCSI.md @@ -6,10 +6,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecular_formula** | **str** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] -**supporting_feature_ids** | **List[str]** | FeatureIds where the topAnnotation supports this annotation. | [optional] -**selection_criterion** | [**ConsensusCriterionCSI**](ConsensusCriterionCSI.md) | Null if this is a custom selection | [optional] -**csi_finger_id_structure** | [**StructureCandidate**](StructureCandidate.md) | Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. | [optional] +**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**supporting_feature_ids** | **List[Optional[str]]** | FeatureIds where the topAnnotation supports this annotation. | [optional] +**selection_criterion** | [**ConsensusCriterionCSI**](ConsensusCriterionCSI.md) | | [optional] +**csi_finger_id_structure** | [**StructureCandidate**](StructureCandidate.md) | | [optional] **confidence_exact_match** | **float** | Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported | [optional] **confidence_approx_match** | **float** | Confidence value that represents the certainty that the exact consensus structure or a very similar structure (e.g. measured by Maximum Common Edge Subgraph Distance) is the measured one. If multiple features support this consensus structure the maximum confidence is reported | [optional] diff --git a/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md b/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md index 461d0114..5506bfc6 100644 --- a/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md +++ b/client-api_python/generated/docs/ConsensusAnnotationsDeNovo.md @@ -6,9 +6,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **molecular_formula** | **str** | Molecular formula of the consensus annotation Might be null if no consensus formula is available. | [optional] -**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. | [optional] -**supporting_feature_ids** | **List[str]** | FeatureIds where the topAnnotation supports this annotation. | [optional] -**selection_criterion** | [**ConsensusCriterionDeNovo**](ConsensusCriterionDeNovo.md) | Criterion that was used to select the consensus annotation. | [optional] +**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**supporting_feature_ids** | **List[Optional[str]]** | FeatureIds where the topAnnotation supports this annotation. | [optional] +**selection_criterion** | [**ConsensusCriterionDeNovo**](ConsensusCriterionDeNovo.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/FeatureAnnotations.md b/client-api_python/generated/docs/FeatureAnnotations.md index a4695ff1..0ba7b825 100644 --- a/client-api_python/generated/docs/FeatureAnnotations.md +++ b/client-api_python/generated/docs/FeatureAnnotations.md @@ -6,14 +6,14 @@ Summary of the results of a feature (aligned over runs). Can be added to a Align Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**formula_annotation** | [**FormulaCandidate**](FormulaCandidate.md) | Best matching FormulaCandidate. | [optional] -**structure_annotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. | [optional] -**compound_class_annotation** | [**CompoundClasses**](CompoundClasses.md) | Best matching compound classes that correspond to the formulaAnnotation | [optional] +**formula_annotation** | [**FormulaCandidate**](FormulaCandidate.md) | | [optional] +**structure_annotation** | [**StructureCandidateScored**](StructureCandidateScored.md) | | [optional] +**compound_class_annotation** | [**CompoundClasses**](CompoundClasses.md) | | [optional] **confidence_exact_match** | **float** | Confidence Score that represents the confidence whether the top hit is correct. | [optional] **confidence_approx_match** | **float** | Confidence Score that represents the confidence whether the top hit or a very similar hit (estimated by MCES distance) is correct. | [optional] -**expansive_search_state** | [**ConfidenceMode**](ConfidenceMode.md) | Result that shows if structure annotation was expanded by using PubChem as fallback and if so, which confidence mode was used (as per input paramter) | [optional] -**specified_databases** | **List[str]** | List of databases that have been specified by for structure db search. Null if no structure db search has been performed. | [optional] -**expanded_databases** | **List[str]** | List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed. | [optional] +**expansive_search_state** | [**ConfidenceMode**](ConfidenceMode.md) | | [optional] +**specified_databases** | **List[Optional[str]]** | List of databases that have been specified by for structure db search. Null if no structure db search has been performed. | [optional] +**expanded_databases** | **List[Optional[str]]** | List of databases that have been used to expand search space during expansive search. Null if no structure db search has been performed. | [optional] ## Example diff --git a/client-api_python/generated/docs/FeatureImport.md b/client-api_python/generated/docs/FeatureImport.md index eb6772b9..e4964e21 100644 --- a/client-api_python/generated/docs/FeatureImport.md +++ b/client-api_python/generated/docs/FeatureImport.md @@ -10,12 +10,12 @@ Name | Type | Description | Notes **external_feature_id** | **str** | Externally provided FeatureId (by some preprocessing tool). This FeatureId is NOT used by SIRIUS but is stored to ease mapping information back to the source. | [optional] **ion_mass** | **float** | | **charge** | **int** | | -**detected_adducts** | **List[str]** | Detected adducts of this feature. Can be NULL or empty if no adducts are known. | [optional] +**detected_adducts** | **List[Optional[str]]** | Detected adducts of this feature. Can be NULL or empty if no adducts are known. | [optional] **rt_start_seconds** | **float** | | [optional] **rt_end_seconds** | **float** | | [optional] **rt_apex_seconds** | **float** | | [optional] -**data_quality** | [**DataQuality**](DataQuality.md) | A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. | [optional] -**merged_ms1** | [**BasicSpectrum**](BasicSpectrum.md) | Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. | [optional] +**data_quality** | [**DataQuality**](DataQuality.md) | | [optional] +**merged_ms1** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] **ms1_spectra** | [**List[BasicSpectrum]**](BasicSpectrum.md) | List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. | [optional] **ms2_spectra** | [**List[BasicSpectrum]**](BasicSpectrum.md) | List of MS/MS spectra that belong to this feature. | [optional] diff --git a/client-api_python/generated/docs/FeatureStatisticsApi.md b/client-api_python/generated/docs/FeatureStatisticsApi.md index 7ed35c71..3e937ef4 100644 --- a/client-api_python/generated/docs/FeatureStatisticsApi.md +++ b/client-api_python/generated/docs/FeatureStatisticsApi.md @@ -45,7 +45,7 @@ with PySirius.ApiClient(configuration) as api_client: right_group_name = 'right_group_name_example' # str | name of the right tag group. aggregation = PySirius.AggregationType() # AggregationType | aggregation type. (optional) quantification = PySirius.QuantMeasure() # QuantMeasure | quantification type. (optional) - opt_fields = [progress] # List[JobOptField] | job opt fields. (optional) (default to [progress]) + opt_fields = ["progress"] # List[JobOptField] | job opt fields. (optional) (default to ["progress"]) try: # [EXPERIMENTAL] Compute the fold change between two groups of runs @@ -68,7 +68,7 @@ Name | Type | Description | Notes **right_group_name** | **str**| name of the right tag group. | **aggregation** | [**AggregationType**](.md)| aggregation type. | [optional] **quantification** | [**QuantMeasure**](.md)| quantification type. | [optional] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| job opt fields. | [optional] [default to [progress]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| job opt fields. | [optional] [default to ["progress"]] ### Return type diff --git a/client-api_python/generated/docs/FeaturesApi.md b/client-api_python/generated/docs/FeaturesApi.md index 0868444a..0d807d8d 100644 --- a/client-api_python/generated/docs/FeaturesApi.md +++ b/client-api_python/generated/docs/FeaturesApi.md @@ -83,7 +83,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to import into. feature_import = [PySirius.FeatureImport()] # List[FeatureImport] | the feature data to be imported profile = PySirius.InstrumentProfile() # InstrumentProfile | profile describing the instrument used to measure the data. Used to merge spectra. (optional) - opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' to override defaults. (optional) (default to ["none"]) try: # Import (aligned) features into the project. @@ -104,7 +104,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to import into. | **feature_import** | [**List[FeatureImport]**](FeatureImport.md)| the feature data to be imported | **profile** | [**InstrumentProfile**](.md)| profile describing the instrument used to measure the data. Used to merge spectra. | [optional] - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' to override defaults. | [optional] [default to ["none"]] ### Return type @@ -506,7 +506,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | identifier of feature (aligned over runs) to access. ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) - opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -527,7 +527,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| identifier of feature (aligned over runs) to access. | **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -650,7 +650,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) - opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Get all available features (aligned over runs) in the given project-space. @@ -670,7 +670,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -726,7 +726,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # [EXPERIMENTAL] Get features (aligned over runs) by tag group @@ -749,7 +749,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -884,7 +884,7 @@ with PySirius.ApiClient(configuration) as api_client: size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) - opt_fields = [none] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[AlignedFeatureOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Get all available features (aligned over runs) in the given project-space. @@ -907,7 +907,7 @@ Name | Type | Description | Notes **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] - **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[AlignedFeatureOptField]**](AlignedFeatureOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1178,7 +1178,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result - opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -1199,7 +1199,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1256,7 +1256,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -1280,7 +1280,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1336,7 +1336,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -1359,7 +1359,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1706,7 +1706,7 @@ with PySirius.ApiClient(configuration) as api_client: aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) - opt_fields = [none] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # FormulaResultContainers for the given 'formulaId' with minimal information. @@ -1728,7 +1728,7 @@ Name | Type | Description | Notes **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] - **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1860,7 +1860,7 @@ with PySirius.ApiClient(configuration) as api_client: size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) ms_data_search_prepared = False # bool | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (optional) (default to False) - opt_fields = [none] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[FormulaCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Page of FormulaResultContainers available for this feature with minimal information. @@ -1884,7 +1884,7 @@ Name | Type | Description | Notes **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] **ms_data_search_prepared** | **bool**| Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. | [optional] [default to False] - **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[FormulaCandidateOptField]**](FormulaCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -2299,7 +2299,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. match_id = 'match_id_example' # str | id of the library match to be returned. - opt_fields = [none] # List[SpectralLibraryMatchOptField] | (optional) (default to [none]) + opt_fields = ["none"] # List[SpectralLibraryMatchOptField] | (optional) (default to ["none"]) try: # Spectral library match for the given 'alignedFeatureId'. @@ -2320,7 +2320,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | **match_id** | **str**| id of the library match to be returned. | - **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to [none]] + **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to ["none"]] ### Return type @@ -2458,7 +2458,7 @@ with PySirius.ApiClient(configuration) as api_client: min_shared_peaks = 1 # int | (optional) (default to 1) min_similarity = 0.2 # float | (optional) (default to 0.2) inchi_key = '' # str | (optional) (default to '') - opt_fields = [none] # List[SpectralLibraryMatchOptField] | (optional) (default to [none]) + opt_fields = ["none"] # List[SpectralLibraryMatchOptField] | (optional) (default to ["none"]) try: # Page of spectral library matches for the given 'alignedFeatureId'. @@ -2484,7 +2484,7 @@ Name | Type | Description | Notes **min_shared_peaks** | **int**| | [optional] [default to 1] **min_similarity** | **float**| | [optional] [default to 0.2] **inchi_key** | **str**| | [optional] [default to ''] - **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to [none]] + **opt_fields** | [**List[SpectralLibraryMatchOptField]**](SpectralLibraryMatchOptField.md)| | [optional] [default to ["none"]] ### Return type @@ -2839,7 +2839,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.FeaturesApi(api_client) project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the structure candidates belong to. - opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -2859,7 +2859,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the structure candidates belong to. | - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -2913,7 +2913,7 @@ with PySirius.ApiClient(configuration) as api_client: project_id = 'project_id_example' # str | project-space to read from. aligned_feature_id = 'aligned_feature_id_example' # str | feature (aligned over runs) the formula result belongs to. formula_id = 'formula_id_example' # str | identifier of the requested formula result - opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -2934,7 +2934,7 @@ Name | Type | Description | Notes **project_id** | **str**| project-space to read from. | **aligned_feature_id** | **str**| feature (aligned over runs) the formula result belongs to. | **formula_id** | **str**| identifier of the requested formula result | - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -2991,7 +2991,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. @@ -3015,7 +3015,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -3071,7 +3071,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = [none] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[StructureCandidateOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. @@ -3094,7 +3094,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[StructureCandidateOptField]**](StructureCandidateOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type diff --git a/client-api_python/generated/docs/FormulaCandidate.md b/client-api_python/generated/docs/FormulaCandidate.md index 93c29e78..65b258af 100644 --- a/client-api_python/generated/docs/FormulaCandidate.md +++ b/client-api_python/generated/docs/FormulaCandidate.md @@ -19,13 +19,13 @@ Name | Type | Description | Notes **num_of_explainable_peaks** | **int** | | [optional] **total_explained_intensity** | **float** | | [optional] **median_mass_deviation** | [**Deviation**](Deviation.md) | | [optional] -**fragmentation_tree** | [**FragmentationTree**](FragmentationTree.md) | The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). | [optional] -**annotated_spectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses | [optional] -**isotope_pattern_annotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. | [optional] -**lipid_annotation** | [**LipidAnnotation**](LipidAnnotation.md) | ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid | [optional] -**predicted_fingerprint** | **List[float]** | Probabilistic molecular fingerprint predicted by CSI:FingerID | [optional] -**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) | [optional] -**canopus_prediction** | [**CanopusPrediction**](CanopusPrediction.md) | All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) | [optional] +**fragmentation_tree** | [**FragmentationTree**](FragmentationTree.md) | | [optional] +**annotated_spectrum** | [**AnnotatedSpectrum**](AnnotatedSpectrum.md) | | [optional] +**isotope_pattern_annotation** | [**IsotopePatternAnnotation**](IsotopePatternAnnotation.md) | | [optional] +**lipid_annotation** | [**LipidAnnotation**](LipidAnnotation.md) | | [optional] +**predicted_fingerprint** | **List[Optional[float]]** | Probabilistic molecular fingerprint predicted by CSI:FingerID | [optional] +**compound_classes** | [**CompoundClasses**](CompoundClasses.md) | | [optional] +**canopus_prediction** | [**CanopusPrediction**](CanopusPrediction.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/Job.md b/client-api_python/generated/docs/Job.md index f9d532ce..fa7e0ae3 100644 --- a/client-api_python/generated/docs/Job.md +++ b/client-api_python/generated/docs/Job.md @@ -8,10 +8,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | Unique identifier to access the job via the API | [optional] **command** | **str** | Command string of the executed Task | [optional] -**progress** | [**JobProgress**](JobProgress.md) | Optional progress information of this job | [optional] -**affected_compound_ids** | **List[str]** | List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] -**affected_aligned_feature_ids** | **List[str]** | List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] -**job_effect** | [**JobEffect**](JobEffect.md) | Effect this job has. The affected ids are added, removed or modified. Null if job does not affect features/compounds Not available/null if affected Ids are not requested | [optional] +**progress** | [**JobProgress**](JobProgress.md) | | [optional] +**affected_compound_ids** | **List[Optional[str]]** | List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] +**affected_aligned_feature_ids** | **List[Optional[str]]** | List of alignedFeatureIds that are affected by this job. If this job is creating features (e.g. data import jobs) this value will be NULL until the jobs has finished | [optional] +**job_effect** | [**JobEffect**](JobEffect.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/JobProgress.md b/client-api_python/generated/docs/JobProgress.md index 48e0f58c..fb328017 100644 --- a/client-api_python/generated/docs/JobProgress.md +++ b/client-api_python/generated/docs/JobProgress.md @@ -7,7 +7,7 @@ Progress information of a computation job that has already been submitted to SIR Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **indeterminate** | **bool** | Is the progress indeterminate or not | [optional] -**state** | [**JobState**](JobState.md) | Current state of the Jobs in the SIRIUS internal Job scheduler WAITING: Waiting for submission to ExecutorService (e.g. due to dependent jobs) READY: Ready for submission but not yet enqueued for submission to ExecutorService. QUEUED: Enqueued for submission to ExecutorService. SUBMITTED: Submitted and waiting to be executed. RUNNING: Job is running. CANCELED: Jobs is finished due to cancellation by user or dependent jobs. FAILED: Job is finished but failed. DONE: Job finished successfully. | [optional] +**state** | [**JobState**](JobState.md) | | [optional] **current_progress** | **int** | Current progress value of the job. | [optional] **max_progress** | **int** | Progress value to reach (might also change during execution) | [optional] **message** | **str** | Progress information and warnings. | [optional] diff --git a/client-api_python/generated/docs/JobSubmission.md b/client-api_python/generated/docs/JobSubmission.md index b64a5e9e..aec0ff53 100644 --- a/client-api_python/generated/docs/JobSubmission.md +++ b/client-api_python/generated/docs/JobSubmission.md @@ -6,20 +6,20 @@ Object to submit a job to be executed by SIRIUS Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**compound_ids** | **List[str]** | Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified. | [optional] -**aligned_feature_ids** | **List[str]** | Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified. | [optional] -**fallback_adducts** | **List[str]** | Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] -**enforced_adducts** | **List[str]** | Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] -**detectable_adducts** | **List[str]** | Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] +**compound_ids** | **List[Optional[str]]** | Compounds that should be the input for this Job Will be converted to the respective alignedFeatureIds for computation. At least one compoundId or alignedFeatureId needs to be specified. | [optional] +**aligned_feature_ids** | **List[Optional[str]]** | Features (aligned over runs) that should be the input for this Job At least one compoundId or alignedFeatureId needs to be specified. | [optional] +**fallback_adducts** | **List[Optional[str]]** | Describes how to deal with Adducts: Fallback adducts are considered if the auto detection did not find any indication for an ion mode. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] +**enforced_adducts** | **List[Optional[str]]** | Describes how to deal with Adducts: Enforced adducts that are always considered. Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] +**detectable_adducts** | **List[Optional[str]]** | Describes how to deal with Adducts: Detectable adducts which are only considered if there is an indication in the MS1 scan (e.g. correct mass delta). Pos Examples: [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ Neg Examples: [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- | [optional] **recompute** | **bool** | Indicate if already existing result for a tool to be executed should be overwritten or not. | [optional] -**spectra_search_params** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. | [optional] -**formula_id_params** | [**Sirius**](Sirius.md) | Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. | [optional] -**zodiac_params** | [**Zodiac**](Zodiac.md) | Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. | [optional] -**fingerprint_prediction_params** | [**FingerprintPrediction**](FingerprintPrediction.md) | Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. | [optional] -**canopus_params** | [**Canopus**](Canopus.md) | Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. | [optional] -**structure_db_search_params** | [**StructureDbSearch**](StructureDbSearch.md) | Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. | [optional] -**ms_novelist_params** | [**MsNovelist**](MsNovelist.md) | Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. | [optional] -**config_map** | **Dict[str, str]** | As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. | [optional] +**spectra_search_params** | [**SpectralLibrarySearch**](SpectralLibrarySearch.md) | | [optional] +**formula_id_params** | [**Sirius**](Sirius.md) | | [optional] +**zodiac_params** | [**Zodiac**](Zodiac.md) | | [optional] +**fingerprint_prediction_params** | [**FingerprintPrediction**](FingerprintPrediction.md) | | [optional] +**canopus_params** | [**Canopus**](Canopus.md) | | [optional] +**structure_db_search_params** | [**StructureDbSearch**](StructureDbSearch.md) | | [optional] +**ms_novelist_params** | [**MsNovelist**](MsNovelist.md) | | [optional] +**config_map** | **Dict[str, Optional[str]]** | As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. | [optional] ## Example diff --git a/client-api_python/generated/docs/JobsApi.md b/client-api_python/generated/docs/JobsApi.md index fb880bd3..48c849e7 100644 --- a/client-api_python/generated/docs/JobsApi.md +++ b/client-api_python/generated/docs/JobsApi.md @@ -396,7 +396,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.JobsApi(api_client) project_id = 'project_id_example' # str | project-space to run jobs on job_id = 'job_id_example' # str | of the job to be returned - opt_fields = [progress] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [progress]) + opt_fields = ["progress"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["progress"]) try: # Get job information and its current state and progress (if available). @@ -416,7 +416,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| project-space to run jobs on | **job_id** | **str**| of the job to be returned | - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] ### Return type @@ -739,7 +739,7 @@ with PySirius.ApiClient(configuration) as api_client: page = 0 # int | Zero-based page index (0..N) (optional) (default to 0) size = 20 # int | The size of the page to be returned (optional) (default to 20) sort = ['sort_example'] # List[str] | Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. (optional) - opt_fields = [none] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [none]) + opt_fields = ["none"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["none"]) try: # Get Page of jobs with information such as current state and progress (if available). @@ -761,7 +761,7 @@ Name | Type | Description | Notes **page** | **int**| Zero-based page index (0..N) | [optional] [default to 0] **size** | **int**| The size of the page to be returned | [optional] [default to 20] **sort** | [**List[str]**](str.md)| Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported. | [optional] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [none]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["none"]] ### Return type @@ -1031,7 +1031,7 @@ with PySirius.ApiClient(configuration) as api_client: job_config_name = 'job_config_name_example' # str | name if the config to be used request_body = ['request_body_example'] # List[str] | List of alignedFeatureIds to be computed recompute = True # bool | enable or disable recompute. If null the stored value will be used. (optional) - opt_fields = [command, progress] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [command, progress]) + opt_fields = ["command","progress"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["command","progress"]) try: # Start computation for given compounds and with parameters from a stored job-config. @@ -1053,7 +1053,7 @@ Name | Type | Description | Notes **job_config_name** | **str**| name if the config to be used | **request_body** | [**List[str]**](str.md)| List of alignedFeatureIds to be computed | **recompute** | **bool**| enable or disable recompute. If null the stored value will be used. | [optional] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [command, progress]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["command","progress"]] ### Return type diff --git a/client-api_python/generated/docs/LcmsSubmissionParameters.md b/client-api_python/generated/docs/LcmsSubmissionParameters.md index dcafa257..a2d066de 100644 --- a/client-api_python/generated/docs/LcmsSubmissionParameters.md +++ b/client-api_python/generated/docs/LcmsSubmissionParameters.md @@ -7,8 +7,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **align_lcms_runs** | **bool** | Specifies whether LC/MS runs should be aligned | [optional] [default to True] **noise_intensity** | **float** | Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. | [optional] [default to -1] -**trace_max_mass_deviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. | [optional] -**align_max_mass_deviation** | [**Deviation**](Deviation.md) | Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. | [optional] +**trace_max_mass_deviation** | [**Deviation**](Deviation.md) | | [optional] +**align_max_mass_deviation** | [**Deviation**](Deviation.md) | | [optional] **align_max_retention_time_deviation** | **float** | Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. | [optional] [default to -1] **min_snr** | **float** | Minimum ratio between peak height and noise intensity for detecting features. By default, this value is 3. Features with good MS/MS are always picked independent of their intensity. For picking very low intensive features we recommend a min-snr of 2, but this will increase runtime and storage memory | [optional] [default to 3] diff --git a/client-api_python/generated/docs/LicenseInfo.md b/client-api_python/generated/docs/LicenseInfo.md index 8f11f669..e85e2ac5 100644 --- a/client-api_python/generated/docs/LicenseInfo.md +++ b/client-api_python/generated/docs/LicenseInfo.md @@ -7,8 +7,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **user_email** | **str** | Email address of the user account this license information belongs to. | [optional] **user_id** | **str** | User ID (uid) of the user account this license information belongs to. | [optional] -**subscription** | [**Subscription**](Subscription.md) | The active subscription that was used the requested the information | [optional] -**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | Status of the consumable resources of the {@link Subscription Subscription}. | [optional] +**subscription** | [**Subscription**](Subscription.md) | | [optional] +**consumables** | [**SubscriptionConsumables**](SubscriptionConsumables.md) | | [optional] **terms** | [**List[Term]**](Term.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/PeakAnnotation.md b/client-api_python/generated/docs/PeakAnnotation.md index d07656ca..3356decd 100644 --- a/client-api_python/generated/docs/PeakAnnotation.md +++ b/client-api_python/generated/docs/PeakAnnotation.md @@ -13,10 +13,10 @@ Name | Type | Description | Notes **mass_deviation_ppm** | **float** | Relative mass deviation of the exact mass to the measured peak mass in ppm | [optional] **recalibrated_mass_deviation_mz** | **float** | Absolute mass deviation of the exact mass to the recalibrated peak mass in mDa | [optional] **recalibrated_mass_deviation_ppm** | **float** | Relative mass deviation of the exact mass to the recalibrated peak mass in ppm | [optional] -**parent_peak** | [**ParentPeak**](ParentPeak.md) | Link to the parent peak connected via the neutral loss from the fragmentation tree. | [optional] -**substructure_atoms** | **List[int]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) | [optional] -**substructure_bonds** | **List[int]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. | [optional] -**substructure_bonds_cut** | **List[int]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. | [optional] +**parent_peak** | [**ParentPeak**](ParentPeak.md) | | [optional] +**substructure_atoms** | **List[Optional[int]]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) | [optional] +**substructure_bonds** | **List[Optional[int]]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that are part of this fragments substructure (highlighted bonds) Null if substructure annotation not available or not requested. | [optional] +**substructure_bonds_cut** | **List[Optional[int]]** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the bonds of the structure candidate that need to be cut to produce this fragments substructure (highlighted cutted bonds). Null if substructure annotation not available or not requested. | [optional] **substructure_score** | **float** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. This score roughly reflects the probability of this fragment forming. This is the score of the path from root to this node which has the maximal score or \"profit\". The score of a path is equal to the sum of scores of its contained fragments and edges. Note: Refers to 'totalScore' in CombinatorialNode Null if substructure annotation not available or not requested. | [optional] **hydrogen_rearrangements** | **int** | EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Number of hydrogens rearrangements needed to match the substructure to the fragment formula. Null if substructure annotation not available or not requested. | [optional] diff --git a/client-api_python/generated/docs/ProjectInfo.md b/client-api_python/generated/docs/ProjectInfo.md index 15d4ddff..84137ddf 100644 --- a/client-api_python/generated/docs/ProjectInfo.md +++ b/client-api_python/generated/docs/ProjectInfo.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **project_id** | **str** | a user selected unique name of the project for easy access. | [optional] **location** | **str** | storage location of the project. | [optional] **description** | **str** | Description of this project. | [optional] -**type** | [**ProjectType**](ProjectType.md) | Type of this project. NULL if project type has not yet been specified by importing data. | [optional] +**type** | [**ProjectType**](ProjectType.md) | | [optional] **compatible** | **bool** | Indicates whether computed results (e.g. fingerprints, compounds classes) are compatible with the backend. If true project is up-to-date and there are no restrictions regarding usage. If false project is incompatible and therefore \"read only\" until the incompatible results have been removed. See updateProject endpoint for further information If NULL the information has not been requested. | [optional] **num_of_features** | **int** | Number of features (aligned over runs) in this project. If NULL, information has not been requested (See OptField 'sizeInformation'). | [optional] **num_of_compounds** | **int** | Number of compounds (group of ion identities) in this project. If NULL, Information has not been requested (See OptField 'sizeInformation') or might be unavailable for this project type. | [optional] diff --git a/client-api_python/generated/docs/ProjectsApi.md b/client-api_python/generated/docs/ProjectsApi.md index d5751f7c..42778327 100644 --- a/client-api_python/generated/docs/ProjectsApi.md +++ b/client-api_python/generated/docs/ProjectsApi.md @@ -115,7 +115,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. path_to_project = 'path_to_project_example' # str | local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (optional) - opt_fields = [none] # List[ProjectInfoOptField] | (optional) (default to [none]) + opt_fields = ["none"] # List[ProjectInfoOptField] | (optional) (default to ["none"]) try: # Create and open a new project-space at given location and make it accessible via the given projectId. @@ -135,7 +135,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **str**| local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to [none]] + **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to ["none"]] ### Return type @@ -524,7 +524,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | Project-space to import into. input_files = None # List[bytearray] | Files to import into project. - parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. + parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | try: # Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -544,7 +544,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| Project-space to import into. | **input_files** | **List[bytearray]**| Files to import into project. | - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | ### Return type @@ -598,8 +598,8 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | Project-space to import into. input_files = None # List[bytearray] | Files to import into project. - parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. - opt_fields = [progress] # List[JobOptField] | Set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [progress]) + parameters = PySirius.LcmsSubmissionParameters() # LcmsSubmissionParameters | + opt_fields = ["progress"] # List[JobOptField] | Set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["progress"]) try: # Import and Align full MS-Runs from various formats into the specified project as background job. @@ -619,8 +619,8 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| Project-space to import into. | **input_files** | **List[bytearray]**| Files to import into project. | - **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| Parameters for feature alignment and feature finding. | - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] + **parameters** | [**LcmsSubmissionParameters**](LcmsSubmissionParameters.md)| | + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| Set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] ### Return type @@ -749,7 +749,7 @@ with PySirius.ApiClient(configuration) as api_client: input_files = None # List[bytearray] | ignore_formulas = False # bool | (optional) (default to False) allow_ms1_only = True # bool | (optional) (default to True) - opt_fields = [progress] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to [progress]) + opt_fields = ["progress"] # List[JobOptField] | set of optional fields to be included. Use 'none' only to override defaults. (optional) (default to ["progress"]) try: # Import ms/ms data from the given format into the specified project-space as background job. @@ -771,7 +771,7 @@ Name | Type | Description | Notes **input_files** | **List[bytearray]**| | **ignore_formulas** | **bool**| | [optional] [default to False] **allow_ms1_only** | **bool**| | [optional] [default to True] - **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to [progress]] + **opt_fields** | [**List[JobOptField]**](JobOptField.md)| set of optional fields to be included. Use 'none' only to override defaults. | [optional] [default to ["progress"]] ### Return type @@ -824,7 +824,7 @@ with PySirius.ApiClient(configuration) as api_client: api_instance = PySirius.ProjectsApi(api_client) project_id = 'project_id_example' # str | unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. path_to_project = 'path_to_project_example' # str | local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (optional) - opt_fields = [none] # List[ProjectInfoOptField] | (optional) (default to [none]) + opt_fields = ["none"] # List[ProjectInfoOptField] | (optional) (default to ["none"]) try: # Open an existing project-space and make it accessible via the given projectId. @@ -844,7 +844,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **project_id** | **str**| unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. | **path_to_project** | **str**| local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. | [optional] - **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to [none]] + **opt_fields** | [**List[ProjectInfoOptField]**](ProjectInfoOptField.md)| | [optional] [default to ["none"]] ### Return type diff --git a/client-api_python/generated/docs/QuantTableExperimental.md b/client-api_python/generated/docs/QuantTableExperimental.md index 04ef8cc5..6924443d 100644 --- a/client-api_python/generated/docs/QuantTableExperimental.md +++ b/client-api_python/generated/docs/QuantTableExperimental.md @@ -8,10 +8,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **quantification_measure** | [**QuantMeasure**](QuantMeasure.md) | | [optional] **row_type** | [**QuantRowType**](QuantRowType.md) | | [optional] -**row_ids** | **List[int]** | | [optional] -**column_ids** | **List[int]** | | [optional] -**row_names** | **List[str]** | | [optional] -**column_names** | **List[str]** | | [optional] +**row_ids** | **List[Optional[int]]** | | [optional] +**column_ids** | **List[Optional[int]]** | | [optional] +**row_names** | **List[Optional[str]]** | | [optional] +**column_names** | **List[Optional[str]]** | | [optional] **values** | **List[List[float]]** | | [optional] ## Example diff --git a/client-api_python/generated/docs/Run.md b/client-api_python/generated/docs/Run.md index a8110928..ca845a7f 100644 --- a/client-api_python/generated/docs/Run.md +++ b/client-api_python/generated/docs/Run.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **chromatography** | **str** | | [optional] **ionization** | **str** | | [optional] **fragmentation** | **str** | | [optional] -**mass_analyzers** | **List[str]** | | [optional] +**mass_analyzers** | **List[Optional[str]]** | | [optional] **tags** | [**Dict[str, Tag]**](Tag.md) | Key: tagName, value: tag | [optional] ## Example diff --git a/client-api_python/generated/docs/SearchableDatabasesApi.md b/client-api_python/generated/docs/SearchableDatabasesApi.md index 8cd0511a..18dfb4cf 100644 --- a/client-api_python/generated/docs/SearchableDatabasesApi.md +++ b/client-api_python/generated/docs/SearchableDatabasesApi.md @@ -446,7 +446,7 @@ with PySirius.ApiClient(configuration) as api_client: database_id = 'database_id_example' # str | database to import into input_files = None # List[bytearray] | files to be imported buffer_size = 1000 # int | (optional) (default to 1000) - bio_transformer_parameters = PySirius.BioTransformerParameters() # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (optional) + bio_transformer_parameters = PySirius.BioTransformerParameters() # BioTransformerParameters | (optional) try: # Start import of structure and spectra files into the specified database. @@ -467,7 +467,7 @@ Name | Type | Description | Notes **database_id** | **str**| database to import into | **input_files** | **List[bytearray]**| files to be imported | **buffer_size** | **int**| | [optional] [default to 1000] - **bio_transformer_parameters** | [**BioTransformerParameters**](BioTransformerParameters.md)| configuration for biotransformer execution. If null, BioTransformer is not applied. | [optional] + **bio_transformer_parameters** | [**BioTransformerParameters**](BioTransformerParameters.md)| | [optional] ### Return type diff --git a/client-api_python/generated/docs/Sirius.md b/client-api_python/generated/docs/Sirius.md index 514948ee..3a0c49ba 100644 --- a/client-api_python/generated/docs/Sirius.md +++ b/client-api_python/generated/docs/Sirius.md @@ -7,22 +7,22 @@ User/developer friendly parameter subset for the Formula/SIRIUS tool Can use re Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **bool** | tags whether the tool is enabled | [optional] -**profile** | [**InstrumentProfile**](InstrumentProfile.md) | Instrument specific profile for internal algorithms Just select what comes closest to the instrument that was used for measuring the data. | [optional] +**profile** | [**InstrumentProfile**](InstrumentProfile.md) | | [optional] **number_of_candidates** | **int** | Number of formula candidates to keep as result list (Formula Candidates). | [optional] **number_of_candidates_per_ionization** | **int** | Use this parameter if you want to force SIRIUS to report at least NumberOfCandidatesPerIonization results per ionization. if <= 0, this parameter will have no effect and just the top NumberOfCandidates results will be reported. | [optional] **mass_accuracy_ms2ppm** | **float** | Maximum allowed mass deviation. Only molecular formulas within this mass window are considered. | [optional] -**isotope_ms2_settings** | [**IsotopeMs2Strategy**](IsotopeMs2Strategy.md) | Specify how isotope patterns in MS/MS should be handled. <p> FILTER: When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score. <p> SCORE: Use them for SCORING. To use this the instrument should produce clear MS/MS isotope patterns <p> IGNORE: Ignore that there might be isotope patterns in MS/MS | [optional] +**isotope_ms2_settings** | [**IsotopeMs2Strategy**](IsotopeMs2Strategy.md) | | [optional] **filter_by_isotope_pattern** | **bool** | When filtering is enabled, molecular formulas are excluded if their theoretical isotope pattern does not match the theoretical one, even if their MS/MS pattern has high score. | [optional] **enforce_el_gordo_formula** | **bool** | El Gordo may predict that an MS/MS spectrum is a lipid spectrum. If enabled, the corresponding molecular formula will be enforeced as molecular formula candidate. | [optional] **perform_bottom_up_search** | **bool** | If true, molecular formula generation via bottom up search is enabled. | [optional] **perform_denovo_below_mz** | **float** | Specifies the m/z below which de novo molecular formula generation is enabled. Set to 0 to disable de novo molecular formula generation. | [optional] -**formula_search_dbs** | **List[str]** | List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason. | [optional] +**formula_search_dbs** | **List[Optional[str]]** | List Structure database to extract molecular formulas from to reduce formula search space. SIRIUS is quite good at de novo formula annotation, so only enable if you have a good reason. | [optional] **apply_formula_constraints_to_db_and_bottom_up_search** | **bool** | By default, the formula (element) constraints are only applied to de novo molecular formula generation. If true, the constraints are as well applied to database search and bottom up search. | [optional] **enforced_formula_constraints** | **str** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Enforced: Enforced elements are always considered | [optional] **fallback_formula_constraints** | **str** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Fallback: Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) | [optional] -**detectable_elements** | **List[str]** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) | [optional] -**ilp_timeout** | [**Timeout**](Timeout.md) | Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint | [optional] -**use_heuristic** | [**UseHeuristic**](UseHeuristic.md) | Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. | [optional] +**detectable_elements** | **List[Optional[str]]** | These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored. <p> Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) | [optional] +**ilp_timeout** | [**Timeout**](Timeout.md) | | [optional] +**use_heuristic** | [**UseHeuristic**](UseHeuristic.md) | | [optional] **inject_spec_lib_match_formulas** | **bool** | If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied | [optional] **min_score_to_inject_spec_lib_match** | **float** | Similarity Threshold to inject formula candidates no matter which score/rank they have or which filter settings are applied. If threshold >= 0 formulas candidates with reference spectrum similarity above the threshold will be injected. | [optional] **min_peaks_to_inject_spec_lib_match** | **int** | Matching peaks threshold to inject formula candidates no matter which score they have or which filter is applied. | [optional] diff --git a/client-api_python/generated/docs/SpectralLibraryMatch.md b/client-api_python/generated/docs/SpectralLibraryMatch.md index 27d73ba6..680ba722 100644 --- a/client-api_python/generated/docs/SpectralLibraryMatch.md +++ b/client-api_python/generated/docs/SpectralLibraryMatch.md @@ -19,7 +19,7 @@ Name | Type | Description | Notes **adduct** | **str** | | [optional] **exact_mass** | **float** | | [optional] **smiles** | **str** | | [optional] -**type** | [**SpectralMatchType**](SpectralMatchType.md) | | [optional] +**type** | [**SpectralMatchType**](SpectralMatchType.md) | | [optional] [default to SpectralMatchType.IDENTITY] **inchi_key** | **str** | | **reference_spectrum_type** | [**SpectrumType**](SpectrumType.md) | | [optional] **reference_spectrum** | [**BasicSpectrum**](BasicSpectrum.md) | | [optional] diff --git a/client-api_python/generated/docs/SpectralLibrarySearch.md b/client-api_python/generated/docs/SpectralLibrarySearch.md index 498bf621..e4ee04ae 100644 --- a/client-api_python/generated/docs/SpectralLibrarySearch.md +++ b/client-api_python/generated/docs/SpectralLibrarySearch.md @@ -7,14 +7,14 @@ User/developer friendly parameter subset for the Spectral library search tool. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **bool** | tags whether the tool is enabled | [optional] -**spectra_search_dbs** | **List[str]** | Structure Databases with Reference spectra to search in. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] +**spectra_search_dbs** | **List[Optional[str]]** | Structure Databases with Reference spectra to search in. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] **precursor_deviation_ppm** | **float** | Maximum allowed mass deviation in ppm for matching the precursor. If not specified, the same value as for the peaks is used. | [optional] **min_similarity** | **float** | Minimal spectral similarity of a spectral match to be considered a hit. | [optional] **min_num_of_peaks** | **int** | Minimal number of matching peaks of a spectral match to be considered a hit. | [optional] **enable_analogue_search** | **bool** | Enable analogue search in addition to the identity spectral library search | [optional] **min_similarity_analogue** | **float** | Minimal spectral similarity of a spectral match to be considered an analogue hit. | [optional] **min_num_of_peaks_analogue** | **int** | Minimal number of matching peaks of a spectral match to be considered an analogue hit. | [optional] -**scoring** | [**SpectralMatchingType**](SpectralMatchingType.md) | NO LONGER SUPPORTED (IGNORED) Specify scoring method to match spectra INTENSITY: Intensity weighted. Each peak matches at most one peak in the other spectrum. GAUSSIAN: Treat peaks as (un-normalized) Gaussians and score overlapping areas of PDFs. Each peak might score against multiple peaks in the other spectrum. MODIFIED_COSINE: This algorithm requires that there is at most one pair of peaks (u,v) where the m/z of u and v are within the allowed mass tolerance. To be used for analog search with different precursor masses. | [optional] +**scoring** | [**SpectralMatchingType**](SpectralMatchingType.md) | | [optional] **peak_deviation_ppm** | **float** | NO LONGER SUPPORTED (IGNORED) Maximum allowed mass deviation in ppm for matching peaks. | [optional] ## Example diff --git a/client-api_python/generated/docs/StoredJobSubmission.md b/client-api_python/generated/docs/StoredJobSubmission.md index 71e99e50..0906796f 100644 --- a/client-api_python/generated/docs/StoredJobSubmission.md +++ b/client-api_python/generated/docs/StoredJobSubmission.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **str** | Unique name to identify this JobSubmission (job config). | **editable** | **bool** | False for predefined configs which are not editable and not removable. | -**job_submission** | [**JobSubmission**](JobSubmission.md) | The JobSubmission identified by the name | +**job_submission** | [**JobSubmission**](JobSubmission.md) | | ## Example diff --git a/client-api_python/generated/docs/StructureCandidateFormula.md b/client-api_python/generated/docs/StructureCandidateFormula.md index ac88321a..abcc2cfd 100644 --- a/client-api_python/generated/docs/StructureCandidateFormula.md +++ b/client-api_python/generated/docs/StructureCandidateFormula.md @@ -16,7 +16,7 @@ Name | Type | Description | Notes **csi_score** | **float** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimoto_similarity** | **float** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mces_dist_to_top_hit** | **float** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] **molecular_formula** | **str** | Molecular formula of this candidate | [optional] **adduct** | **str** | Adduct of this candidate | [optional] **formula_id** | **str** | Id of the corresponding Formula candidate | [optional] diff --git a/client-api_python/generated/docs/StructureCandidateScored.md b/client-api_python/generated/docs/StructureCandidateScored.md index 58d4ae1d..f090586f 100644 --- a/client-api_python/generated/docs/StructureCandidateScored.md +++ b/client-api_python/generated/docs/StructureCandidateScored.md @@ -16,7 +16,7 @@ Name | Type | Description | Notes **csi_score** | **float** | CSI:FingerID score of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID This is the score used for ranking structure candidates | [optional] **tanimoto_similarity** | **float** | Tanimoto similarly of the fingerprint of this compound to the predicted fingerprint of CSI:FingerID | [optional] **mces_dist_to_top_hit** | **float** | Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. | [optional] -**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter | [optional] +**fingerprint** | [**BinaryFingerprint**](BinaryFingerprint.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/StructureDbSearch.md b/client-api_python/generated/docs/StructureDbSearch.md index cdfa3502..0730dcea 100644 --- a/client-api_python/generated/docs/StructureDbSearch.md +++ b/client-api_python/generated/docs/StructureDbSearch.md @@ -7,9 +7,9 @@ User/developer friendly parameter subset for the CSI:FingerID structure db searc Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enabled** | **bool** | tags whether the tool is enabled | [optional] -**structure_search_dbs** | **List[str]** | Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] +**structure_search_dbs** | **List[Optional[str]]** | Structure databases to search in, If expansive search is enabled this DB selection will be expanded to PubChem if not high confidence hit was found in the selected databases. <p> Defaults to BIO + Custom Databases. Possible values are available to Database API. | [optional] **tag_structures_with_lipid_class** | **bool** | Candidates matching the lipid class estimated by El Gordo will be tagged. The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum. If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the fragmentation tree, but the matching structure candidates will not be tagged if they match lipid class. | [optional] -**expansive_search_confidence_mode** | [**ConfidenceMode**](ConfidenceMode.md) | Expansive search mode. Expansive search will expand the search space to whole PubChem in case no hit with reasonable confidence was found in one of the specified databases (structureSearchDBs). <p> Possible Values OFF - No expansive search is performed EXACT - Use confidence score in exact mode: Only molecular structures identical to the true structure should count as correct identification. APPROXIMATE - Use confidence score in approximate mode: Molecular structures hits that are close to the true structure should count as correct identification. | [optional] +**expansive_search_confidence_mode** | [**ConfidenceMode**](ConfidenceMode.md) | | [optional] ## Example diff --git a/client-api_python/generated/docs/Tag.md b/client-api_python/generated/docs/Tag.md index 08946d3b..5554c15f 100644 --- a/client-api_python/generated/docs/Tag.md +++ b/client-api_python/generated/docs/Tag.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **tag_name** | **str** | Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. | -**value** | **object** | | [optional] +**value** | **object** | Optional value of the tag. <p> Generic value of the tag as defined by the corresponding TagDefinition. Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss). | [optional] ## Example diff --git a/client-api_python/generated/docs/TagDefinition.md b/client-api_python/generated/docs/TagDefinition.md index a5b592ee..ec08cad2 100644 --- a/client-api_python/generated/docs/TagDefinition.md +++ b/client-api_python/generated/docs/TagDefinition.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **description** | **str** | A human-readable description about the purpose of this tag. | [optional] **tag_type** | **str** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] **value_type** | [**ValueType**](ValueType.md) | | -**possible_values** | **List[object]** | | [optional] +**possible_values** | **List[Optional[object]]** | | [optional] **min_value** | **object** | | [optional] **max_value** | **object** | | [optional] **editable** | **bool** | | [optional] diff --git a/client-api_python/generated/docs/TagDefinitionImport.md b/client-api_python/generated/docs/TagDefinitionImport.md index 7ba47332..72bc45d3 100644 --- a/client-api_python/generated/docs/TagDefinitionImport.md +++ b/client-api_python/generated/docs/TagDefinitionImport.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **description** | **str** | A human-readable description about the purpose of this tag. | [optional] **tag_type** | **str** | A simple string based identifier to specify the type/scope/purpose of this tag. | [optional] **value_type** | [**ValueType**](ValueType.md) | | -**possible_values** | **List[object]** | | [optional] +**possible_values** | **List[Optional[object]]** | | [optional] **min_value** | **object** | | [optional] **max_value** | **object** | | [optional] diff --git a/client-api_python/generated/docs/Zodiac.md b/client-api_python/generated/docs/Zodiac.md index e9238ad7..fe55b584 100644 --- a/client-api_python/generated/docs/Zodiac.md +++ b/client-api_python/generated/docs/Zodiac.md @@ -10,10 +10,10 @@ Name | Type | Description | Notes **considered_candidates_at300_mz** | **int** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds below 300 m/z. | [optional] **considered_candidates_at800_mz** | **int** | Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) per compound which are considered by ZODIAC for compounds above 800 m/z. | [optional] **run_in_two_steps** | **bool** | As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. | [optional] -**edge_filter_thresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. | [optional] -**gibbs_sampler_parameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. | [optional] -**library_search_anchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | Configure the use of identity spectral library search results as anchors in ZODIAC network | [optional] -**analogue_search_anchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | Configure the use of analogue spectral library search results as anchors in ZODIAC network | [optional] +**edge_filter_thresholds** | [**ZodiacEdgeFilterThresholds**](ZodiacEdgeFilterThresholds.md) | | [optional] +**gibbs_sampler_parameters** | [**ZodiacEpochs**](ZodiacEpochs.md) | | [optional] +**library_search_anchors** | [**ZodiacLibraryScoring**](ZodiacLibraryScoring.md) | | [optional] +**analogue_search_anchors** | [**ZodiacAnalogueNodes**](ZodiacAnalogueNodes.md) | | [optional] ## Example diff --git a/client-api_python/generated/pyproject.toml b/client-api_python/generated/pyproject.toml index bbe7c89c..308739de 100644 --- a/client-api_python/generated/pyproject.toml +++ b/client-api_python/generated/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "PySirius" -version = "6.3.1" +version = "6.3.3" description = "SIRIUS Nightsky API" authors = ["OpenAPI Generator Community "] license = "NoLicense" diff --git a/client-api_python/generated/setup.py b/client-api_python/generated/setup.py index a35658d6..b9888a66 100644 --- a/client-api_python/generated/setup.py +++ b/client-api_python/generated/setup.py @@ -19,7 +19,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "PySirius" -VERSION = "6.3.1" +VERSION = "6.3.3" PYTHON_REQUIRES = ">= 3.8" REQUIRES = [ "urllib3 >= 1.25.3, < 3.0.0", diff --git a/client-api_python/templates/python/api.mustache b/client-api_python/templates/python/api.mustache index 1f88f817..d99e7bdf 100644 --- a/client-api_python/templates/python/api.mustache +++ b/client-api_python/templates/python/api.mustache @@ -1,234 +1,234 @@ -# coding: utf-8 - -{{>partial_header}} -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -{{#imports}} -{{import}} -{{/imports}} - -from {{packageName}}.api_client import ApiClient, RequestSerialized -from {{packageName}}.api_response import ApiResponse -from {{packageName}}.rest import RESTResponseType - - -{{#operations}} -class {{classname}}: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client -{{#operation}} - - - @validate_call - {{#asyncio}}async {{/asyncio}}def {{operationId}}{{>partial_api_args}} -> {{{returnType}}}{{^returnType}}None{{/returnType}}: -{{>partial_api}} - response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - {{#asyncio}}await {{/asyncio}}response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - {{#asyncio}}async {{/asyncio}}def {{operationId}}_with_http_info{{>partial_api_args}} -> ApiResponse[{{{returnType}}}{{^returnType}}None{{/returnType}}]: -{{>partial_api}} - response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - {{#asyncio}}await {{/asyncio}}response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - {{#asyncio}}async {{/asyncio}}def {{operationId}}_without_preload_content{{>partial_api_args}} -> RESTResponseType: -{{>partial_api}} - response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _{{operationId}}_serialize( - self, - {{#allParams}} - {{paramName}}, - {{/allParams}} - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - {{#servers.0}} - _hosts = [{{#servers}} - '{{{url}}}'{{^-last}},{{/-last}}{{/servers}} - ] - _host = _hosts[_host_index] - {{/servers.0}} - {{^servers.0}} - _host = None - {{/servers.0}} - - _collection_formats: Dict[str, str] = { - {{#allParams}} - {{#isArray}} - '{{baseName}}': '{{collectionFormat}}', - {{/isArray}} - {{/allParams}} - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters -{{#pathParams}} - if {{paramName}} is not None: - _path_params['{{baseName}}'] = {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}} -{{/pathParams}} - # process the query parameters -{{#queryParams}} - if {{paramName}} is not None: - {{#isDateTime}} - if isinstance({{paramName}}, datetime): - _query_params.append( - ( - '{{baseName}}', - {{paramName}}.strftime( - self.api_client.configuration.datetime_format - ) - ) - ) - else: - _query_params.append(('{{baseName}}', {{paramName}})) - {{/isDateTime}} - {{#isDate}} - if isinstance({{paramName}}, date): - _query_params.append( - ( - '{{baseName}}', - {{paramName}}.strftime( - self.api_client.configuration.date_format - ) - ) - ) - else: - _query_params.append(('{{baseName}}', {{paramName}})) - {{/isDate}} - {{^isDateTime}}{{^isDate}} - _query_params.append(('{{baseName}}', {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}})) - {{/isDate}}{{/isDateTime}} -{{/queryParams}} - # process the header parameters -{{#headerParams}} - if {{paramName}} is not None: - _header_params['{{baseName}}'] = {{paramName}} -{{/headerParams}} - # process the form parameters -{{#formParams}} - if {{paramName}} is not None: - {{#isFile}} - _files['{{{baseName}}}'] = {{paramName}} - {{/isFile}} - {{^isFile}} - _form_params.append(('{{{baseName}}}', {{paramName}})) - {{/isFile}} -{{/formParams}} - # process the body parameter -{{#bodyParam}} - if {{paramName}} is not None: - {{#isBinary}} - # convert to byte array if the input is a file name (str) - if isinstance({{paramName}}, str): - with open({{paramName}}, "rb") as _fp: - _body_params = _fp.read() - else: - _body_params = {{paramName}} - {{/isBinary}} - {{^isBinary}} - _body_params = {{paramName}} - {{/isBinary}} -{{/bodyParam}} - - {{#constantParams}} - {{#isQueryParam}} - # Set client side default value of Query Param "{{baseName}}". - _query_params['{{baseName}}'] = {{#_enum}}'{{{.}}}'{{/_enum}} - {{/isQueryParam}} - {{#isHeaderParam}} - # Set client side default value of Header Param "{{baseName}}". - _header_params['{{baseName}}'] = {{#_enum}}'{{{.}}}'{{/_enum}} - {{/isHeaderParam}} - {{/constantParams}} - - {{#hasProduces}} - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [{{#produces}} - '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/produces}} - ] - ) - {{/hasProduces}} - - {{#hasConsumes}} - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [{{#consumes}} - '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/consumes}} - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - {{/hasConsumes}} - - # authentication setting - _auth_settings: List[str] = [{{#authMethods}} - '{{name}}'{{^-last}}, {{/-last}}{{/authMethods}} - ] - - return self.api_client.param_serialize( - method='{{httpMethod}}', - resource_path='{{{path}}}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - -{{/operation}} +# coding: utf-8 + +{{>partial_header}} +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +{{#imports}} +{{import}} +{{/imports}} + +from {{packageName}}.api_client import ApiClient, RequestSerialized +from {{packageName}}.api_response import ApiResponse +from {{packageName}}.rest import RESTResponseType + + +{{#operations}} +class {{classname}}: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client +{{#operation}} + + + @validate_call + {{#asyncio}}async {{/asyncio}}def {{operationId}}{{>partial_api_args}} -> {{{returnType}}}{{^returnType}}None{{/returnType}}: +{{>partial_api}} + response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + {{#asyncio}}await {{/asyncio}}response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + {{#asyncio}}async {{/asyncio}}def {{operationId}}_with_http_info{{>partial_api_args}} -> ApiResponse[{{{returnType}}}{{^returnType}}None{{/returnType}}]: +{{>partial_api}} + response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + {{#asyncio}}await {{/asyncio}}response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + {{#asyncio}}async {{/asyncio}}def {{operationId}}_without_preload_content{{>partial_api_args}} -> RESTResponseType: +{{>partial_api}} + response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _{{operationId}}_serialize( + self, + {{#allParams}} + {{paramName}}, + {{/allParams}} + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + {{#servers.0}} + _hosts = [{{#servers}} + '{{{url}}}'{{^-last}},{{/-last}}{{/servers}} + ] + _host = _hosts[_host_index] + {{/servers.0}} + {{^servers.0}} + _host = None + {{/servers.0}} + + _collection_formats: Dict[str, str] = { + {{#allParams}} + {{#isArray}} + '{{baseName}}': '{{collectionFormat}}', + {{/isArray}} + {{/allParams}} + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters +{{#pathParams}} + if {{paramName}} is not None: + _path_params['{{baseName}}'] = {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}} +{{/pathParams}} + # process the query parameters +{{#queryParams}} + if {{paramName}} is not None: + {{#isDateTime}} + if isinstance({{paramName}}, datetime): + _query_params.append( + ( + '{{baseName}}', + {{paramName}}.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('{{baseName}}', {{paramName}})) + {{/isDateTime}} + {{#isDate}} + if isinstance({{paramName}}, date): + _query_params.append( + ( + '{{baseName}}', + {{paramName}}.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('{{baseName}}', {{paramName}})) + {{/isDate}} + {{^isDateTime}}{{^isDate}} + _query_params.append(('{{baseName}}', {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}})) + {{/isDate}}{{/isDateTime}} +{{/queryParams}} + # process the header parameters +{{#headerParams}} + if {{paramName}} is not None: + _header_params['{{baseName}}'] = {{paramName}} +{{/headerParams}} + # process the form parameters +{{#formParams}} + if {{paramName}} is not None: + {{#isFile}} + _files['{{{baseName}}}'] = {{paramName}} + {{/isFile}} + {{^isFile}} + _form_params.append(('{{{baseName}}}', {{paramName}})) + {{/isFile}} +{{/formParams}} + # process the body parameter +{{#bodyParam}} + if {{paramName}} is not None: + {{#isBinary}} + # convert to byte array if the input is a file name (str) + if isinstance({{paramName}}, str): + with open({{paramName}}, "rb") as _fp: + _body_params = _fp.read() + else: + _body_params = {{paramName}} + {{/isBinary}} + {{^isBinary}} + _body_params = {{paramName}} + {{/isBinary}} +{{/bodyParam}} + + {{#constantParams}} + {{#isQueryParam}} + # Set client side default value of Query Param "{{baseName}}". + _query_params['{{baseName}}'] = {{#_enum}}'{{{.}}}'{{/_enum}} + {{/isQueryParam}} + {{#isHeaderParam}} + # Set client side default value of Header Param "{{baseName}}". + _header_params['{{baseName}}'] = {{#_enum}}'{{{.}}}'{{/_enum}} + {{/isHeaderParam}} + {{/constantParams}} + + {{#hasProduces}} + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [{{#produces}} + '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/produces}} + ] + ) + {{/hasProduces}} + + {{#hasConsumes}} + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [{{#consumes}} + '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/consumes}} + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + {{/hasConsumes}} + + # authentication setting + _auth_settings: List[str] = [{{#authMethods}} + '{{name}}'{{^-last}}, {{/-last}}{{/authMethods}} + ] + + return self.api_client.param_serialize( + method='{{httpMethod}}', + resource_path='{{{path}}}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + +{{/operation}} {{/operations}} \ No newline at end of file From 8d15f89a90f4440b36cc02911a106b08dca74dc9 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 20:01:19 +0200 Subject: [PATCH 34/76] adjust packageVersion to 6.3.3 as Python does not allow 6.3.3-SNAPSHOT pattern --- .updater/api/packageVersion.txt | 2 +- client-api_r/generated/DESCRIPTION | 2 +- client-api_r/generated/R/api_client.R | 2 +- client-api_r/generated/README.md | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.updater/api/packageVersion.txt b/.updater/api/packageVersion.txt index c249aeba..7849b73d 100644 --- a/.updater/api/packageVersion.txt +++ b/.updater/api/packageVersion.txt @@ -1 +1 @@ -6.3.3-SNAPSHOT +6.3.3 diff --git a/client-api_r/generated/DESCRIPTION b/client-api_r/generated/DESCRIPTION index 1317355b..63240e0c 100644 --- a/client-api_r/generated/DESCRIPTION +++ b/client-api_r/generated/DESCRIPTION @@ -1,6 +1,6 @@ Package: Rsirius Title: R Package Client for SIRIUS Nightsky API -Version: 6.3.3-SNAPSHOT +Version: 6.3.3 Author: person("OpenAPI Generator community", email = "team@openapitools.org", role = c("aut", "cre")) Maintainer: OpenAPI Generator community Description: REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 diff --git a/client-api_r/generated/R/api_client.R b/client-api_r/generated/R/api_client.R index 4559eb41..75b12a32 100644 --- a/client-api_r/generated/R/api_client.R +++ b/client-api_r/generated/R/api_client.R @@ -38,7 +38,7 @@ ApiClient <- R6::R6Class( # base path of all requests base_path = "http://localhost:8080", # user agent in the HTTP request - user_agent = "OpenAPI-Generator/6.3.3-SNAPSHOT/r", + user_agent = "OpenAPI-Generator/6.3.3/r", # default headers in the HTTP request default_headers = NULL, # username (HTTP basic authentication) diff --git a/client-api_r/generated/README.md b/client-api_r/generated/README.md index 88fa5c09..06d49162 100644 --- a/client-api_r/generated/README.md +++ b/client-api_r/generated/README.md @@ -6,7 +6,7 @@ REST API that provides the full functionality of SIRIUS and its web services as This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI spec](https://openapis.org) from a remote server, you can easily generate an API client. - API version: 3.1 -- Package version: 6.3.3-SNAPSHOT +- Package version: 6.3.3 - Generator version: 7.10.0 - Build package: org.openapitools.codegen.languages.RClientCodegen @@ -28,8 +28,8 @@ install.packages("base64enc") git clone https://github.com/GIT_USER_ID/GIT_REPO_ID cd GIT_REPO_ID R CMD build . -R CMD check Rsirius_6.3.3-SNAPSHOT.tar.gz --no-manual -R CMD INSTALL --preclean Rsirius_6.3.3-SNAPSHOT.tar.gz +R CMD check Rsirius_6.3.3.tar.gz --no-manual +R CMD INSTALL --preclean Rsirius_6.3.3.tar.gz ``` ### Install the package @@ -47,7 +47,7 @@ install_github("GIT_USER_ID/GIT_REPO_ID") To install the package from a local file: ```R -install.packages("Rsirius_6.3.3-SNAPSHOT.tar.gz", repos = NULL, type = "source") +install.packages("Rsirius_6.3.3.tar.gz", repos = NULL, type = "source") ``` ### Usage From 6d64c24eb9155f2cc1144bff5491cb1ec218253d Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 18:48:59 +0000 Subject: [PATCH 35/76] Auto-Generated RSirius Manual --- client-api_r/generated/man/AlignedFeature.Rd | 16 +-- .../generated/man/AnnotatedSpectrum.Rd | 8 +- client-api_r/generated/man/BasicSpectrum.Rd | 4 +- client-api_r/generated/man/Compound.Rd | 12 +- client-api_r/generated/man/CompoundClasses.Rd | 12 +- .../generated/man/CompoundStatisticsApi.Rd | 8 +- client-api_r/generated/man/CompoundsApi.Rd | 58 ++++---- .../generated/man/ComputedSubtools.Rd | 2 +- .../generated/man/ConsensusAnnotationsCSI.Rd | 8 +- .../man/ConsensusAnnotationsDeNovo.Rd | 4 +- .../generated/man/FeatureAnnotations.Rd | 12 +- client-api_r/generated/man/FeatureImport.Rd | 4 +- .../generated/man/FeatureStatisticsApi.Rd | 8 +- client-api_r/generated/man/FeaturesApi.Rd | 130 +++++++++--------- .../generated/man/FormulaCandidate.Rd | 24 ++-- client-api_r/generated/man/Job.Rd | 4 +- client-api_r/generated/man/JobSubmission.Rd | 28 ++-- client-api_r/generated/man/JobsApi.Rd | 16 +-- .../generated/man/LcmsSubmissionParameters.Rd | 8 +- client-api_r/generated/man/LicenseInfo.Rd | 8 +- client-api_r/generated/man/PeakAnnotation.Rd | 4 +- client-api_r/generated/man/ProjectsApi.Rd | 36 ++--- client-api_r/generated/man/RunsApi.Rd | 2 +- .../generated/man/SearchableDatabasesApi.Rd | 6 +- client-api_r/generated/man/Sirius.Rd | 8 +- .../generated/man/StoredJobSubmission.Rd | 4 +- .../man/StructureCandidateFormula.Rd | 4 +- .../generated/man/StructureCandidateScored.Rd | 4 +- client-api_r/generated/man/Tag.Rd | 4 +- client-api_r/generated/man/TagDefinition.Rd | 6 +- .../generated/man/TagDefinitionImport.Rd | 6 +- client-api_r/generated/man/TagsApi.Rd | 4 +- client-api_r/generated/man/Zodiac.Rd | 16 +-- 33 files changed, 239 insertions(+), 239 deletions(-) diff --git a/client-api_r/generated/man/AlignedFeature.Rd b/client-api_r/generated/man/AlignedFeature.Rd index a4c180a0..1ca62461 100644 --- a/client-api_r/generated/man/AlignedFeature.Rd +++ b/client-api_r/generated/man/AlignedFeature.Rd @@ -58,15 +58,15 @@ df \item{\code{hasMsMs}}{If true, the feature has at lease one MS/MS spectrum character [optional]} -\item{\code{msData}}{Mass Spec data of this feature (input data) \link{MsData} [optional]} +\item{\code{msData}}{\link{MsData} [optional]} -\item{\code{topAnnotations}}{Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional]} +\item{\code{topAnnotations}}{\link{FeatureAnnotations} [optional]} -\item{\code{topAnnotationsDeNovo}}{Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise. \link{FeatureAnnotations} [optional]} +\item{\code{topAnnotationsDeNovo}}{\link{FeatureAnnotations} [optional]} \item{\code{computing}}{Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results character [optional]} -\item{\code{computedTools}}{Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. \link{ComputedSubtools} [optional]} +\item{\code{computedTools}}{\link{ComputedSubtools} [optional]} \item{\code{tags}}{Key: tagName, value: tag named list(\link{Tag}) [optional]} } @@ -149,15 +149,15 @@ Initialize a new AlignedFeature class. \item{\code{hasMsMs}}{If true, the feature has at lease one MS/MS spectrum} -\item{\code{msData}}{Mass Spec data of this feature (input data)} +\item{\code{msData}}{msData} -\item{\code{topAnnotations}}{Top annotations of this feature. If a CSI:FingerID structureAnnotation is available, the FormulaCandidate that corresponds to the structureAnnotation is returned. Otherwise, it's the FormulaCandidate with the highest SiriusScore is returned. CANOPUS Compound classes correspond to the FormulaCandidate no matter how it was selected Null if it was not requested und non-null otherwise.} +\item{\code{topAnnotations}}{topAnnotations} -\item{\code{topAnnotationsDeNovo}}{Top de novo annotations of this feature. The FormulaCandidate with the highest SiriusScore is returned. MSNovelist structureAnnotation and CANOPUS compoundClasses correspond to the FormulaCandidate. Null if it was not requested und non-null otherwise.} +\item{\code{topAnnotationsDeNovo}}{topAnnotationsDeNovo} \item{\code{computing}}{Write lock for this feature. If the feature is locked no write operations are possible. True if any computation is modifying this feature or its results} -\item{\code{computedTools}}{Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise.} +\item{\code{computedTools}}{computedTools} \item{\code{tags}}{Key: tagName, value: tag} diff --git a/client-api_r/generated/man/AnnotatedSpectrum.Rd b/client-api_r/generated/man/AnnotatedSpectrum.Rd index 4d0ffe99..8cebb487 100644 --- a/client-api_r/generated/man/AnnotatedSpectrum.Rd +++ b/client-api_r/generated/man/AnnotatedSpectrum.Rd @@ -46,7 +46,7 @@ df \item{\code{cosineQuery}}{True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character} -\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional]} +\item{\code{precursorPeak}}{\link{SimplePeak} [optional]} \item{\code{peaks}}{The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{AnnotatedPeak})} @@ -60,7 +60,7 @@ df \item{\code{firstPeakNormFactor}}{Factor to convert absolute intensities to normalize intensities by first peak intensity. numeric [optional]} -\item{\code{spectrumAnnotation}}{Optional Annotations of this spectrum. \link{SpectrumAnnotation} [optional]} +\item{\code{spectrumAnnotation}}{\link{SpectrumAnnotation} [optional]} } \if{html}{\out{}} } @@ -127,7 +127,7 @@ Initialize a new AnnotatedSpectrum class. \item{\code{scanNumber}}{Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)} -\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.} +\item{\code{precursorPeak}}{precursorPeak} \item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.} @@ -139,7 +139,7 @@ Initialize a new AnnotatedSpectrum class. \item{\code{firstPeakNormFactor}}{Factor to convert absolute intensities to normalize intensities by first peak intensity.} -\item{\code{spectrumAnnotation}}{Optional Annotations of this spectrum.} +\item{\code{spectrumAnnotation}}{spectrumAnnotation} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/BasicSpectrum.Rd b/client-api_r/generated/man/BasicSpectrum.Rd index 17d8e47b..a42eee88 100644 --- a/client-api_r/generated/man/BasicSpectrum.Rd +++ b/client-api_r/generated/man/BasicSpectrum.Rd @@ -46,7 +46,7 @@ df \item{\code{cosineQuery}}{True if spectrum is in cosine query normalized format. Such spectrum is compatible with SpectralLibraryMatch peak assignments to reference spectra. character} -\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak. \link{SimplePeak} [optional]} +\item{\code{precursorPeak}}{\link{SimplePeak} [optional]} \item{\code{peaks}}{The peaks of this spectrum which might contain additional annotations such as molecular formulas. list(\link{SimplePeak})} @@ -124,7 +124,7 @@ Initialize a new BasicSpectrum class. \item{\code{scanNumber}}{Scan number of the spectrum. Might be null for artificial spectra with no scan number (e.g. Simulated Isotope patterns or merged spectra)} -\item{\code{precursorPeak}}{A separate precursor peak field to either mark the precursor in the peaklist or provide the precursor peak separately from the spectrum in case the spectrum is in a preprocessed form where the precursor peak has been removed for library matching. NULL if the spectrum does not contain the precursor peak.} +\item{\code{precursorPeak}}{precursorPeak} \item{\code{absIntensityFactor}}{Factor to convert relative intensities to absolute intensities. Might be null or 1 for spectra where absolute intensities are not available (E.g. artificial or merged spectra)

DEPRECATED: Spectra are always returned with raw intensities. Use provided normalization factors to normalize on the fly.} diff --git a/client-api_r/generated/man/Compound.Rd b/client-api_r/generated/man/Compound.Rd index 71508e71..4c2de8c9 100644 --- a/client-api_r/generated/man/Compound.Rd +++ b/client-api_r/generated/man/Compound.Rd @@ -44,11 +44,11 @@ df \item{\code{features}}{List of aligned features (adducts) that belong to the same (this) compound list(\link{AlignedFeature}) [optional]} -\item{\code{consensusAnnotations}}{The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsCSI} [optional]} +\item{\code{consensusAnnotations}}{\link{ConsensusAnnotationsCSI} [optional]} -\item{\code{consensusAnnotationsDeNovo}}{The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available \link{ConsensusAnnotationsDeNovo} [optional]} +\item{\code{consensusAnnotationsDeNovo}}{\link{ConsensusAnnotationsDeNovo} [optional]} -\item{\code{customAnnotations}}{Alternative annotations selected by the User. \link{ConsensusAnnotationsCSI} [optional]} +\item{\code{customAnnotations}}{\link{ConsensusAnnotationsCSI} [optional]} \item{\code{tags}}{Key: tagName, value: tag named list(\link{Tag}) [optional]} } @@ -108,11 +108,11 @@ Initialize a new Compound class. \item{\code{features}}{List of aligned features (adducts) that belong to the same (this) compound} -\item{\code{consensusAnnotations}}{The consensus of the top annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available} +\item{\code{consensusAnnotations}}{consensusAnnotations} -\item{\code{consensusAnnotationsDeNovo}}{The consensus of the top de novo annotations from all the features of this compound. Null if it was not requested und non-null otherwise. Might contain empty fields if results are not available} +\item{\code{consensusAnnotationsDeNovo}}{consensusAnnotationsDeNovo} -\item{\code{customAnnotations}}{Alternative annotations selected by the User.} +\item{\code{customAnnotations}}{customAnnotations} \item{\code{tags}}{Key: tagName, value: tag} diff --git a/client-api_r/generated/man/CompoundClasses.Rd b/client-api_r/generated/man/CompoundClasses.Rd index 4a2dcd48..b45637fa 100644 --- a/client-api_r/generated/man/CompoundClasses.Rd +++ b/client-api_r/generated/man/CompoundClasses.Rd @@ -32,11 +32,11 @@ df \section{Public fields}{ \if{html}{\out{

}} \describe{ -\item{\code{npcPathway}}{Pathway level NPC class with the highest probability \link{CompoundClass} [optional]} +\item{\code{npcPathway}}{\link{CompoundClass} [optional]} -\item{\code{npcSuperclass}}{Superclass level NPC class with the highest probability \link{CompoundClass} [optional]} +\item{\code{npcSuperclass}}{\link{CompoundClass} [optional]} -\item{\code{npcClass}}{Class level NPC class with the highest probability \link{CompoundClass} [optional]} +\item{\code{npcClass}}{\link{CompoundClass} [optional]} \item{\code{classyFireLineage}}{Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation list(\link{CompoundClass}) [optional]} @@ -81,11 +81,11 @@ Initialize a new CompoundClasses class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{npcPathway}}{Pathway level NPC class with the highest probability} +\item{\code{npcPathway}}{npcPathway} -\item{\code{npcSuperclass}}{Superclass level NPC class with the highest probability} +\item{\code{npcSuperclass}}{npcSuperclass} -\item{\code{npcClass}}{Class level NPC class with the highest probability} +\item{\code{npcClass}}{npcClass} \item{\code{classyFireLineage}}{Most likely ClassyFire lineage from ordered from least specific to most specific class classyFireLineage.get(classyFireLineage.size() - 1) gives the most specific ClassyFire compound class annotation} diff --git a/client-api_r/generated/man/CompoundStatisticsApi.Rd b/client-api_r/generated/man/CompoundStatisticsApi.Rd index ea2226ee..0309e8a2 100644 --- a/client-api_r/generated/man/CompoundStatisticsApi.Rd +++ b/client-api_r/generated/man/CompoundStatisticsApi.Rd @@ -138,7 +138,7 @@ Initialize a new CompoundStatisticsApi. right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -157,7 +157,7 @@ Initialize a new CompoundStatisticsApi. \item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} -\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} +\item{\code{opt_fields}}{(optional) job opt fields. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -181,7 +181,7 @@ Job right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -200,7 +200,7 @@ Job \item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} -\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} +\item{\code{opt_fields}}{(optional) job opt fields. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/CompoundsApi.Rd b/client-api_r/generated/man/CompoundsApi.Rd index b859eddc..95ae083d 100644 --- a/client-api_r/generated/man/CompoundsApi.Rd +++ b/client-api_r/generated/man/CompoundsApi.Rd @@ -43,7 +43,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to add to. var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. -var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. #[EXPERIMENTAL] Tags with the same name will be overwritten api_instance <- rsirius_api$new() @@ -303,8 +303,8 @@ Import Compounds and its contained features. project_id, compound_import, profile = NULL, - opt_fields = list(NULL), - opt_fields_features = list(NULL), + opt_fields = list("none"), + opt_fields_features = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -319,9 +319,9 @@ Import Compounds and its contained features. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} -\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none])} +\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -343,8 +343,8 @@ Import Compounds and its contained features. project_id, compound_import, profile = NULL, - opt_fields = list(NULL), - opt_fields_features = list(NULL), + opt_fields = list("none"), + opt_fields_features = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -359,9 +359,9 @@ Import Compounds and its contained features. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} -\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: [none])} +\item{\code{opt_fields_features}}{(optional) set of optional fields of the nested features to be included. Use 'none' to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -499,8 +499,8 @@ Get compound (group of ion identities) with the given identifier from the specif project_id, compound_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), - opt_fields_features = list(NULL), + opt_fields = list("none"), + opt_fields_features = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -515,9 +515,9 @@ Get compound (group of ion identities) with the given identifier from the specif \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} -\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} +\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -539,8 +539,8 @@ Get compound (group of ion identities) with the given identifier from the specif project_id, compound_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), - opt_fields_features = list(NULL), + opt_fields = list("none"), + opt_fields_features = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -555,9 +555,9 @@ Get compound (group of ion identities) with the given identifier from the specif \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} -\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} +\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -853,7 +853,7 @@ API response (array[Compound]) with additional information such as HTTP status c page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -872,7 +872,7 @@ API response (array[Compound]) with additional information such as HTTP status c \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -896,7 +896,7 @@ PagedModelCompound page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -915,7 +915,7 @@ PagedModelCompound \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1025,8 +1025,8 @@ Page of available compounds (group of ion identities) in the given project-space size = 20, sort = NULL, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), - opt_fields_features = list(NULL), + opt_fields = list("none"), + opt_fields_features = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1045,9 +1045,9 @@ Page of available compounds (group of ion identities) in the given project-space \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} -\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} +\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1071,8 +1071,8 @@ Page of available compounds (group of ion identities) in the given project-space size = 20, sort = NULL, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), - opt_fields_features = list(NULL), + opt_fields = list("none"), + opt_fields_features = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1091,9 +1091,9 @@ Page of available compounds (group of ion identities) in the given project-space \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} -\item{\code{opt_fields_features}}{(optional) No description (default value: [none])} +\item{\code{opt_fields_features}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/ComputedSubtools.Rd b/client-api_r/generated/man/ComputedSubtools.Rd index 1ed78c0b..7be8ce47 100644 --- a/client-api_r/generated/man/ComputedSubtools.Rd +++ b/client-api_r/generated/man/ComputedSubtools.Rd @@ -8,7 +8,7 @@ An \code{R6Class} generator object } \description{ -ComputedSubtools Class +Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. ComputedSubtools Class } diff --git a/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd b/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd index dabf9887..add3e07b 100644 --- a/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd +++ b/client-api_r/generated/man/ConsensusAnnotationsCSI.Rd @@ -34,13 +34,13 @@ df \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional]} -\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional]} +\item{\code{compoundClasses}}{\link{CompoundClasses} [optional]} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation. list(character) [optional]} \item{\code{selectionCriterion}}{Null if this is a custom selection character [optional]} -\item{\code{csiFingerIdStructure}}{Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available. \link{StructureCandidate} [optional]} +\item{\code{csiFingerIdStructure}}{\link{StructureCandidate} [optional]} \item{\code{confidenceExactMatch}}{Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported numeric [optional]} @@ -89,13 +89,13 @@ Initialize a new ConsensusAnnotationsCSI class. \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available.} -\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.} +\item{\code{compoundClasses}}{compoundClasses} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation.} \item{\code{selectionCriterion}}{Null if this is a custom selection} -\item{\code{csiFingerIdStructure}}{Database structure candidate (searched with CSI:FingerID), that also defines the molecularFormula Might be null if no consensus structure is available.} +\item{\code{csiFingerIdStructure}}{csiFingerIdStructure} \item{\code{confidenceExactMatch}}{Confidence value that represents the certainty that reported consensus structure is exactly the measured one If multiple features support this consensus structure the maximum confidence is reported} diff --git a/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd b/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd index 0bea71b7..eb207842 100644 --- a/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd +++ b/client-api_r/generated/man/ConsensusAnnotationsDeNovo.Rd @@ -34,7 +34,7 @@ df \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available. character [optional]} -\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available. \link{CompoundClasses} [optional]} +\item{\code{compoundClasses}}{\link{CompoundClasses} [optional]} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation. list(character) [optional]} @@ -80,7 +80,7 @@ Initialize a new ConsensusAnnotationsDeNovo class. \describe{ \item{\code{molecularFormula}}{Molecular formula of the consensus annotation Might be null if no consensus formula is available.} -\item{\code{compoundClasses}}{Compound classes (predicted with CANOPUS) corresponding to the molecularFormula Might be null if no fingerprints or compound classes are available.} +\item{\code{compoundClasses}}{compoundClasses} \item{\code{supportingFeatureIds}}{FeatureIds where the topAnnotation supports this annotation.} diff --git a/client-api_r/generated/man/FeatureAnnotations.Rd b/client-api_r/generated/man/FeatureAnnotations.Rd index fcd07f63..0bebfddd 100644 --- a/client-api_r/generated/man/FeatureAnnotations.Rd +++ b/client-api_r/generated/man/FeatureAnnotations.Rd @@ -32,11 +32,11 @@ df \section{Public fields}{ \if{html}{\out{
}} \describe{ -\item{\code{formulaAnnotation}}{Best matching FormulaCandidate. \link{FormulaCandidate} [optional]} +\item{\code{formulaAnnotation}}{\link{FormulaCandidate} [optional]} -\item{\code{structureAnnotation}}{Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates. \link{StructureCandidateScored} [optional]} +\item{\code{structureAnnotation}}{\link{StructureCandidateScored} [optional]} -\item{\code{compoundClassAnnotation}}{Best matching compound classes that correspond to the formulaAnnotation \link{CompoundClasses} [optional]} +\item{\code{compoundClassAnnotation}}{\link{CompoundClasses} [optional]} \item{\code{confidenceExactMatch}}{Confidence Score that represents the confidence whether the top hit is correct. numeric [optional]} @@ -90,11 +90,11 @@ Initialize a new FeatureAnnotations class. \subsection{Arguments}{ \if{html}{\out{
}} \describe{ -\item{\code{formulaAnnotation}}{Best matching FormulaCandidate.} +\item{\code{formulaAnnotation}}{formulaAnnotation} -\item{\code{structureAnnotation}}{Best matching StructureCandidate ranked by CSI:FingerID Score over all FormulaCandidates.} +\item{\code{structureAnnotation}}{structureAnnotation} -\item{\code{compoundClassAnnotation}}{Best matching compound classes that correspond to the formulaAnnotation} +\item{\code{compoundClassAnnotation}}{compoundClassAnnotation} \item{\code{confidenceExactMatch}}{Confidence Score that represents the confidence whether the top hit is correct.} diff --git a/client-api_r/generated/man/FeatureImport.Rd b/client-api_r/generated/man/FeatureImport.Rd index 82c22cc1..f9c6a84c 100644 --- a/client-api_r/generated/man/FeatureImport.Rd +++ b/client-api_r/generated/man/FeatureImport.Rd @@ -50,7 +50,7 @@ df \item{\code{dataQuality}}{A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis. character [optional]} -\item{\code{mergedMs1}}{Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given. \link{BasicSpectrum} [optional]} +\item{\code{mergedMs1}}{\link{BasicSpectrum} [optional]} \item{\code{ms1Spectra}}{List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given. list(\link{BasicSpectrum}) [optional]} @@ -120,7 +120,7 @@ Initialize a new FeatureImport class. \item{\code{dataQuality}}{A optional feature quality flag that can be used to filter features to be shown in the gui or to be considered for further analysis.} -\item{\code{mergedMs1}}{Merged/Representative MS1 spectrum of this feature that contains the isotope pattern of the precursor ion. Note: 'ms1Spectra' will be ignored if given.} +\item{\code{mergedMs1}}{mergedMs1} \item{\code{ms1Spectra}}{List of MS1Spectra belonging to this feature. These spectra will be merged an only a representative mergedMs1 spectrum will be stored in SIRIUS. At least one of these spectra should contain the isotope pattern of the precursor ion. Note: Will be ignored if 'mergedMs1' is given.} diff --git a/client-api_r/generated/man/FeatureStatisticsApi.Rd b/client-api_r/generated/man/FeatureStatisticsApi.Rd index 27b49d8c..332af028 100644 --- a/client-api_r/generated/man/FeatureStatisticsApi.Rd +++ b/client-api_r/generated/man/FeatureStatisticsApi.Rd @@ -138,7 +138,7 @@ Initialize a new FeatureStatisticsApi. right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -157,7 +157,7 @@ Initialize a new FeatureStatisticsApi. \item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} -\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} +\item{\code{opt_fields}}{(optional) job opt fields. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -181,7 +181,7 @@ Job right_group_name, aggregation = "AVG", quantification = "APEX_INTENSITY", - opt_fields = list(progress), + opt_fields = list("progress"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -200,7 +200,7 @@ Job \item{\code{quantification}}{(optional) quantification type. (default value: "APEX_INTENSITY")} -\item{\code{opt_fields}}{(optional) job opt fields. (default value: [progress])} +\item{\code{opt_fields}}{(optional) job opt fields. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/FeaturesApi.Rd b/client-api_r/generated/man/FeaturesApi.Rd index 36260529..49494e6e 100644 --- a/client-api_r/generated/man/FeaturesApi.Rd +++ b/client-api_r/generated/man/FeaturesApi.Rd @@ -58,7 +58,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to add to. var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. -var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. #[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project api_instance <- rsirius_api$new() @@ -894,7 +894,7 @@ Import (aligned) features into the project. project_id, feature_import, profile = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -909,7 +909,7 @@ Import (aligned) features into the project. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -931,7 +931,7 @@ Import (aligned) features into the project. project_id, feature_import, profile = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -946,7 +946,7 @@ Import (aligned) features into the project. \item{\code{profile}}{(optional) profile describing the instrument used to measure the data. Used to merge spectra.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1266,7 +1266,7 @@ Get feature (aligned over runs) with the given identifier from the specified pro project_id, aligned_feature_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1281,7 +1281,7 @@ Get feature (aligned over runs) with the given identifier from the specified pro \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1303,7 +1303,7 @@ Get feature (aligned over runs) with the given identifier from the specified pro project_id, aligned_feature_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1318,7 +1318,7 @@ Get feature (aligned over runs) with the given identifier from the specified pro \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1401,7 +1401,7 @@ Get all available features (aligned over runs) in the given project-space. \if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeatures( project_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1414,7 +1414,7 @@ Get all available features (aligned over runs) in the given project-space. \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1435,7 +1435,7 @@ Get all available features (aligned over runs) in the given project-space. \if{html}{\out{
}}\preformatted{FeaturesApi$GetAlignedFeaturesWithHttpInfo( project_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1448,7 +1448,7 @@ Get all available features (aligned over runs) in the given project-space. \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1472,7 +1472,7 @@ API response (array[AlignedFeature]) with additional information such as HTTP st page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1491,7 +1491,7 @@ API response (array[AlignedFeature]) with additional information such as HTTP st \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1515,7 +1515,7 @@ PagedModelAlignedFeature page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1534,7 +1534,7 @@ PagedModelAlignedFeature \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1644,7 +1644,7 @@ Get all available features (aligned over runs) in the given project-space. size = 20, sort = NULL, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1663,7 +1663,7 @@ Get all available features (aligned over runs) in the given project-space. \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1687,7 +1687,7 @@ Get all available features (aligned over runs) in the given project-space. size = 20, sort = NULL, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1706,7 +1706,7 @@ Get all available features (aligned over runs) in the given project-space. \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1932,7 +1932,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS project_id, aligned_feature_id, formula_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1947,7 +1947,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1969,7 +1969,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS project_id, aligned_feature_id, formula_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -1984,7 +1984,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2009,7 +2009,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2030,7 +2030,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2055,7 +2055,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2076,7 +2076,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2100,7 +2100,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2119,7 +2119,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2143,7 +2143,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2162,7 +2162,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2469,7 +2469,7 @@ FormulaResultContainers for the given 'formulaId' with minimal information. aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2486,7 +2486,7 @@ FormulaResultContainers for the given 'formulaId' with minimal information. \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2509,7 +2509,7 @@ FormulaResultContainers for the given 'formulaId' with minimal information. aligned_feature_id, formula_id, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2526,7 +2526,7 @@ FormulaResultContainers for the given 'formulaId' with minimal information. \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2625,7 +2625,7 @@ Page of FormulaResultContainers available for this feature with minimal informat size = 20, sort = NULL, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2646,7 +2646,7 @@ Page of FormulaResultContainers available for this feature with minimal informat \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -2671,7 +2671,7 @@ Page of FormulaResultContainers available for this feature with minimal informat size = 20, sort = NULL, ms_data_search_prepared = FALSE, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -2692,7 +2692,7 @@ Page of FormulaResultContainers available for this feature with minimal informat \item{\code{ms_data_search_prepared}}{(optional) Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (default value: FALSE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3054,7 +3054,7 @@ Spectral library match for the given 'alignedFeatureId'. project_id, aligned_feature_id, match_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3069,7 +3069,7 @@ Spectral library match for the given 'alignedFeatureId'. \item{\code{match_id}}{id of the library match to be returned.} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3091,7 +3091,7 @@ Spectral library match for the given 'alignedFeatureId'. project_id, aligned_feature_id, match_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3106,7 +3106,7 @@ Spectral library match for the given 'alignedFeatureId'. \item{\code{match_id}}{id of the library match to be returned.} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3219,7 +3219,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3244,7 +3244,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. \item{\code{inchi_key}}{(optional) No description (default value: "")} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3271,7 +3271,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. min_shared_peaks = 1, min_similarity = 0.2, inchi_key = "", - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3296,7 +3296,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. \item{\code{inchi_key}}{(optional) No description (default value: "")} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3631,7 +3631,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureCandidates( project_id, aligned_feature_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3644,7 +3644,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3665,7 +3665,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \if{html}{\out{
}}\preformatted{FeaturesApi$GetStructureCandidatesWithHttpInfo( project_id, aligned_feature_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -3678,7 +3678,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th \item{\code{aligned_feature_id}}{feature (aligned over runs) the structure candidates belong to.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3700,7 +3700,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula project_id, aligned_feature_id, formula_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3715,7 +3715,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3737,7 +3737,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula project_id, aligned_feature_id, formula_id, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3752,7 +3752,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula \item{\code{formula_id}}{identifier of the requested formula result} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3777,7 +3777,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3798,7 +3798,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3823,7 +3823,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3844,7 +3844,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3868,7 +3868,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3887,7 +3887,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -3911,7 +3911,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -3930,7 +3930,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/FormulaCandidate.Rd b/client-api_r/generated/man/FormulaCandidate.Rd index 62855f12..066caba1 100644 --- a/client-api_r/generated/man/FormulaCandidate.Rd +++ b/client-api_r/generated/man/FormulaCandidate.Rd @@ -58,19 +58,19 @@ df \item{\code{medianMassDeviation}}{\link{Deviation} [optional]} -\item{\code{fragmentationTree}}{The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore). \link{FragmentationTree} [optional]} +\item{\code{fragmentationTree}}{\link{FragmentationTree} [optional]} -\item{\code{annotatedSpectrum}}{Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses \link{AnnotatedSpectrum} [optional]} +\item{\code{annotatedSpectrum}}{\link{AnnotatedSpectrum} [optional]} -\item{\code{isotopePatternAnnotation}}{The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore. \link{IsotopePatternAnnotation} [optional]} +\item{\code{isotopePatternAnnotation}}{\link{IsotopePatternAnnotation} [optional]} -\item{\code{lipidAnnotation}}{ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid \link{LipidAnnotation} [optional]} +\item{\code{lipidAnnotation}}{\link{LipidAnnotation} [optional]} \item{\code{predictedFingerprint}}{Probabilistic molecular fingerprint predicted by CSI:FingerID list(numeric) [optional]} -\item{\code{compoundClasses}}{Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint) \link{CompoundClasses} [optional]} +\item{\code{compoundClasses}}{\link{CompoundClasses} [optional]} -\item{\code{canopusPrediction}}{All classes predicted by canopus for this FormulaCandidate (predictedFingerprint) \link{CanopusPrediction} [optional]} +\item{\code{canopusPrediction}}{\link{CanopusPrediction} [optional]} } \if{html}{\out{}} } @@ -152,19 +152,19 @@ Initialize a new FormulaCandidate class. \item{\code{medianMassDeviation}}{medianMassDeviation} -\item{\code{fragmentationTree}}{The fragmentation tree that belongs to this molecular formula candidate (produces the treeScore).} +\item{\code{fragmentationTree}}{fragmentationTree} -\item{\code{annotatedSpectrum}}{Fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses} +\item{\code{annotatedSpectrum}}{annotatedSpectrum} -\item{\code{isotopePatternAnnotation}}{The measured and simulated isotope pattern that have been compared against each other to produce the isotopeScore.} +\item{\code{isotopePatternAnnotation}}{isotopePatternAnnotation} -\item{\code{lipidAnnotation}}{ElGordo lipid annotation of this candidate. NULL if annotation was not requested. lipidAnnotation.lipidSpecies == NULL if candidate has not been classified as a lipid} +\item{\code{lipidAnnotation}}{lipidAnnotation} \item{\code{predictedFingerprint}}{Probabilistic molecular fingerprint predicted by CSI:FingerID} -\item{\code{compoundClasses}}{Most likely compound classes for different levels of each ontology for this FormulaCandidate (predictedFingerprint)} +\item{\code{compoundClasses}}{compoundClasses} -\item{\code{canopusPrediction}}{All classes predicted by canopus for this FormulaCandidate (predictedFingerprint)} +\item{\code{canopusPrediction}}{canopusPrediction} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/Job.Rd b/client-api_r/generated/man/Job.Rd index 4834ac1f..30ae7eb0 100644 --- a/client-api_r/generated/man/Job.Rd +++ b/client-api_r/generated/man/Job.Rd @@ -36,7 +36,7 @@ df \item{\code{command}}{Command string of the executed Task character [optional]} -\item{\code{progress}}{Optional progress information of this job \link{JobProgress} [optional]} +\item{\code{progress}}{\link{JobProgress} [optional]} \item{\code{affectedCompoundIds}}{List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished list(character) [optional]} @@ -88,7 +88,7 @@ Initialize a new Job class. \item{\code{command}}{Command string of the executed Task} -\item{\code{progress}}{Optional progress information of this job} +\item{\code{progress}}{progress} \item{\code{affectedCompoundIds}}{List of compoundIds that are affected by this job. This lis will also contain compoundIds where not all features of the compound are affected by the job. If this job is creating compounds (e.g. data import jobs) this value will be NULL until the jobs has finished} diff --git a/client-api_r/generated/man/JobSubmission.Rd b/client-api_r/generated/man/JobSubmission.Rd index d6a4367b..ab5b1aa2 100644 --- a/client-api_r/generated/man/JobSubmission.Rd +++ b/client-api_r/generated/man/JobSubmission.Rd @@ -44,19 +44,19 @@ df \item{\code{recompute}}{Indicate if already existing result for a tool to be executed should be overwritten or not. character [optional]} -\item{\code{spectraSearchParams}}{Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed. \link{SpectralLibrarySearch} [optional]} +\item{\code{spectraSearchParams}}{\link{SpectralLibrarySearch} [optional]} -\item{\code{formulaIdParams}}{Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed. \link{Sirius} [optional]} +\item{\code{formulaIdParams}}{\link{Sirius} [optional]} -\item{\code{zodiacParams}}{Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed. \link{Zodiac} [optional]} +\item{\code{zodiacParams}}{\link{Zodiac} [optional]} -\item{\code{fingerprintPredictionParams}}{Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed. \link{FingerprintPrediction} [optional]} +\item{\code{fingerprintPredictionParams}}{\link{FingerprintPrediction} [optional]} -\item{\code{canopusParams}}{Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed. \link{Canopus} [optional]} +\item{\code{canopusParams}}{\link{Canopus} [optional]} -\item{\code{structureDbSearchParams}}{Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed. \link{StructureDbSearch} [optional]} +\item{\code{structureDbSearchParams}}{\link{StructureDbSearch} [optional]} -\item{\code{msNovelistParams}}{Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed. \link{MsNovelist} [optional]} +\item{\code{msNovelistParams}}{\link{MsNovelist} [optional]} \item{\code{configMap}}{As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint. named list(character) [optional]} } @@ -120,19 +120,19 @@ Initialize a new JobSubmission class. \item{\code{recompute}}{Indicate if already existing result for a tool to be executed should be overwritten or not.} -\item{\code{spectraSearchParams}}{Parameter Object for spectral library search tool (CLI-Tool: spectra-search). Library search results can be used to enhance formula search results If NULL the tool will not be executed.} +\item{\code{spectraSearchParams}}{spectraSearchParams} -\item{\code{formulaIdParams}}{Parameter Object for molecular formula identification tool (CLI-Tool: formula, sirius). If NULL the tool will not be executed.} +\item{\code{formulaIdParams}}{formulaIdParams} -\item{\code{zodiacParams}}{Parameter Object for network based molecular formula re-ranking (CLI-Tool: zodiac). If NULL the tool will not be executed.} +\item{\code{zodiacParams}}{zodiacParams} -\item{\code{fingerprintPredictionParams}}{Parameter Object for Fingerprint prediction with CSI:FingerID (CLI-Tool: fingerint). If NULL the tool will not be executed.} +\item{\code{fingerprintPredictionParams}}{fingerprintPredictionParams} -\item{\code{canopusParams}}{Parameter Object for CANOPUS compound class prediction tool (CLI-Tool: canopus). If NULL the tool will not be executed.} +\item{\code{canopusParams}}{canopusParams} -\item{\code{structureDbSearchParams}}{Parameter Object for structure database search with CSI:FingerID (CLI-Tool: structure). If NULL the tool will not be executed.} +\item{\code{structureDbSearchParams}}{structureDbSearchParams} -\item{\code{msNovelistParams}}{Parameter Object for MsNovelist DeNovo structure generation (CLI-Tool: msnovelist) If NULL the tool will not be executed.} +\item{\code{msNovelistParams}}{msNovelistParams} \item{\code{configMap}}{As an alternative to the object based parameters, this map allows to store key value pairs of ALL SIRIUS parameters. All possible parameters can be retrieved from SIRIUS via the respective endpoint.} diff --git a/client-api_r/generated/man/JobsApi.Rd b/client-api_r/generated/man/JobsApi.Rd index 427036d2..26854f57 100644 --- a/client-api_r/generated/man/JobsApi.Rd +++ b/client-api_r/generated/man/JobsApi.Rd @@ -618,7 +618,7 @@ Get job information and its current state and progress (if available). \item{\code{job_id}}{of the job to be returned} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -652,7 +652,7 @@ Get job information and its current state and progress (if available). \item{\code{job_id}}{of the job to be returned} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -882,7 +882,7 @@ Get Page of jobs with information such as current state and progress (if availab page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -899,7 +899,7 @@ Get Page of jobs with information such as current state and progress (if availab \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -922,7 +922,7 @@ Get Page of jobs with information such as current state and progress (if availab page = 0, size = 20, sort = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{}} @@ -939,7 +939,7 @@ Get Page of jobs with information such as current state and progress (if availab \item{\code{sort}}{(optional) Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [none])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1176,7 +1176,7 @@ Start computation for given compounds and with parameters from a stored job-conf \item{\code{recompute}}{(optional) enable or disable recompute. If null the stored value will be used.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -1216,7 +1216,7 @@ Start computation for given compounds and with parameters from a stored job-conf \item{\code{recompute}}{(optional) enable or disable recompute. If null the stored value will be used.} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [command, progress])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["command","progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/LcmsSubmissionParameters.Rd b/client-api_r/generated/man/LcmsSubmissionParameters.Rd index 860087ca..abef562c 100644 --- a/client-api_r/generated/man/LcmsSubmissionParameters.Rd +++ b/client-api_r/generated/man/LcmsSubmissionParameters.Rd @@ -36,9 +36,9 @@ df \item{\code{noiseIntensity}}{Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient. numeric [optional]} -\item{\code{traceMaxMassDeviation}}{Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace. \link{Deviation} [optional]} +\item{\code{traceMaxMassDeviation}}{\link{Deviation} [optional]} -\item{\code{alignMaxMassDeviation}}{Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data. \link{Deviation} [optional]} +\item{\code{alignMaxMassDeviation}}{\link{Deviation} [optional]} \item{\code{alignMaxRetentionTimeDeviation}}{Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data. numeric [optional]} @@ -88,9 +88,9 @@ Initialize a new LcmsSubmissionParameters class. \item{\code{noiseIntensity}}{Noise level under which all peaks are considered to be likely noise. A peak has to be at least 3x noise level to be picked as feature. Peaks with MS/MS are still picked even though they might be below noise level. If not specified, the noise intensity is detected automatically from data. We recommend to NOT specify this parameter, as the automated detection is usually sufficient.. Default to -1.} -\item{\code{traceMaxMassDeviation}}{Maximal allowed mass deviation for peaks in ms1 to be considered as belonging to the same trace.} +\item{\code{traceMaxMassDeviation}}{traceMaxMassDeviation} -\item{\code{alignMaxMassDeviation}}{Maximal allowed mass deviation for aligning features. If not specified, this parameter is estimated from data.} +\item{\code{alignMaxMassDeviation}}{alignMaxMassDeviation} \item{\code{alignMaxRetentionTimeDeviation}}{Maximal allowed retention time error in seconds for aligning features. If not specified, this parameter is estimated from data.. Default to -1.} diff --git a/client-api_r/generated/man/LicenseInfo.Rd b/client-api_r/generated/man/LicenseInfo.Rd index 0e274492..d2dad221 100644 --- a/client-api_r/generated/man/LicenseInfo.Rd +++ b/client-api_r/generated/man/LicenseInfo.Rd @@ -36,9 +36,9 @@ df \item{\code{userId}}{User ID (uid) of the user account this license information belongs to. character [optional]} -\item{\code{subscription}}{The active subscription that was used the requested the information \link{Subscription} [optional]} +\item{\code{subscription}}{\link{Subscription} [optional]} -\item{\code{consumables}}{Status of the consumable resources of the {@link Subscription Subscription}. \link{SubscriptionConsumables} [optional]} +\item{\code{consumables}}{\link{SubscriptionConsumables} [optional]} \item{\code{terms}}{list(\link{Term}) [optional]} } @@ -85,9 +85,9 @@ Initialize a new LicenseInfo class. \item{\code{userId}}{User ID (uid) of the user account this license information belongs to.} -\item{\code{subscription}}{The active subscription that was used the requested the information} +\item{\code{subscription}}{subscription} -\item{\code{consumables}}{Status of the consumable resources of the {@link Subscription Subscription}.} +\item{\code{consumables}}{consumables} \item{\code{terms}}{terms} diff --git a/client-api_r/generated/man/PeakAnnotation.Rd b/client-api_r/generated/man/PeakAnnotation.Rd index 450f7c12..636a405c 100644 --- a/client-api_r/generated/man/PeakAnnotation.Rd +++ b/client-api_r/generated/man/PeakAnnotation.Rd @@ -48,7 +48,7 @@ df \item{\code{recalibratedMassDeviationPpm}}{Relative mass deviation of the exact mass to the recalibrated peak mass in ppm numeric [optional]} -\item{\code{parentPeak}}{Link to the parent peak connected via the neutral loss from the fragmentation tree. \link{ParentPeak} [optional]} +\item{\code{parentPeak}}{\link{ParentPeak} [optional]} \item{\code{substructureAtoms}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms) list(integer) [optional]} @@ -124,7 +124,7 @@ Initialize a new PeakAnnotation class. \item{\code{recalibratedMassDeviationPpm}}{Relative mass deviation of the exact mass to the recalibrated peak mass in ppm} -\item{\code{parentPeak}}{Link to the parent peak connected via the neutral loss from the fragmentation tree.} +\item{\code{parentPeak}}{parentPeak} \item{\code{substructureAtoms}}{EXPERIMENTAL: This field is experimental and may be changed (or even removed) without notice until it is declared stable. Array/List of indices of the atoms of the structure candidate that are part of this fragments substructure (highlighted atoms)} diff --git a/client-api_r/generated/man/ProjectsApi.Rd b/client-api_r/generated/man/ProjectsApi.Rd index 740af97d..54ea31de 100644 --- a/client-api_r/generated/man/ProjectsApi.Rd +++ b/client-api_r/generated/man/ProjectsApi.Rd @@ -126,7 +126,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | Project-space to import into. var_input_files <- c(123) # array[data.frame] | Files to import into project. -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | #Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) api_instance <- rsirius_api$new() @@ -142,7 +142,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | Project-space to import into. var_input_files <- c(123) # array[data.frame] | Files to import into project. -var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | Parameters for feature alignment and feature finding. +var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | var_opt_fields <- c("none") # array[character] | Set of optional fields to be included. Use 'none' only to override defaults. (Optional) #Import and Align full MS-Runs from various formats into the specified project as background job. @@ -319,7 +319,7 @@ Create and open a new project-space at given location and make it accessible via \if{html}{\out{
}}\preformatted{ProjectsApi$CreateProject( project_id, path_to_project = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -332,7 +332,7 @@ Create and open a new project-space at given location and make it accessible via \item{\code{path_to_project}}{(optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -353,7 +353,7 @@ Create and open a new project-space at given location and make it accessible via \if{html}{\out{
}}\preformatted{ProjectsApi$CreateProjectWithHttpInfo( project_id, path_to_project = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -366,7 +366,7 @@ Create and open a new project-space at given location and make it accessible via \item{\code{path_to_project}}{(optional) local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -677,7 +677,7 @@ Import and Align full MS-Runs from various formats into the specified project P \item{\code{input_files}}{Files to import into project.} -\item{\code{parameters}}{Parameters for feature alignment and feature finding.} +\item{\code{parameters}}{} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -711,7 +711,7 @@ Import and Align full MS-Runs from various formats into the specified project P \item{\code{input_files}}{Files to import into project.} -\item{\code{parameters}}{Parameters for feature alignment and feature finding.} +\item{\code{parameters}}{} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -746,9 +746,9 @@ Import and Align full MS-Runs from various formats into the specified project as \item{\code{input_files}}{Files to import into project.} -\item{\code{parameters}}{Parameters for feature alignment and feature finding.} +\item{\code{parameters}}{} -\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} +\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -783,9 +783,9 @@ Import and Align full MS-Runs from various formats into the specified project as \item{\code{input_files}}{Files to import into project.} -\item{\code{parameters}}{Parameters for feature alignment and feature finding.} +\item{\code{parameters}}{} -\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} +\item{\code{opt_fields}}{(optional) Set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -899,7 +899,7 @@ Import ms/ms data from the given format into the specified project-space as back \item{\code{allow_ms1_only}}{(optional) No description (default value: TRUE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -939,7 +939,7 @@ Import ms/ms data from the given format into the specified project-space as back \item{\code{allow_ms1_only}}{(optional) No description (default value: TRUE)} -\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: [progress])} +\item{\code{opt_fields}}{(optional) set of optional fields to be included. Use 'none' only to override defaults. (default value: ["progress"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -960,7 +960,7 @@ Open an existing project-space and make it accessible via the given projectId. \if{html}{\out{
}}\preformatted{ProjectsApi$OpenProject( project_id, path_to_project = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -973,7 +973,7 @@ Open an existing project-space and make it accessible via the given projectId. \item{\code{path_to_project}}{(optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -994,7 +994,7 @@ Open an existing project-space and make it accessible via the given projectId. \if{html}{\out{
}}\preformatted{ProjectsApi$OpenProjectWithHttpInfo( project_id, path_to_project = NULL, - opt_fields = list(NULL), + opt_fields = list("none"), data_file = NULL, ... )}\if{html}{\out{
}} @@ -1007,7 +1007,7 @@ Open an existing project-space and make it accessible via the given projectId. \item{\code{path_to_project}}{(optional) local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases.} -\item{\code{opt_fields}}{(optional) No description (default value: [none])} +\item{\code{opt_fields}}{(optional) No description (default value: ["none"])} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/RunsApi.Rd b/client-api_r/generated/man/RunsApi.Rd index 58b0b8c7..fc33d241 100644 --- a/client-api_r/generated/man/RunsApi.Rd +++ b/client-api_r/generated/man/RunsApi.Rd @@ -25,7 +25,7 @@ Generated by: https://openapi-generator.tech library(Rsirius) var_project_id <- "project_id_example" # character | project-space to add to. var_run_id <- "run_id_example" # character | run to add tags to. -var_tag <- c(Tag$new("tagName_example", TODO)) # array[Tag] | tags to add. +var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. #[EXPERIMENTAL] Add tags to a run in the project api_instance <- rsirius_api$new() diff --git a/client-api_r/generated/man/SearchableDatabasesApi.Rd b/client-api_r/generated/man/SearchableDatabasesApi.Rd index ac146dfc..100cf110 100644 --- a/client-api_r/generated/man/SearchableDatabasesApi.Rd +++ b/client-api_r/generated/man/SearchableDatabasesApi.Rd @@ -109,7 +109,7 @@ library(Rsirius) var_database_id <- "database_id_example" # character | database to import into var_input_files <- c(123) # array[data.frame] | files to be imported var_buffer_size <- 1000 # integer | (Optional) -var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | configuration for biotransformer execution. If null, BioTransformer is not applied. (Optional) +var_bio_transformer_parameters <- BioTransformerParameters$new("RULE_BASED", "BT_RULE_BASED", c(BioTransformerSequenceStep$new("PHASE_1_CYP450", 123)), "useDB_example") # BioTransformerParameters | (Optional) #Start import of structure and spectra files into the specified database. api_instance <- rsirius_api$new() @@ -567,7 +567,7 @@ Start import of structure and spectra files into the specified database. \item{\code{buffer_size}}{(optional) No description (default value: 1000)} -\item{\code{bio_transformer_parameters}}{(optional) configuration for biotransformer execution. If null, BioTransformer is not applied.} +\item{\code{bio_transformer_parameters}}{(optional) No description} \item{\code{data_file}}{(optional) name of the data file to save the result} @@ -604,7 +604,7 @@ Start import of structure and spectra files into the specified database. \item{\code{buffer_size}}{(optional) No description (default value: 1000)} -\item{\code{bio_transformer_parameters}}{(optional) configuration for biotransformer execution. If null, BioTransformer is not applied.} +\item{\code{bio_transformer_parameters}}{(optional) No description} \item{\code{data_file}}{(optional) name of the data file to save the result} diff --git a/client-api_r/generated/man/Sirius.Rd b/client-api_r/generated/man/Sirius.Rd index c88f90a4..b5f358d3 100644 --- a/client-api_r/generated/man/Sirius.Rd +++ b/client-api_r/generated/man/Sirius.Rd @@ -62,9 +62,9 @@ df \item{\code{detectableElements}}{These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern) list(character) [optional]} -\item{\code{ilpTimeout}}{Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint \link{Timeout} [optional]} +\item{\code{ilpTimeout}}{\link{Timeout} [optional]} -\item{\code{useHeuristic}}{Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically. \link{UseHeuristic} [optional]} +\item{\code{useHeuristic}}{\link{UseHeuristic} [optional]} \item{\code{injectSpecLibMatchFormulas}}{If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied character [optional]} @@ -156,9 +156,9 @@ Initialize a new Sirius class. \item{\code{detectableElements}}{These configurations hold the information how to autodetect elements based on the given formula constraints. Note: If the compound is already assigned to a specific molecular formula, this annotation is ignored.

Detectable: Detectable elements are added to the chemical alphabet, if there are indications for them (e.g. in isotope pattern)} -\item{\code{ilpTimeout}}{Timout settings for the ILP solver used for fragmentation tree computation secondsPerInstance: Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time constraint. secondsPerTree: Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the time constraint} +\item{\code{ilpTimeout}}{ilpTimeout} -\item{\code{useHeuristic}}{Mass thresholds for heuristic fragmentation tree computation which dramatically speeds up computations. useHeuristicAboveMz: For compounds above this threshold fragmentation trees will be computed heuristically for ranking. Tree that will be kept (numberOfCandidates) will be recomputed exactly useOnlyHeuristicAboveMz:For compounds above this threshold fragmentation trees will be computed heuristically.} +\item{\code{useHeuristic}}{useHeuristic} \item{\code{injectSpecLibMatchFormulas}}{If true formula candidates that belong to spectral library matches above a certain threshold will we inject/preserved for further analyses no matter which score they have or which filter is applied} diff --git a/client-api_r/generated/man/StoredJobSubmission.Rd b/client-api_r/generated/man/StoredJobSubmission.Rd index 4d9fd8b1..5e6b5717 100644 --- a/client-api_r/generated/man/StoredJobSubmission.Rd +++ b/client-api_r/generated/man/StoredJobSubmission.Rd @@ -36,7 +36,7 @@ df \item{\code{editable}}{False for predefined configs which are not editable and not removable. character} -\item{\code{jobSubmission}}{The JobSubmission identified by the name \link{JobSubmission}} +\item{\code{jobSubmission}}{\link{JobSubmission}} } \if{html}{\out{}} } @@ -74,7 +74,7 @@ Initialize a new StoredJobSubmission class. \item{\code{editable}}{False for predefined configs which are not editable and not removable.} -\item{\code{jobSubmission}}{The JobSubmission identified by the name} +\item{\code{jobSubmission}}{jobSubmission} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/StructureCandidateFormula.Rd b/client-api_r/generated/man/StructureCandidateFormula.Rd index ad64ff19..6025ce30 100644 --- a/client-api_r/generated/man/StructureCandidateFormula.Rd +++ b/client-api_r/generated/man/StructureCandidateFormula.Rd @@ -54,7 +54,7 @@ df \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional]} -\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional]} +\item{\code{fingerprint}}{\link{BinaryFingerprint} [optional]} \item{\code{molecularFormula}}{Molecular formula of this candidate character [optional]} @@ -133,7 +133,7 @@ Initialize a new StructureCandidateFormula class. \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.} -\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter} +\item{\code{fingerprint}}{fingerprint} \item{\code{molecularFormula}}{Molecular formula of this candidate} diff --git a/client-api_r/generated/man/StructureCandidateScored.Rd b/client-api_r/generated/man/StructureCandidateScored.Rd index 81d06dbc..26ed39e5 100644 --- a/client-api_r/generated/man/StructureCandidateScored.Rd +++ b/client-api_r/generated/man/StructureCandidateScored.Rd @@ -54,7 +54,7 @@ df \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list. numeric [optional]} -\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter \link{BinaryFingerprint} [optional]} +\item{\code{fingerprint}}{\link{BinaryFingerprint} [optional]} } \if{html}{\out{}} } @@ -124,7 +124,7 @@ Initialize a new StructureCandidateScored class. \item{\code{mcesDistToTopHit}}{Maximum Common Edge Subgraph (MCES) distance to the top scoring hit (CSI:FingerID) in a candidate list.} -\item{\code{fingerprint}}{Array containing the indices of the molecular fingerprint that are available in the structure (1 if present) OPTIONAL: needs to be added by parameter} +\item{\code{fingerprint}}{fingerprint} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/Tag.Rd b/client-api_r/generated/man/Tag.Rd index d90aab75..dd1d9ad4 100644 --- a/client-api_r/generated/man/Tag.Rd +++ b/client-api_r/generated/man/Tag.Rd @@ -34,7 +34,7 @@ df \describe{ \item{\code{tagName}}{Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition. character} -\item{\code{value}}{\link{AnyType} [optional]} +\item{\code{value}}{Optional value of the tag.

Generic value of the tag as defined by the corresponding TagDefinition. Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss). object [optional]} } \if{html}{\out{}} } @@ -70,7 +70,7 @@ Initialize a new Tag class. \describe{ \item{\code{tagName}}{Name of the tag as defined by the corresponding TagDefinition Links tag object to their definition.} -\item{\code{value}}{value} +\item{\code{value}}{Optional value of the tag.

Generic value of the tag as defined by the corresponding TagDefinition. Can be Integer, Double, Boolean and String, whereas String values can represent Text, Date (yyyy-MM-dd) or Time (HH:mm:ss).} \item{\code{...}}{Other optional arguments.} } diff --git a/client-api_r/generated/man/TagDefinition.Rd b/client-api_r/generated/man/TagDefinition.Rd index 8d5eab3c..1f49dca7 100644 --- a/client-api_r/generated/man/TagDefinition.Rd +++ b/client-api_r/generated/man/TagDefinition.Rd @@ -40,11 +40,11 @@ df \item{\code{valueType}}{character} -\item{\code{possibleValues}}{list(\link{AnyType}) [optional]} +\item{\code{possibleValues}}{list(object) [optional]} -\item{\code{minValue}}{\link{AnyType} [optional]} +\item{\code{minValue}}{object [optional]} -\item{\code{maxValue}}{\link{AnyType} [optional]} +\item{\code{maxValue}}{object [optional]} \item{\code{editable}}{character [optional]} } diff --git a/client-api_r/generated/man/TagDefinitionImport.Rd b/client-api_r/generated/man/TagDefinitionImport.Rd index 277faa04..c970439b 100644 --- a/client-api_r/generated/man/TagDefinitionImport.Rd +++ b/client-api_r/generated/man/TagDefinitionImport.Rd @@ -40,11 +40,11 @@ df \item{\code{valueType}}{character} -\item{\code{possibleValues}}{list(\link{AnyType}) [optional]} +\item{\code{possibleValues}}{list(object) [optional]} -\item{\code{minValue}}{\link{AnyType} [optional]} +\item{\code{minValue}}{object [optional]} -\item{\code{maxValue}}{\link{AnyType} [optional]} +\item{\code{maxValue}}{object [optional]} } \if{html}{\out{}} } diff --git a/client-api_r/generated/man/TagsApi.Rd b/client-api_r/generated/man/TagsApi.Rd index 2763ba2b..9d00cea2 100644 --- a/client-api_r/generated/man/TagsApi.Rd +++ b/client-api_r/generated/man/TagsApi.Rd @@ -42,7 +42,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to add to. var_tag_name <- "tag_name_example" # character | the tag definition to add the values to -var_request_body <- c(TODO) # array[AnyType] | +var_request_body <- c(123) # array[object] | #[EXPERIMENTAL] Add a possible value to the tag definition in the project api_instance <- rsirius_api$new() @@ -57,7 +57,7 @@ dput(result) library(Rsirius) var_project_id <- "project_id_example" # character | project-space to add to. -var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(TODO), TODO, TODO)) # array[TagDefinitionImport] | the tag definitions to be created +var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(123), 123, 123)) # array[TagDefinitionImport] | the tag definitions to be created #[EXPERIMENTAL] Add tags to the project api_instance <- rsirius_api$new() diff --git a/client-api_r/generated/man/Zodiac.Rd b/client-api_r/generated/man/Zodiac.Rd index ac268683..f89e091b 100644 --- a/client-api_r/generated/man/Zodiac.Rd +++ b/client-api_r/generated/man/Zodiac.Rd @@ -40,13 +40,13 @@ df \item{\code{runInTwoSteps}}{As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining. character [optional]} -\item{\code{edgeFilterThresholds}}{thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to. \link{ZodiacEdgeFilterThresholds} [optional]} +\item{\code{edgeFilterThresholds}}{\link{ZodiacEdgeFilterThresholds} [optional]} -\item{\code{gibbsSamplerParameters}}{iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs. \link{ZodiacEpochs} [optional]} +\item{\code{gibbsSamplerParameters}}{\link{ZodiacEpochs} [optional]} -\item{\code{librarySearchAnchors}}{Configure the use of identity spectral library search results as anchors in ZODIAC network \link{ZodiacLibraryScoring} [optional]} +\item{\code{librarySearchAnchors}}{\link{ZodiacLibraryScoring} [optional]} -\item{\code{analogueSearchAnchors}}{Configure the use of analogue spectral library search results as anchors in ZODIAC network \link{ZodiacAnalogueNodes} [optional]} +\item{\code{analogueSearchAnchors}}{\link{ZodiacAnalogueNodes} [optional]} } \if{html}{\out{}} } @@ -98,13 +98,13 @@ Initialize a new Zodiac class. \item{\code{runInTwoSteps}}{As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and afterwards including the remaining.} -\item{\code{edgeFilterThresholds}}{thresholdFilter = Defines the proportion of edges of the complete network which will be ignored. minLocalConnections = Minimum number of compounds to which at least one candidate per compound must be connected to.} +\item{\code{edgeFilterThresholds}}{edgeFilterThresholds} -\item{\code{gibbsSamplerParameters}}{iterations: \"Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all chains' iterations sum up to this value.\" burnInPeriod: \"Number of epochs considered as 'burn-in period'. numberOfMarkovChains: Number of separate Gibbs sampling runs.} +\item{\code{gibbsSamplerParameters}}{gibbsSamplerParameters} -\item{\code{librarySearchAnchors}}{Configure the use of identity spectral library search results as anchors in ZODIAC network} +\item{\code{librarySearchAnchors}}{librarySearchAnchors} -\item{\code{analogueSearchAnchors}}{Configure the use of analogue spectral library search results as anchors in ZODIAC network} +\item{\code{analogueSearchAnchors}}{analogueSearchAnchors} \item{\code{...}}{Other optional arguments.} } From 34c364430d9546d3a9899ed63ba4907696f9af6f Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 21:02:18 +0200 Subject: [PATCH 36/76] try fix login problem in python test workflow --- .github/workflows/PythonTest.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index 22eeeb76..4d02e3b1 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -74,8 +74,8 @@ jobs: import PySirius accept_terms = True account_credentials = PySirius.AccountCredentials(username=os.environ['SIRIUS_USER'], password=os.environ['SIRIUS_PW']) - sdk = SiriusSDK().attach_or_start_sirius() - api_instance = PySirius.LoginAndAccountApi(sdk.get_client()) + api = PySirius.SiriusSDK().attach_or_start_sirius() + api_instance = PySirius.LoginAndAccountApi(api.get_client()) api_response = api_instance.login(accept_terms, account_credentials) if isinstance(api_response, PySirius.AccountInfo): exit(0) From 7e6de0eb2dad7e274713316a0cc14ceb9d532f4e Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 22:38:22 +0200 Subject: [PATCH 37/76] should fix login --- .github/workflows/PythonTest.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index 4d02e3b1..69831d9b 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -75,9 +75,10 @@ jobs: accept_terms = True account_credentials = PySirius.AccountCredentials(username=os.environ['SIRIUS_USER'], password=os.environ['SIRIUS_PW']) api = PySirius.SiriusSDK().attach_or_start_sirius() - api_instance = PySirius.LoginAndAccountApi(api.get_client()) + api_instance = api.account() api_response = api_instance.login(accept_terms, account_credentials) if isinstance(api_response, PySirius.AccountInfo): + print('Login successful!') exit(0) else: print('Login failed, aborting...') From aa083563f0945f1799a38551fa22540dacbc2421 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 22:38:47 +0200 Subject: [PATCH 38/76] try with following step-by-step testing like in python --- .github/workflows/RTest.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/RTest.yml b/.github/workflows/RTest.yml index 9d187537..e3df96f1 100644 --- a/.github/workflows/RTest.yml +++ b/.github/workflows/RTest.yml @@ -30,6 +30,7 @@ jobs: cache: false working-directory: ./client-api_r/generated - name: Install Rsirius + id: rsirius_install run: install.packages("/home/runner/work/sirius-client-openAPI/sirius-client-openAPI/client-api_r/generated", repos = NULL, type = "source") shell: Rscript {0} - name: Cache Sirius Release @@ -53,8 +54,10 @@ jobs: - name: Run Rest Api run: bash .updater/api/sirius/bin/sirius REST -p 8080 -s & - name: Wait for Api to start + id: api_start run: while ! nc -z localhost 8080; do sleep 0.1; done - name: Login to SIRIUS + id: login run: | library(Rsirius) var_accept_terms <- TRUE @@ -62,16 +65,17 @@ jobs: api_instance <- rsirius_api$new() api_response <- api_instance$login_and_account_api$Login(var_accept_terms, var_account_credentials) if (inherits(api_response, "AccountInfo")) { + print('Login successful!') quit(status=0) } else { print('Login failed, aborting...') quit(status=1) } shell: Rscript {0} - - name: Build Rsirius + - name: Test Info API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - R CMD build ./client-api_r/generated - - name: Test Rsirius using testthat - run: | - packageVersion=$(cat .updater/api/packageVersion.txt) - R CMD check "Rsirius_$packageVersion.tar.gz" --no-manual + library(Rsirius) + library(devtools) + test_file("client-api_r/generated/tests/testthat/test_info_api.R") + shell: Rscript {0} \ No newline at end of file From 3193574c9ce51464eab94acc8f68f80620fcf50d Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 22:49:38 +0200 Subject: [PATCH 39/76] specify port manually, runner filesystem seems to be weird for finding port file --- .github/workflows/PythonTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index 69831d9b..d812b203 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -74,7 +74,7 @@ jobs: import PySirius accept_terms = True account_credentials = PySirius.AccountCredentials(username=os.environ['SIRIUS_USER'], password=os.environ['SIRIUS_PW']) - api = PySirius.SiriusSDK().attach_or_start_sirius() + api = PySirius.SiriusSDK().attach_to_sirius(sirius_port=8080) api_instance = api.account() api_response = api_instance.login(accept_terms, account_credentials) if isinstance(api_response, PySirius.AccountInfo): From 2f6d91528b452898369014e2afd0f48552e2c231 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 22:54:44 +0200 Subject: [PATCH 40/76] devtools not installed with rsirius --- .github/workflows/RTest.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/RTest.yml b/.github/workflows/RTest.yml index e3df96f1..172177ab 100644 --- a/.github/workflows/RTest.yml +++ b/.github/workflows/RTest.yml @@ -31,7 +31,9 @@ jobs: working-directory: ./client-api_r/generated - name: Install Rsirius id: rsirius_install - run: install.packages("/home/runner/work/sirius-client-openAPI/sirius-client-openAPI/client-api_r/generated", repos = NULL, type = "source") + run: | + install.packages("/home/runner/work/sirius-client-openAPI/sirius-client-openAPI/client-api_r/generated", repos = NULL, type = "source") + install.packages("devtools") shell: Rscript {0} - name: Cache Sirius Release uses: actions/cache@v3 @@ -77,5 +79,5 @@ jobs: run: | library(Rsirius) library(devtools) - test_file("client-api_r/generated/tests/testthat/test_info_api.R") + test_active_file("client-api_r/generated/tests/testthat/test_info_api.R") shell: Rscript {0} \ No newline at end of file From 585eed50f2474c729431954e25aa517096b41c97 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 23:01:17 +0200 Subject: [PATCH 41/76] manually set every port in python tests --- client-api_python/generated/test/test_acceptance.py | 2 +- client-api_python/generated/test/test_actuator_api.py | 2 +- client-api_python/generated/test/test_compounds_api.py | 2 +- client-api_python/generated/test/test_features_api.py | 2 +- client-api_python/generated/test/test_info_api.py | 2 +- client-api_python/generated/test/test_jobs_api.py | 2 +- client-api_python/generated/test/test_login_and_account_api.py | 2 +- client-api_python/generated/test/test_projects_api.py | 2 +- .../generated/test/test_searchable_databases_api.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client-api_python/generated/test/test_acceptance.py b/client-api_python/generated/test/test_acceptance.py index 0a939689..cf8db357 100644 --- a/client-api_python/generated/test/test_acceptance.py +++ b/client-api_python/generated/test/test_acceptance.py @@ -17,7 +17,7 @@ def tearDown(self) -> None: def test_simple_computation(self): path_to_project = self.path_to_project # start acceptance test for packages - api = SiriusSDK().attach_or_start_sirius(headless=True) + api = SiriusSDK().attach_to_sirius(sirius_port=8080) ps_info = api.projects().create_project("testProject", os.path.abspath(path_to_project)) try: path = os.getenv('RECIPE_DIR') + "/Kaempferol.ms" diff --git a/client-api_python/generated/test/test_actuator_api.py b/client-api_python/generated/test/test_actuator_api.py index 5164206d..daf33631 100644 --- a/client-api_python/generated/test/test_actuator_api.py +++ b/client-api_python/generated/test/test_actuator_api.py @@ -19,7 +19,7 @@ class TestActuatorApi(unittest.TestCase): """ActuatorApi unit test stubs""" def setUp(self) -> None: - self.api = PySirius.ActuatorApi(SiriusSDK().attach_or_start_sirius().get_client()) + self.api = PySirius.ActuatorApi(SiriusSDK().attach_to_sirius(sirius_port=8080).get_client()) def tearDown(self) -> None: pass diff --git a/client-api_python/generated/test/test_compounds_api.py b/client-api_python/generated/test/test_compounds_api.py index bc4b983d..21283e85 100644 --- a/client-api_python/generated/test/test_compounds_api.py +++ b/client-api_python/generated/test/test_compounds_api.py @@ -23,7 +23,7 @@ class TestCompoundsApi(unittest.TestCase): """CompoundsApi unit test stubs""" def setUp(self) -> None: - self.api = SiriusSDK().attach_or_start_sirius() + self.api = SiriusSDK().attach_to_sirius(sirius_port=8080) self.project_id = "test_compounds_api" self.path_to_project = f"{os.environ.get('HOME')}/test_compounds_api.sirius" self.api.projects().create_project(self.project_id, self.path_to_project) diff --git a/client-api_python/generated/test/test_features_api.py b/client-api_python/generated/test/test_features_api.py index c71cdc7d..ef3721b7 100644 --- a/client-api_python/generated/test/test_features_api.py +++ b/client-api_python/generated/test/test_features_api.py @@ -35,7 +35,7 @@ class TestFeaturesApi(unittest.TestCase): """FeaturesApi unit test stubs""" def setUp(self) -> None: - self.api = SiriusSDK().attach_or_start_sirius() + self.api = SiriusSDK().attach_to_sirius(sirius_port=8080) self.project_id = "test_features_api" self.path_to_project = f"{os.environ.get('HOME')}/tomato_small.sirius" # check if test project already open -> allows to run tests in independent calls. diff --git a/client-api_python/generated/test/test_info_api.py b/client-api_python/generated/test/test_info_api.py index fb14cc92..26fcf5f5 100644 --- a/client-api_python/generated/test/test_info_api.py +++ b/client-api_python/generated/test/test_info_api.py @@ -21,7 +21,7 @@ class TestInfoApi(unittest.TestCase): """InfoApi unit test stubs""" def setUp(self) -> None: - self.infoApi = SiriusSDK().attach_or_start_sirius().infos() + self.infoApi = SiriusSDK().attach_to_sirius(sirius_port=8080).infos() def tearDown(self) -> None: pass diff --git a/client-api_python/generated/test/test_jobs_api.py b/client-api_python/generated/test/test_jobs_api.py index 8c70112c..79d63d7b 100644 --- a/client-api_python/generated/test/test_jobs_api.py +++ b/client-api_python/generated/test/test_jobs_api.py @@ -26,7 +26,7 @@ class TestJobsApi(unittest.TestCase): """JobsApi unit test stubs""" def setUp(self) -> None: - self.api = SiriusSDK().attach_or_start_sirius() + self.api = SiriusSDK().attach_to_sirius(sirius_port=8080) self.project_id = "test_jobs_api" self.path_to_project = f"{os.environ.get('HOME')}/test_jobs_api.sirius" if self.api.projects().get_project_without_preload_content(self.project_id).status == 404: diff --git a/client-api_python/generated/test/test_login_and_account_api.py b/client-api_python/generated/test/test_login_and_account_api.py index f6611ab8..4cbc2d38 100644 --- a/client-api_python/generated/test/test_login_and_account_api.py +++ b/client-api_python/generated/test/test_login_and_account_api.py @@ -20,7 +20,7 @@ class TestLoginAndAccountApi(unittest.TestCase): """LoginAndAccountApi unit test stubs""" def setUp(self) -> None: - self.api = SiriusSDK().attach_or_start_sirius() + self.api = SiriusSDK().attach_to_sirius(sirius_port=8080) self.login_api = self.api.account() diff --git a/client-api_python/generated/test/test_projects_api.py b/client-api_python/generated/test/test_projects_api.py index 359d837d..512e3168 100644 --- a/client-api_python/generated/test/test_projects_api.py +++ b/client-api_python/generated/test/test_projects_api.py @@ -22,7 +22,7 @@ class TestProjectsApi(unittest.TestCase): """ProjectsApi unit test stubs""" def setUp(self) -> None: - self.api = SiriusSDK().attach_or_start_sirius() + self.api = SiriusSDK().attach_to_sirius(sirius_port=8080) self.projects = self.api.projects() path_to_demo_data = f"{os.environ.get('HOME')}/sirius-client-openAPI/.updater/clientTests/Data" self.preproc_ms2_file_1 = path_to_demo_data + "/Kaempferol.ms" diff --git a/client-api_python/generated/test/test_searchable_databases_api.py b/client-api_python/generated/test/test_searchable_databases_api.py index c596879a..9cf2c821 100644 --- a/client-api_python/generated/test/test_searchable_databases_api.py +++ b/client-api_python/generated/test/test_searchable_databases_api.py @@ -23,7 +23,7 @@ class TestSearchableDatabasesApi(unittest.TestCase): """SearchableDatabasesApi unit test stubs""" def setUp(self) -> None: - self.api = SiriusSDK().attach_or_start_sirius() + self.api = SiriusSDK().attach_to_sirius(sirius_port=8080) self.dbs = self.api.databases() self.database_id = 'create_database' self.database_parameters = SearchableDatabaseParameters(display_name="test_db", location=f"{os.environ.get('HOME')}/test_db.siriusdb") From 860f7ba76cbe1bea42af85166ec9fed51898f4a4 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 23:02:22 +0200 Subject: [PATCH 42/76] add acceptance test --- .github/workflows/PythonTest.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index d812b203..8fedaa7b 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -115,4 +115,8 @@ jobs: - name: Test searchable_databases API if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' run: python test_searchable_databases_api.py + working-directory: client-api_python/generated/test + - name: Test acceptance + if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: python test_acceptance.py working-directory: client-api_python/generated/test \ No newline at end of file From d35aa723678c4b674a900e44f699eb039dfaefbd Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 23:20:05 +0200 Subject: [PATCH 43/76] change tests into "ascending" order of difficulty --- .github/workflows/PythonTest.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index 8fedaa7b..4fce0cc5 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -88,22 +88,10 @@ jobs: if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' run: python test_actuator_api.py working-directory: client-api_python/generated/test - - name: Test compounds API - if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' - run: python test_compounds_api.py - working-directory: client-api_python/generated/test - - name: Test features API - if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' - run: python test_features_api.py - working-directory: client-api_python/generated/test - name: Test info API if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' run: python test_info_api.py working-directory: client-api_python/generated/test - - name: Test jobs API - if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' - run: python test_jobs_api.py - working-directory: client-api_python/generated/test - name: Test login_and_account API if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' run: python test_login_and_account_api.py @@ -112,10 +100,22 @@ jobs: if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' run: python test_projects_api.py working-directory: client-api_python/generated/test + - name: Test compounds API + if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: python test_compounds_api.py + working-directory: client-api_python/generated/test - name: Test searchable_databases API if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' run: python test_searchable_databases_api.py working-directory: client-api_python/generated/test + - name: Test features API + if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: python test_features_api.py + working-directory: client-api_python/generated/test + - name: Test jobs API + if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: python test_jobs_api.py + working-directory: client-api_python/generated/test - name: Test acceptance if: always() && steps.api_start.outcome == 'success' && steps.pysirius_install.outcome == 'success' && steps.login.outcome == 'success' run: python test_acceptance.py From ff01d647be7a3d1a05f8b6853a4198e93cbe588e Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 23:21:34 +0200 Subject: [PATCH 44/76] we should not need devtools! --- .github/workflows/RTest.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/RTest.yml b/.github/workflows/RTest.yml index 172177ab..5f854dca 100644 --- a/.github/workflows/RTest.yml +++ b/.github/workflows/RTest.yml @@ -33,7 +33,6 @@ jobs: id: rsirius_install run: | install.packages("/home/runner/work/sirius-client-openAPI/sirius-client-openAPI/client-api_r/generated", repos = NULL, type = "source") - install.packages("devtools") shell: Rscript {0} - name: Cache Sirius Release uses: actions/cache@v3 @@ -77,7 +76,5 @@ jobs: - name: Test Info API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) - library(devtools) - test_active_file("client-api_r/generated/tests/testthat/test_info_api.R") + test_file("client-api_r/generated/tests/testthat/test_info_api.R") shell: Rscript {0} \ No newline at end of file From 3b98548940a5cb839311fc857e73549489da8047 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 23:31:15 +0200 Subject: [PATCH 45/76] missing testthat library call --- .github/workflows/RTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/RTest.yml b/.github/workflows/RTest.yml index 5f854dca..677bc7f1 100644 --- a/.github/workflows/RTest.yml +++ b/.github/workflows/RTest.yml @@ -76,5 +76,5 @@ jobs: - name: Test Info API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - test_file("client-api_r/generated/tests/testthat/test_info_api.R") + testthat::test_file("client-api_r/generated/tests/testthat/test_info_api.R") shell: Rscript {0} \ No newline at end of file From 7fb122f82c38bcafa837665bea8bc77ec27c3bea Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 23:34:26 +0200 Subject: [PATCH 46/76] debugging print for python tests --- client-api_python/generated/test/test_features_api.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/client-api_python/generated/test/test_features_api.py b/client-api_python/generated/test/test_features_api.py index ef3721b7..864827cd 100644 --- a/client-api_python/generated/test/test_features_api.py +++ b/client-api_python/generated/test/test_features_api.py @@ -45,6 +45,13 @@ def setUp(self) -> None: self.aligned_feature_id = "586487307819356741" self.formula_candidates = self.api.features().get_formula_candidates(self.project_id, self.aligned_feature_id) + print("########### DEBUG ###########") + print("Project info:") + print(self.project_info) + print("Candidates for MSNovelist feature:") + print(self.formula_candidates) + print("All Features:") + print(self.api.features().get_aligned_features(self.project_id)) self.formula_id = self.formula_candidates[0].formula_id def tearDown(self) -> None: From 55bdacbd702479fe021282afbead3959b8559aaf Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 1 Oct 2025 23:44:13 +0200 Subject: [PATCH 47/76] it seems like the tomato project was not in HOME --- .github/workflows/PythonTest.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index 4fce0cc5..01e8444b 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -42,10 +42,10 @@ jobs: path: .updater/api/sirius key: sirius fail-on-cache-miss: true - - name: Download tomato_small project space - run: wget ${{ secrets.TOMATO_SMALL_DOWNLOAD_LINK }} -O tomato_small.sirius - name: Change HOME to working directory of runner run: echo "HOME=/home/runner/work/sirius-client-openAPI" >> $GITHUB_ENV + - name: Download tomato_small project space + run: wget ${{ secrets.TOMATO_SMALL_DOWNLOAD_LINK }} -O $HOME/tomato_small.sirius - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names From ffc48c407253e114a4e88b009dc4053665aa97b3 Mon Sep 17 00:00:00 2001 From: Jonas Emmert <63006948+joXemMx@users.noreply.github.com> Date: Thu, 2 Oct 2025 17:20:26 +0200 Subject: [PATCH 48/76] we need to manually cache 6.3.3-SNAPSHOT for testing --- .github/workflows/update-api.yml | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/.github/workflows/update-api.yml b/.github/workflows/update-api.yml index 69e4d5ab..eb68143a 100644 --- a/.github/workflows/update-api.yml +++ b/.github/workflows/update-api.yml @@ -20,22 +20,7 @@ jobs: timeout_minutes: 2 command: | cd .updater/api - curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - echo "Download Complete" + wget https://github.com/sirius-ms/sirius/releases/download/v6.3.3-SNAPSHOT/sirius-6.3.3-SNAPSHOT-linux-x64.zip + echo "Download Complete" unzip -o *.zip echo "Api Ready" - - name: Check cached version - uses: nick-fields/retry@v2 - with: - max_attempts: 5 - timeout_minutes: 2 - command: | - cd .updater/api - currVersion=$(cat ./sirius/HashCode) - curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - newVersion=$(cat *.sha256 | cut -d " " -f 1) - echo New Version is $newVersion - if [ "$currVersion" != "$newVersion" ]; then - sleep 1 - curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - - unzip -o *.zip - echo $newVersion > ./sirius/HashCode - fi From d76e9186fa3931ff83b6091c2a77879cd64a68c9 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Thu, 2 Oct 2025 17:25:16 +0200 Subject: [PATCH 49/76] Revert "we need to manually cache 6.3.3-SNAPSHOT for testing" This reverts commit ffc48c407253e114a4e88b009dc4053665aa97b3. --- .github/workflows/update-api.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-api.yml b/.github/workflows/update-api.yml index eb68143a..69e4d5ab 100644 --- a/.github/workflows/update-api.yml +++ b/.github/workflows/update-api.yml @@ -20,7 +20,22 @@ jobs: timeout_minutes: 2 command: | cd .updater/api - wget https://github.com/sirius-ms/sirius/releases/download/v6.3.3-SNAPSHOT/sirius-6.3.3-SNAPSHOT-linux-x64.zip - echo "Download Complete" + curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - echo "Download Complete" unzip -o *.zip echo "Api Ready" + - name: Check cached version + uses: nick-fields/retry@v2 + with: + max_attempts: 5 + timeout_minutes: 2 + command: | + cd .updater/api + currVersion=$(cat ./sirius/HashCode) + curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - newVersion=$(cat *.sha256 | cut -d " " -f 1) + echo New Version is $newVersion + if [ "$currVersion" != "$newVersion" ]; then + sleep 1 + curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - + unzip -o *.zip + echo $newVersion > ./sirius/HashCode + fi From 309b3c79ebc2568a939436f6f2f50157fabdd366 Mon Sep 17 00:00:00 2001 From: Jonas Emmert <63006948+joXemMx@users.noreply.github.com> Date: Thu, 2 Oct 2025 17:39:21 +0200 Subject: [PATCH 50/76] Make the test pipeline run again and pass all current, manually validated tests (#164) Important changes for future reference: - select_header in api_client.mustache needed indexing adjustment [[1]] instead of [1] - tomato_small.sirius was moved as prerelease asset for download via wget, as university cloud does not allow download from link anymore * error 423 seems tomato_small is locked, may be due to rights * add missing tests * fix filename * still need to load Rsirius (NOT done automatically by testthat) * remove debug prints * explicitly set sirius_port * use custom multireporter * remove deliberate fail * remove old TODO * quick change to cache 6.3.3-SNAPSHOT specifically * use wget * fix list indexing in select_header * set await_deletion for job deletion * reset update-api for now * non-verbose wget --- .github/workflows/NewUpdate.yml | 8 +- .github/workflows/PythonTest.yml | 4 +- .github/workflows/RTest.yml | 75 ++++++++++++++++++- .github/workflows/update-api.yml | 8 +- .../generated/test/test_features_api.py | 7 -- client-api_r/generated/R/api_client.R | 2 +- .../tests/testthat/test_acceptance.R | 2 +- .../tests/testthat/test_actuator_api.R | 2 +- .../tests/testthat/test_compounds_api.R | 2 +- .../tests/testthat/test_features_api.R | 2 +- .../generated/tests/testthat/test_info_api.R | 2 +- .../generated/tests/testthat/test_jobs_api.R | 6 +- .../testthat/test_login_and_account_api.R | 3 +- .../tests/testthat/test_projects_api.R | 2 +- .../testthat/test_searchable_databases_api.R | 2 +- client-api_r/templates/r/api_client.mustache | 2 +- 16 files changed, 96 insertions(+), 33 deletions(-) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index 73acd205..1e2b2d21 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -20,7 +20,7 @@ jobs: - name: Download latest generators run: | cd .updater/openapi_generator - wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar -O openapi-generator-cli.jar + wget -nv https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar -O openapi-generator-cli.jar java -jar openapi-generator-cli.jar version > version - name: Download latest Sirius Release uses: nick-fields/retry@v2 @@ -34,7 +34,7 @@ jobs: echo "Writing Version files: $packageVersion" echo $packageVersion > ./packageVersion.txt echo "Downloading Version: $packageVersion" - cat ./releases.json | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - + cat ./releases.json | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -nv -i - echo "Download Complete" unzip *.zip echo "Api Ready" @@ -45,7 +45,7 @@ jobs: run: | while ! nc -z localhost 8080; do sleep 0.1; done cd .updater/api - wget http://localhost:8080/v3/api-docs -O api-docs-strings.json + wget -nv http://localhost:8080/v3/api-docs -O api-docs-strings.json - name: Shutdown SIRIUS run: curl -X POST http://localhost:8080/actuator/shutdown - name: Run Rest Api with enums @@ -55,7 +55,7 @@ jobs: run: | while ! nc -z localhost 8080; do sleep 0.1; done cd .updater/api - wget http://localhost:8080/v3/api-docs -O api-docs-enums.json + wget -nv http://localhost:8080/v3/api-docs -O api-docs-enums.json - name: Shutdown SIRIUS run: curl -X POST http://localhost:8080/actuator/shutdown - name: Update Clients diff --git a/.github/workflows/PythonTest.yml b/.github/workflows/PythonTest.yml index 01e8444b..d37b5e2d 100644 --- a/.github/workflows/PythonTest.yml +++ b/.github/workflows/PythonTest.yml @@ -45,7 +45,9 @@ jobs: - name: Change HOME to working directory of runner run: echo "HOME=/home/runner/work/sirius-client-openAPI" >> $GITHUB_ENV - name: Download tomato_small project space - run: wget ${{ secrets.TOMATO_SMALL_DOWNLOAD_LINK }} -O $HOME/tomato_small.sirius + run: | + wget -nv ${{ secrets.TOMATO_SMALL_DOWNLOAD_LINK }} -O $HOME/tomato_small.sirius + chmod 666 $HOME/tomato_small.sirius - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names diff --git a/.github/workflows/RTest.yml b/.github/workflows/RTest.yml index 677bc7f1..a8016185 100644 --- a/.github/workflows/RTest.yml +++ b/.github/workflows/RTest.yml @@ -40,10 +40,12 @@ jobs: path: .updater/api/sirius key: sirius fail-on-cache-miss: true - - name: Download tomato_small project space - run: wget ${{ secrets.TOMATO_SMALL_DOWNLOAD_LINK }} -O tomato_small.sirius - name: Change HOME to working directory of runner run: echo "HOME=/home/runner/work/sirius-client-openAPI" >> $GITHUB_ENV + - name: Download tomato_small project space + run: | + wget -nv ${{ secrets.TOMATO_SMALL_DOWNLOAD_LINK }} -O $HOME/tomato_small.sirius + chmod 666 $HOME/tomato_small.sirius - name: Check SIRIUS download run: | echo "Show content of cache download (.updater/api/)" @@ -73,8 +75,75 @@ jobs: quit(status=1) } shell: Rscript {0} + - name: Test Actuator API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_actuator_api.R", reporter=multi_reporter) + shell: Rscript {0} - name: Test Info API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - testthat::test_file("client-api_r/generated/tests/testthat/test_info_api.R") + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_info_api.R", reporter=multi_reporter) + shell: Rscript {0} + - name: Test Login and Account API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_login_and_account_api.R", reporter=multi_reporter) + shell: Rscript {0} + - name: Test Projects API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_projects_api.R", reporter=multi_reporter) + shell: Rscript {0} + - name: Test Compounds API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_compounds_api.R", reporter=multi_reporter) + shell: Rscript {0} + - name: Test Databases API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_searchable_databases_api.R", reporter=multi_reporter) + shell: Rscript {0} + - name: Test Features API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_features_api.R", reporter=multi_reporter) + shell: Rscript {0} + - name: Test Jobs API + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_jobs_api.R", reporter=multi_reporter) + shell: Rscript {0} + - name: Test acceptance + if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' + run: | + library(Rsirius) + library(testthat) + multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) + test_file("client-api_r/generated/tests/testthat/test_acceptance.R", reporter=multi_reporter) shell: Rscript {0} \ No newline at end of file diff --git a/.github/workflows/update-api.yml b/.github/workflows/update-api.yml index 69e4d5ab..37293bb0 100644 --- a/.github/workflows/update-api.yml +++ b/.github/workflows/update-api.yml @@ -20,7 +20,7 @@ jobs: timeout_minutes: 2 command: | cd .updater/api - curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - echo "Download Complete" + curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -nv -i - echo "Download Complete" unzip -o *.zip echo "Api Ready" - name: Check cached version @@ -31,11 +31,11 @@ jobs: command: | cd .updater/api currVersion=$(cat ./sirius/HashCode) - curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - newVersion=$(cat *.sha256 | cut -d " " -f 1) + curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -nv -i - newVersion=$(cat *.sha256 | cut -d " " -f 1) echo New Version is $newVersion if [ "$currVersion" != "$newVersion" ]; then sleep 1 - curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -i - + curl -s https://api.github.com/repositories/94561614/releases | grep 'browser_download_url.*linux-x64.zip\"' | sort | tac | head -n 1 | cut -d : -f 2,3 | tr -d \" | wget -nv -i - unzip -o *.zip echo $newVersion > ./sirius/HashCode - fi + fi \ No newline at end of file diff --git a/client-api_python/generated/test/test_features_api.py b/client-api_python/generated/test/test_features_api.py index 864827cd..ef3721b7 100644 --- a/client-api_python/generated/test/test_features_api.py +++ b/client-api_python/generated/test/test_features_api.py @@ -45,13 +45,6 @@ def setUp(self) -> None: self.aligned_feature_id = "586487307819356741" self.formula_candidates = self.api.features().get_formula_candidates(self.project_id, self.aligned_feature_id) - print("########### DEBUG ###########") - print("Project info:") - print(self.project_info) - print("Candidates for MSNovelist feature:") - print(self.formula_candidates) - print("All Features:") - print(self.api.features().get_aligned_features(self.project_id)) self.formula_id = self.formula_candidates[0].formula_id def tearDown(self) -> None: diff --git a/client-api_r/generated/R/api_client.R b/client-api_r/generated/R/api_client.R index 75b12a32..4257ae14 100644 --- a/client-api_r/generated/R/api_client.R +++ b/client-api_r/generated/R/api_client.R @@ -414,7 +414,7 @@ ApiClient <- R6::R6Class( } # not json mime type, simply return the first one - return(headers[1]) + return(headers[[1]]) } } ) diff --git a/client-api_r/generated/tests/testthat/test_acceptance.R b/client-api_r/generated/tests/testthat/test_acceptance.R index f6fbb152..dc829492 100644 --- a/client-api_r/generated/tests/testthat/test_acceptance.R +++ b/client-api_r/generated/tests/testthat/test_acceptance.R @@ -5,7 +5,7 @@ context("Test Acceptance") options(warn = -1) sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$jobs_api features_api <- api$features_api projects_api <- api$projects_api diff --git a/client-api_r/generated/tests/testthat/test_actuator_api.R b/client-api_r/generated/tests/testthat/test_actuator_api.R index e1f968ff..8fe91be9 100644 --- a/client-api_r/generated/tests/testthat/test_actuator_api.R +++ b/client-api_r/generated/tests/testthat/test_actuator_api.R @@ -4,7 +4,7 @@ context("Test ActuatorApi") sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$actuator_api test_that("Health", { diff --git a/client-api_r/generated/tests/testthat/test_compounds_api.R b/client-api_r/generated/tests/testthat/test_compounds_api.R index 76bf1224..c991ca67 100644 --- a/client-api_r/generated/tests/testthat/test_compounds_api.R +++ b/client-api_r/generated/tests/testthat/test_compounds_api.R @@ -4,7 +4,7 @@ context("Test CompoundsApi") sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$compounds_api projects_api <- api$projects_api diff --git a/client-api_r/generated/tests/testthat/test_features_api.R b/client-api_r/generated/tests/testthat/test_features_api.R index 6112cf7d..4cdb7910 100644 --- a/client-api_r/generated/tests/testthat/test_features_api.R +++ b/client-api_r/generated/tests/testthat/test_features_api.R @@ -5,7 +5,7 @@ context("Test FeaturesApi") options(warn = -1) sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$features_api projects_api <- api$projects_api diff --git a/client-api_r/generated/tests/testthat/test_info_api.R b/client-api_r/generated/tests/testthat/test_info_api.R index bd15022f..2175ef63 100644 --- a/client-api_r/generated/tests/testthat/test_info_api.R +++ b/client-api_r/generated/tests/testthat/test_info_api.R @@ -4,7 +4,7 @@ context("Test InfoApi") sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$info_api test_that("GetConnectionCheck", { diff --git a/client-api_r/generated/tests/testthat/test_jobs_api.R b/client-api_r/generated/tests/testthat/test_jobs_api.R index 619702da..b48a97d4 100644 --- a/client-api_r/generated/tests/testthat/test_jobs_api.R +++ b/client-api_r/generated/tests/testthat/test_jobs_api.R @@ -5,7 +5,7 @@ context("Test JobsApi") options(warn=-1) sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$jobs_api features_api <- api$features_api projects_api <- api$projects_api @@ -32,7 +32,7 @@ test_that("DeleteJob", { projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) response_before <- api_instance$GetJobs(project_id) - api_instance$DeleteJob(project_id, response_before[[1]]$id) + api_instance$DeleteJob(project_id, response_before[[1]]$id, await_deletion=TRUE) response_after <- api_instance$GetJobs(project_id) expect_equal(length(response_before), length(response_after)+1) @@ -92,7 +92,7 @@ test_that("DeleteJobs", { projects_api$ImportPreprocessedDataAsJob(project_id, input_files=input_file) response_before <- api_instance$GetJobs(project_id) - api_instance$DeleteJobs(project_id) + api_instance$DeleteJobs(project_id, await_deletion=TRUE) response_after <- api_instance$GetJobs(project_id) expect_equal(length(response_before), length(response_after)+1) diff --git a/client-api_r/generated/tests/testthat/test_login_and_account_api.R b/client-api_r/generated/tests/testthat/test_login_and_account_api.R index 2cc778e0..57c54c73 100644 --- a/client-api_r/generated/tests/testthat/test_login_and_account_api.R +++ b/client-api_r/generated/tests/testthat/test_login_and_account_api.R @@ -4,7 +4,7 @@ context("Test LoginAndAccountApi") sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$login_and_account_api test_that("GetAccountInfo", { @@ -26,7 +26,6 @@ test_that("GetSignUpURL", { # Get SignUp URL (For signUp via web browser) # @return [character] - # TODO deserialize error response <- api_instance$GetSignUpURL() expect_true(inherits(response, "character")) }) diff --git a/client-api_r/generated/tests/testthat/test_projects_api.R b/client-api_r/generated/tests/testthat/test_projects_api.R index 0a8dcbc6..b03e16a5 100644 --- a/client-api_r/generated/tests/testthat/test_projects_api.R +++ b/client-api_r/generated/tests/testthat/test_projects_api.R @@ -4,7 +4,7 @@ context("Test ProjectsApi") sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$projects_api path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/clientTests/Data", sep = "/") preproc_ms2_file_1 <- paste(path_to_demo_data, "Kaempferol.ms", sep = "/") diff --git a/client-api_r/generated/tests/testthat/test_searchable_databases_api.R b/client-api_r/generated/tests/testthat/test_searchable_databases_api.R index df343110..f2759e9a 100644 --- a/client-api_r/generated/tests/testthat/test_searchable_databases_api.R +++ b/client-api_r/generated/tests/testthat/test_searchable_databases_api.R @@ -4,7 +4,7 @@ context("Test SearchableDatabasesApi") sdk <- SiriusSDK$new() -api <- sdk$attach_to_sirius() +api <- sdk$attach_to_sirius(sirius_port=8080) api_instance <- api$searchable_databases_api home_dir <- Sys.getenv("HOME") path_to_demo_data <- paste(home_dir, "sirius-client-openAPI/.updater/clientTests/Data", sep = "/") diff --git a/client-api_r/templates/r/api_client.mustache b/client-api_r/templates/r/api_client.mustache index cb2fa4af..34458ad0 100644 --- a/client-api_r/templates/r/api_client.mustache +++ b/client-api_r/templates/r/api_client.mustache @@ -477,7 +477,7 @@ ApiClient <- R6::R6Class( } # not json mime type, simply return the first one - return(headers[1]) + return(headers[[1]]) } } ) From 28f6e48b29c9ac10a6d54534c5fba1214814919d Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 8 Oct 2025 11:36:59 +0200 Subject: [PATCH 51/76] uncomment the getting started readme for R --- client-api_r/README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/client-api_r/README.md b/client-api_r/README.md index 9f1a917a..35876db7 100644 --- a/client-api_r/README.md +++ b/client-api_r/README.md @@ -38,8 +38,7 @@ library('Rsirius') ``` ## Getting Started -Being updated! Coming soon... - + ### SiriusSDK class For more niche functionality and insights, find the SiriusSDK class [here](SiriusSDK.R). From 3db18c863a22ff2b366eefb79973a55ef259a921 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 8 Oct 2025 14:42:19 +0200 Subject: [PATCH 52/76] homogenize and improve wait_for_job function --- .../CondaFeedstockMinimalTests/PythonFeedstockTest.py | 11 +++++------ .../CondaFeedstockMinimalTests/RFeedstockTest.R | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py b/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py index 02b08e7a..4b4bcca7 100644 --- a/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py +++ b/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py @@ -4,7 +4,10 @@ api = SiriusSDK().attach_or_start_sirius(headless=True) -time.sleep(10) +def wait_for_job(project_id, job_id): + while api.jobs().get_job(project_id, job_id).progress.state not in ["CANCELED", "FAILED", "DONE"]: + time.sleep(1) + ps_info = api.projects().create_project_space("testProject", os.path.abspath("./testProject.sirius")) path = os.getenv('RECIPE_DIR') + "/Kaempferol.ms" path = os.path.abspath(path) @@ -21,11 +24,7 @@ jobSub.ms_novelist_params.enabled = False job = api.jobs().start_job(project_id=ps_info.project_id, job_submission=jobSub) -while True: - if api.jobs().get_job(ps_info.project_id, job.id).progress.state != 'DONE': - time.sleep(10) - else: - break +wait_for_job(ps_info.project_id, job.id) formula_id = api.features().get_aligned_feature(ps_info.project_id, featureId, [AlignedFeatureOptField.TOPANNOTATIONS] ).top_annotations.formula_annotation.formula_id diff --git a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R index f3798026..04a500bc 100644 --- a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R +++ b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R @@ -6,7 +6,7 @@ sdk <- SiriusSDK$new() sirius_api <- sdk$attach_or_start_sirius() wait_for_job <- function(project_id, job) { - while (sirius_api$jobs_api$GetJob(project_id, job$id)$progress$state != "DONE") { + while (!(sirius_api$jobs_api$GetJob(project_id, job$id)$progress$state %in% c("CANCELED", "FAILED", "DONE"))) { Sys.sleep(1) } } From f1d2a915fac4cabcd50f2244ddb1959739f551ef Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 8 Oct 2025 17:47:22 +0200 Subject: [PATCH 53/76] helper class for R, homogenize SDK file name --- .github/workflows/NewUpdate.yml | 4 +++- .../RFeedstockTest.R | 11 +++-------- client-api_r/generated/NAMESPACE | 1 + client-api_r/generated/R/rsirius_helper.R | 19 +++++++++++++++++++ .../R/rsirius_sdk.R} | 0 .../tests/testthat/test_acceptance.R | 6 +----- .../generated/tests/testthat/test_jobs_api.R | 8 ++------ client-api_r/rsirius_helper.R | 19 +++++++++++++++++++ .../R/SiriusSDK.R => rsirius_sdk.R} | 0 9 files changed, 48 insertions(+), 20 deletions(-) create mode 100644 client-api_r/generated/R/rsirius_helper.R rename client-api_r/{SiriusSDK.R => generated/R/rsirius_sdk.R} (100%) create mode 100644 client-api_r/rsirius_helper.R rename client-api_r/{generated/R/SiriusSDK.R => rsirius_sdk.R} (100%) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index 1e2b2d21..19427276 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -96,10 +96,12 @@ jobs: echo "from PySirius.sirius import SiriusSDK" >> client-api_python/generated/PySirius/__init__.py - name: Format R package run: | - cp client-api_r/SiriusSDK.R client-api_r/generated/R/SiriusSDK.R + cp client-api_r/rsirius_sdk.R client-api_r/generated/R/rsirius_sdk.R + cp client-api_r/rsirius_helper.R client-api_r/generated/R/rsirius_helper.R echo >> client-api_r/generated/NAMESPACE echo "# SDK" >> client-api_r/generated/NAMESPACE echo "export(SiriusSDK)" >> client-api_r/generated/NAMESPACE + echo "export(Helper)" >> client-api_r/generated/NAMESPACE chmod +x ./client-api_r/patches/list_syntax_fix.sh ./client-api_r/patches/list_syntax_fix.sh diff --git a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R index 04a500bc..73b8d22e 100644 --- a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R +++ b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R @@ -5,12 +5,6 @@ library('Rsirius') sdk <- SiriusSDK$new() sirius_api <- sdk$attach_or_start_sirius() -wait_for_job <- function(project_id, job) { - while (!(sirius_api$jobs_api$GetJob(project_id, job$id)$progress$state %in% c("CANCELED", "FAILED", "DONE"))) { - Sys.sleep(1) - } -} - project_id <- "test_project" project_dir <- paste(Sys.getenv('SRC_DIR'), project_id, sep="/") sirius_api$projects_api$CreateProjectSpace(project_id, project_dir) @@ -25,11 +19,12 @@ job_submission$fingerprintPredictionParams$enabled <- FALSE job_submission$structureDbSearchParams$enabled <- FALSE job_submission$canopusParams$enabled <- FALSE job_submission$msNovelistParams$enabled <- FALSE + job <- sirius_api$jobs_api$StartJob(project_id, job_submission) -wait_for_job(project_id, job) +Helper$new()$wait_for_job_completion(project_id, job$id, sirius_api$jobs_api) aligned_feature_id <- sirius_api$features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId -formula_id <- sirius_api$features_api$GetFormulaCandidates(project_id, aligned_feature_id)[[1]]$formulaId +formula_id <- sirius_api$features_api$GetAlignedFeature(project_id, aligned_feature_id, opt_fields = list("topAnnotations"))$topAnnotations$formulaAnnotation$formulaId tree <- sirius_api$features_api$GetFragTree(project_id, aligned_feature_id, formula_id) write(tree$toJSONString(), "test_fragtree.json") diff --git a/client-api_r/generated/NAMESPACE b/client-api_r/generated/NAMESPACE index c998f4b4..e1912854 100644 --- a/client-api_r/generated/NAMESPACE +++ b/client-api_r/generated/NAMESPACE @@ -136,3 +136,4 @@ export(TagsApi) # SDK export(SiriusSDK) +export(Helper) diff --git a/client-api_r/generated/R/rsirius_helper.R b/client-api_r/generated/R/rsirius_helper.R new file mode 100644 index 00000000..8b4fc2d3 --- /dev/null +++ b/client-api_r/generated/R/rsirius_helper.R @@ -0,0 +1,19 @@ +Helper <- R6::R6Class( + "Helper", + public = list( + wait_for_job_completion = function(project_id, job_id, jobs_api) { + if (inherits(jobs_api, "rsirius_api")) { + jobs_api <- jobs_api$jobs_api + } + if (inherits(project_id, "ProjectInfo")) { + project_id <- project_id$projectId + } + if (inherits(job_id, "Job")) { + job_id <- job_id$id + } + while (!(jobs_api$GetJob(project_id, job_id)$progress$state %in% c("CANCELED", "FAILED", "DONE"))) { + Sys.sleep(1) + } + } + ) +) diff --git a/client-api_r/SiriusSDK.R b/client-api_r/generated/R/rsirius_sdk.R similarity index 100% rename from client-api_r/SiriusSDK.R rename to client-api_r/generated/R/rsirius_sdk.R diff --git a/client-api_r/generated/tests/testthat/test_acceptance.R b/client-api_r/generated/tests/testthat/test_acceptance.R index dc829492..264f3891 100644 --- a/client-api_r/generated/tests/testthat/test_acceptance.R +++ b/client-api_r/generated/tests/testthat/test_acceptance.R @@ -33,11 +33,7 @@ test_that("Test Acceptance", { job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) response <- api_instance$StartJob(project_id, job_submission) - while (api_instance$GetJob(project_id, response$id)$ - progress$ - state == "RUNNING") { - Sys.sleep(1) - } + Helper$new()$wait_for_job_completion(project_id, response$id, api_instance) formula_candidate <- features_api$GetAlignedFeature(project_id, job_submission$alignedFeatureIds[[1]], opt_fields = list("topAnnotations"))$ topAnnotations$ diff --git a/client-api_r/generated/tests/testthat/test_jobs_api.R b/client-api_r/generated/tests/testthat/test_jobs_api.R index b48a97d4..304c3b05 100644 --- a/client-api_r/generated/tests/testthat/test_jobs_api.R +++ b/client-api_r/generated/tests/testthat/test_jobs_api.R @@ -324,9 +324,7 @@ test_that("StartJob", { job_submission$alignedFeatureIds <- list(features_api$GetAlignedFeatures(project_id)[[1]]$alignedFeatureId) response <- api_instance$StartJob(project_id, job_submission) - while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { - Sys.sleep(1) - } + Helper$new()$wait_for_job_completion(project_id, response$id, api_instance) expect_true(inherits(response, "Job")) @@ -368,9 +366,7 @@ test_that("StartJobFromConfig", { api_instance$SaveJobConfig(project_id, job_submission, TRUE) response <- api_instance$StartJobFromConfig(project_id, project_id, job_submission$alignedFeatureIds) - while (api_instance$GetJob(project_id, response$id)$progress$state == "RUNNING") { - Sys.sleep(1) - } + Helper$new()$wait_for_job_completion(project_id, response$id, api_instance) expect_true(inherits(response, "Job")) diff --git a/client-api_r/rsirius_helper.R b/client-api_r/rsirius_helper.R new file mode 100644 index 00000000..8b4fc2d3 --- /dev/null +++ b/client-api_r/rsirius_helper.R @@ -0,0 +1,19 @@ +Helper <- R6::R6Class( + "Helper", + public = list( + wait_for_job_completion = function(project_id, job_id, jobs_api) { + if (inherits(jobs_api, "rsirius_api")) { + jobs_api <- jobs_api$jobs_api + } + if (inherits(project_id, "ProjectInfo")) { + project_id <- project_id$projectId + } + if (inherits(job_id, "Job")) { + job_id <- job_id$id + } + while (!(jobs_api$GetJob(project_id, job_id)$progress$state %in% c("CANCELED", "FAILED", "DONE"))) { + Sys.sleep(1) + } + } + ) +) diff --git a/client-api_r/generated/R/SiriusSDK.R b/client-api_r/rsirius_sdk.R similarity index 100% rename from client-api_r/generated/R/SiriusSDK.R rename to client-api_r/rsirius_sdk.R From 42d48e1800dc90876aaafa10aa3f0904ca410d37 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 8 Oct 2025 17:48:30 +0200 Subject: [PATCH 54/76] cleaner R readme --- client-api_r/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client-api_r/README.md b/client-api_r/README.md index 35876db7..e24f339d 100644 --- a/client-api_r/README.md +++ b/client-api_r/README.md @@ -66,7 +66,7 @@ If you installed from GitHub or a local folder manually and do **not** have SIRI ```R library('Rsirius') sdk <- SiriusSDK$new() -api = sdk$start_sirius(sirius_path="your/path/to/sirius", port=8080) +api <- sdk$start_sirius(sirius_path="your/path/to/sirius", port=8080) ``` You can also attach to a running SIRIUS instance: @@ -74,7 +74,7 @@ You can also attach to a running SIRIUS instance: ```R library('Rsirius') sdk <- SiriusSDK$new() -api = sdk$attach_to_sirius(sirius_major_version=6, port=8080) +api <- sdk$attach_to_sirius(sirius_major_version=6, port=8080) ``` ### Remote Endpoint @@ -84,12 +84,12 @@ Please follow the [installation procedure](#installation--usage) and then run th ```R library('Rsirius') sdk <- SiriusSDK$new() -api = sdk$connect("http://localhost:8080") +api <- sdk$connect("http://localhost:8080") ``` ### SiriusSDK class -For more niche functionality and insights, find the SiriusSDK class [here](SiriusSDK.R). +For more niche functionality and insights, find the SiriusSDK class [here](rsirius_sdk.R). ### Example code Our feedstocks for the conda-forge packages are running an automated minimal test. From 0aa549a991da005e306e5053bc59f3ea29acffa4 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 8 Oct 2025 18:38:46 +0200 Subject: [PATCH 55/76] add python helper, homogenize filenames --- .github/workflows/NewUpdate.yml | 10 ++++++---- client-api_python/README.md | 2 +- .../generated/PySirius/__init__.py | 5 +++-- .../{sirius_api.py => pysirius_api.py} | 0 .../generated/PySirius/pysirius_helper.py | 20 +++++++++++++++++++ .../PySirius/{sirius.py => pysirius_sdk.py} | 1 - .../{sirius_api.py => pysirius_api.py} | 0 client-api_python/pysirius_helper.py | 20 +++++++++++++++++++ .../{sirius.py => pysirius_sdk.py} | 1 - 9 files changed, 50 insertions(+), 9 deletions(-) rename client-api_python/generated/PySirius/{sirius_api.py => pysirius_api.py} (100%) create mode 100644 client-api_python/generated/PySirius/pysirius_helper.py rename client-api_python/generated/PySirius/{sirius.py => pysirius_sdk.py} (99%) rename client-api_python/{sirius_api.py => pysirius_api.py} (100%) create mode 100644 client-api_python/pysirius_helper.py rename client-api_python/{sirius.py => pysirius_sdk.py} (99%) diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index 19427276..ba905326 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -87,13 +87,15 @@ jobs: echo "generating Finished!" - name: Format Python Package run: | - cp client-api_python/sirius_api.py client-api_python/generated/PySirius - cp client-api_python/sirius.py client-api_python/generated/PySirius + cp client-api_python/pysirius_api.py client-api_python/generated/PySirius + cp client-api_python/pysirius_sdk.py client-api_python/generated/PySirius + cp client-api_python/pysirius_helper.py client-api_python/generated/PySirius echo >> client-api_python/generated/PySirius/__init__.py echo "# import manually generated API and SDK files" >> client-api_python/generated/PySirius/__init__.py - echo "from PySirius.sirius_api import PySiriusAPI" >> client-api_python/generated/PySirius/__init__.py - echo "from PySirius.sirius import SiriusSDK" >> client-api_python/generated/PySirius/__init__.py + echo "from PySirius.pysirius_api import PySiriusAPI" >> client-api_python/generated/PySirius/__init__.py + echo "from PySirius.pysirius_sdk import SiriusSDK" >> client-api_python/generated/PySirius/__init__.py + echo "from PySirius.pysirius_helper import Helper" >> client-api_python/generated/PySirius/__init__.py - name: Format R package run: | cp client-api_r/rsirius_sdk.R client-api_r/generated/R/rsirius_sdk.R diff --git a/client-api_python/README.md b/client-api_python/README.md index 3498eb62..6dfcf4db 100644 --- a/client-api_python/README.md +++ b/client-api_python/README.md @@ -106,7 +106,7 @@ api = sdk.connect("http://localhost:8080") ### SiriusSDK class -For more niche functionality and insights, find the SiriusSDK class [here](sirius.py). +For more niche functionality and insights, find the SiriusSDK class [here](pysirius_sdk.py). ### Example code Our feedstocks for the conda-forge packages are running an automated minimal test. diff --git a/client-api_python/generated/PySirius/__init__.py b/client-api_python/generated/PySirius/__init__.py index f2b447ee..468ab854 100644 --- a/client-api_python/generated/PySirius/__init__.py +++ b/client-api_python/generated/PySirius/__init__.py @@ -181,5 +181,6 @@ from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring # import manually generated API and SDK files -from PySirius.sirius_api import PySiriusAPI -from PySirius.sirius import SiriusSDK \ No newline at end of file +from PySirius.pysirius_api import PySiriusAPI +from PySirius.pysirius_sdk import SiriusSDK +from PySirius.pysirius_helper import Helper \ No newline at end of file diff --git a/client-api_python/generated/PySirius/sirius_api.py b/client-api_python/generated/PySirius/pysirius_api.py similarity index 100% rename from client-api_python/generated/PySirius/sirius_api.py rename to client-api_python/generated/PySirius/pysirius_api.py diff --git a/client-api_python/generated/PySirius/pysirius_helper.py b/client-api_python/generated/PySirius/pysirius_helper.py new file mode 100644 index 00000000..0a9ce4d9 --- /dev/null +++ b/client-api_python/generated/PySirius/pysirius_helper.py @@ -0,0 +1,20 @@ +# THIS FILE IS NOT AUTO GENERATED AND MIGHT NEED TO BE CHANGED WHEN API ENDPOINTS CHANGE + +import time +import PySirius +from PySirius import PySiriusAPI, ProjectInfo, Job + + +class Helper: + """helper methods for ease of use of the SDK""" + + @staticmethod + def wait_for_job_completion(project_id, job_id, jobs_api): + if isinstance(jobs_api, PySiriusAPI): + jobs_api = jobs_api.jobs() + if isinstance(project_id, ProjectInfo): + project_id = project_id.project_id + if isinstance(job_id, Job): + job_id = job_id.id + while jobs_api.get_job(project_id, job_id).progress.state not in ["CANCELED", "FAILED", "DONE"]: + time.sleep(1) \ No newline at end of file diff --git a/client-api_python/generated/PySirius/sirius.py b/client-api_python/generated/PySirius/pysirius_sdk.py similarity index 99% rename from client-api_python/generated/PySirius/sirius.py rename to client-api_python/generated/PySirius/pysirius_sdk.py index 161eb005..3c053086 100644 --- a/client-api_python/generated/PySirius/sirius.py +++ b/client-api_python/generated/PySirius/pysirius_sdk.py @@ -1,7 +1,6 @@ # THIS FILE IS NOT AUTO GENERATED AND MIGHT NEED TO BE CHANGED WHEN API ENDPOINTS CHANGE import os -import sys import time import glob import signal diff --git a/client-api_python/sirius_api.py b/client-api_python/pysirius_api.py similarity index 100% rename from client-api_python/sirius_api.py rename to client-api_python/pysirius_api.py diff --git a/client-api_python/pysirius_helper.py b/client-api_python/pysirius_helper.py new file mode 100644 index 00000000..0a9ce4d9 --- /dev/null +++ b/client-api_python/pysirius_helper.py @@ -0,0 +1,20 @@ +# THIS FILE IS NOT AUTO GENERATED AND MIGHT NEED TO BE CHANGED WHEN API ENDPOINTS CHANGE + +import time +import PySirius +from PySirius import PySiriusAPI, ProjectInfo, Job + + +class Helper: + """helper methods for ease of use of the SDK""" + + @staticmethod + def wait_for_job_completion(project_id, job_id, jobs_api): + if isinstance(jobs_api, PySiriusAPI): + jobs_api = jobs_api.jobs() + if isinstance(project_id, ProjectInfo): + project_id = project_id.project_id + if isinstance(job_id, Job): + job_id = job_id.id + while jobs_api.get_job(project_id, job_id).progress.state not in ["CANCELED", "FAILED", "DONE"]: + time.sleep(1) \ No newline at end of file diff --git a/client-api_python/sirius.py b/client-api_python/pysirius_sdk.py similarity index 99% rename from client-api_python/sirius.py rename to client-api_python/pysirius_sdk.py index 161eb005..3c053086 100644 --- a/client-api_python/sirius.py +++ b/client-api_python/pysirius_sdk.py @@ -1,7 +1,6 @@ # THIS FILE IS NOT AUTO GENERATED AND MIGHT NEED TO BE CHANGED WHEN API ENDPOINTS CHANGE import os -import sys import time import glob import signal From 6d3afc586a48250d0015c89e1313e6843ca24def Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 8 Oct 2025 18:39:04 +0200 Subject: [PATCH 56/76] use helper in tests and simplify imports --- .../generated/test/test_acceptance.py | 11 ++-------- .../generated/test/test_actuator_api.py | 6 ++---- .../generated/test/test_compounds_api.py | 6 +----- .../generated/test/test_features_api.py | 19 +----------------- .../generated/test/test_info_api.py | 7 +------ .../generated/test/test_jobs_api.py | 20 +++---------------- .../test/test_login_and_account_api.py | 5 +---- .../generated/test/test_projects_api.py | 7 +------ .../test/test_searchable_databases_api.py | 8 +------- 9 files changed, 13 insertions(+), 76 deletions(-) diff --git a/client-api_python/generated/test/test_acceptance.py b/client-api_python/generated/test/test_acceptance.py index cf8db357..6314e4c2 100644 --- a/client-api_python/generated/test/test_acceptance.py +++ b/client-api_python/generated/test/test_acceptance.py @@ -1,8 +1,6 @@ import unittest import os -import time - -from PySirius import SiriusSDK, AlignedFeatureOptField, FragmentationTree, FormulaCandidate, JobState +from PySirius import SiriusSDK, AlignedFeatureOptField, FragmentationTree, FormulaCandidate, JobState, Helper # a general purpose acceptance test that tests basic packe behaviour and can be used as blueprint for testing packages in CI/CD pipelines class TestAcceptance(unittest.TestCase): @@ -35,12 +33,7 @@ def test_simple_computation(self): job_sub.ms_novelist_params.enabled = False job = api.jobs().start_job(project_id=ps_info.project_id, job_submission=job_sub) - - while True: - if api.jobs().get_job(ps_info.project_id, job.id).progress.state is not JobState.DONE: - time.sleep(1) - else: - break + Helper.wait_for_job_completion(ps_info, job, api) formula_candidate = api.features().get_aligned_feature(ps_info.project_id, feature_id, opt_fields=["topAnnotations"]).top_annotations.formula_annotation tree = api.features().get_frag_tree(ps_info.project_id, feature_id, formula_candidate.formula_id) diff --git a/client-api_python/generated/test/test_actuator_api.py b/client-api_python/generated/test/test_actuator_api.py index daf33631..9f945c79 100644 --- a/client-api_python/generated/test/test_actuator_api.py +++ b/client-api_python/generated/test/test_actuator_api.py @@ -10,16 +10,14 @@ import unittest - -import PySirius -from PySirius import SiriusSDK +from PySirius import SiriusSDK, ActuatorApi class TestActuatorApi(unittest.TestCase): """ActuatorApi unit test stubs""" def setUp(self) -> None: - self.api = PySirius.ActuatorApi(SiriusSDK().attach_to_sirius(sirius_port=8080).get_client()) + self.api = ActuatorApi(SiriusSDK().attach_to_sirius(sirius_port=8080).get_client()) def tearDown(self) -> None: pass diff --git a/client-api_python/generated/test/test_compounds_api.py b/client-api_python/generated/test/test_compounds_api.py index 21283e85..011758db 100644 --- a/client-api_python/generated/test/test_compounds_api.py +++ b/client-api_python/generated/test/test_compounds_api.py @@ -12,11 +12,7 @@ import os import json import unittest - -import PySirius -from PySirius import PySiriusAPI, SiriusSDK, PagedModelCompound -from PySirius.models.compound import Compound -from PySirius.models.compound_import import CompoundImport +from PySirius import PySiriusAPI, SiriusSDK, PagedModelCompound, Compound, CompoundImport class TestCompoundsApi(unittest.TestCase): diff --git a/client-api_python/generated/test/test_features_api.py b/client-api_python/generated/test/test_features_api.py index ef3721b7..dd4aca5e 100644 --- a/client-api_python/generated/test/test_features_api.py +++ b/client-api_python/generated/test/test_features_api.py @@ -11,24 +11,7 @@ import os import unittest import json - -from PySirius import SiriusSDK, PagedModelAlignedFeature, PagedModelStructureCandidateScored, \ - PagedModelStructureCandidateFormula, PagedModelFormulaCandidate, QuantTableExperimental, \ - PagedModelSpectralLibraryMatch, TraceSetExperimental -from PySirius.models.aligned_feature import AlignedFeature -from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData -from PySirius.models.ms_data import MsData -from PySirius.models.feature_import import FeatureImport -from PySirius.models.annotated_spectrum import AnnotatedSpectrum -from PySirius.models.canopus_prediction import CanopusPrediction -from PySirius.models.compound_classes import CompoundClasses -from PySirius.models.formula_candidate import FormulaCandidate -from PySirius.models.fragmentation_tree import FragmentationTree -from PySirius.models.isotope_pattern_annotation import IsotopePatternAnnotation -from PySirius.models.lipid_annotation import LipidAnnotation -from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary -from PySirius.models.structure_candidate_formula import StructureCandidateFormula -from PySirius.models.structure_candidate_scored import StructureCandidateScored +from PySirius import * class TestFeaturesApi(unittest.TestCase): diff --git a/client-api_python/generated/test/test_info_api.py b/client-api_python/generated/test/test_info_api.py index 26fcf5f5..d59fa55c 100644 --- a/client-api_python/generated/test/test_info_api.py +++ b/client-api_python/generated/test/test_info_api.py @@ -10,12 +10,7 @@ import unittest - -from PySirius import SiriusSDK -from PySirius.api.info_api import InfoApi -from PySirius.models.info import Info -from PySirius.models.connection_check import ConnectionCheck - +from PySirius import SiriusSDK, InfoApi, Info, ConnectionCheck class TestInfoApi(unittest.TestCase): """InfoApi unit test stubs""" diff --git a/client-api_python/generated/test/test_jobs_api.py b/client-api_python/generated/test/test_jobs_api.py index 79d63d7b..19a7fb40 100644 --- a/client-api_python/generated/test/test_jobs_api.py +++ b/client-api_python/generated/test/test_jobs_api.py @@ -14,13 +14,7 @@ import time import unittest -import PySirius -from PySirius import PySiriusAPI, SiriusSDK, StoredJobSubmission -from PySirius.models.job import Job -from PySirius.models.job_state import JobState -from PySirius.models.paged_model_job import PagedModelJob -from PySirius.models.job_submission import JobSubmission - +from PySirius import PySiriusAPI, SiriusSDK, StoredJobSubmission, Helper, Job, JobState, PagedModelJob, JobSubmission class TestJobsApi(unittest.TestCase): """JobsApi unit test stubs""" @@ -211,11 +205,7 @@ def test_start_job(self) -> None: job_submission = JobSubmission.from_json(json.dumps(job_submission_json)) response = self.api.jobs().start_job(self.project_id, job_submission) - while True: - if self.api.jobs().get_job(self.project_id, response.id).progress.state is not JobState.DONE: - time.sleep(1) - else: - break + Helper.wait_for_job_completion(self.project_id, response.id, self.api.jobs()) self.assertIsInstance(response, Job) @@ -242,11 +232,7 @@ def test_start_job_from_config(self) -> None: self.api.jobs().save_job_config(config_name, job_submission, True) response = self.api.jobs().start_job_from_config(self.project_id, config_name, [aligned_feature_id]) - while True: - if self.api.jobs().get_job(self.project_id, response.id).progress.state is not JobState.DONE: - time.sleep(1) - else: - break + Helper.wait_for_job_completion(self.project_id, response.id, self.api.jobs()) self.api.jobs().delete_job_config(config_name) self.assertIsInstance(response, Job) diff --git a/client-api_python/generated/test/test_login_and_account_api.py b/client-api_python/generated/test/test_login_and_account_api.py index 4cbc2d38..fdf252df 100644 --- a/client-api_python/generated/test/test_login_and_account_api.py +++ b/client-api_python/generated/test/test_login_and_account_api.py @@ -10,10 +10,7 @@ import unittest - -import PySirius -from PySirius import PySiriusAPI, SiriusSDK -from PySirius.models.account_info import AccountInfo +from PySirius import PySiriusAPI, SiriusSDK, AccountInfo class TestLoginAndAccountApi(unittest.TestCase): diff --git a/client-api_python/generated/test/test_projects_api.py b/client-api_python/generated/test/test_projects_api.py index 512e3168..11fe7644 100644 --- a/client-api_python/generated/test/test_projects_api.py +++ b/client-api_python/generated/test/test_projects_api.py @@ -10,12 +10,7 @@ import os import unittest - -from PySirius import SiriusSDK, JobOptField -from PySirius.models.job import Job -from PySirius.models.project_info import ProjectInfo -from PySirius.models.import_result import ImportResult -from PySirius.models.lcms_submission_parameters import LcmsSubmissionParameters +from PySirius import SiriusSDK, JobOptField, Job, ProjectInfo, ImportResult, LcmsSubmissionParameters class TestProjectsApi(unittest.TestCase): diff --git a/client-api_python/generated/test/test_searchable_databases_api.py b/client-api_python/generated/test/test_searchable_databases_api.py index 9cf2c821..68f1f7b2 100644 --- a/client-api_python/generated/test/test_searchable_databases_api.py +++ b/client-api_python/generated/test/test_searchable_databases_api.py @@ -10,13 +10,7 @@ import os import unittest - -from PySirius import SiriusSDK -from PySirius.api.searchable_databases_api import SearchableDatabasesApi -from PySirius.exceptions import ServiceException -from PySirius.models.searchable_database import SearchableDatabase -from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters - +from PySirius import SiriusSDK, SearchableDatabasesApi, SearchableDatabase, SearchableDatabaseParameters class TestSearchableDatabasesApi(unittest.TestCase): From e8c2f2b25235cf9a9d4e7110138d180b30a2fbdf Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 8 Oct 2025 18:47:02 +0200 Subject: [PATCH 57/76] python helper also in feedstock test --- .../CondaFeedstockMinimalTests/PythonFeedstockTest.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py b/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py index 4b4bcca7..ac0b4f28 100644 --- a/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py +++ b/.updater/clientTests/CondaFeedstockMinimalTests/PythonFeedstockTest.py @@ -1,13 +1,8 @@ -from PySirius import SiriusSDK, AlignedFeatureOptField, ActuatorApi +from PySirius import SiriusSDK, AlignedFeatureOptField, ActuatorApi, Helper import os -import time api = SiriusSDK().attach_or_start_sirius(headless=True) -def wait_for_job(project_id, job_id): - while api.jobs().get_job(project_id, job_id).progress.state not in ["CANCELED", "FAILED", "DONE"]: - time.sleep(1) - ps_info = api.projects().create_project_space("testProject", os.path.abspath("./testProject.sirius")) path = os.getenv('RECIPE_DIR') + "/Kaempferol.ms" path = os.path.abspath(path) @@ -24,7 +19,7 @@ def wait_for_job(project_id, job_id): jobSub.ms_novelist_params.enabled = False job = api.jobs().start_job(project_id=ps_info.project_id, job_submission=jobSub) -wait_for_job(ps_info.project_id, job.id) +Helper.wait_for_job_completion(ps_info.project_id, job.id, api.jobs()) formula_id = api.features().get_aligned_feature(ps_info.project_id, featureId, [AlignedFeatureOptField.TOPANNOTATIONS] ).top_annotations.formula_annotation.formula_id From 4b298aae3c98e5558e4c762ae9a956eabd451d57 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Thu, 9 Oct 2025 16:51:05 +0200 Subject: [PATCH 58/76] add badges to the conda-forge packages --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 931fbfb2..847db749 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ -# sirius-client-openAPI +[![conda-forge | r-sirius-ms](https://img.shields.io/badge/conda--forge-r--sirius--ms-blue?logo=anaconda)](https://anaconda.org/conda-forge/r-sirius-ms) +[![conda-forge | py-sirius-ms](https://img.shields.io/badge/conda--forge-py--sirius--ms-blue?logo=anaconda)](https://anaconda.org/conda-forge/py-sirius-ms) +[![conda-forge | sirius-ms](https://img.shields.io/badge/conda--forge-sirius--ms-blue?logo=anaconda)](https://anaconda.org/conda-forge/sirius-ms) +# sirius-client-openAPI Maintained and prebuild OpenAPI based SIRIUS SDKs for different programming languages such as R, Python and Java. SDKs for other languages can be created using [OpenAPI Generator](https://openapi-generator.tech/). From b2f720c0c6bf32e81f57758f181e85aa309bb96f Mon Sep 17 00:00:00 2001 From: joXemMx Date: Fri, 10 Oct 2025 17:59:06 +0200 Subject: [PATCH 59/76] update badges to tell package versioning --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 847db749..3b943181 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![conda-forge | r-sirius-ms](https://img.shields.io/badge/conda--forge-r--sirius--ms-blue?logo=anaconda)](https://anaconda.org/conda-forge/r-sirius-ms) -[![conda-forge | py-sirius-ms](https://img.shields.io/badge/conda--forge-py--sirius--ms-blue?logo=anaconda)](https://anaconda.org/conda-forge/py-sirius-ms) -[![conda-forge | sirius-ms](https://img.shields.io/badge/conda--forge-sirius--ms-blue?logo=anaconda)](https://anaconda.org/conda-forge/sirius-ms) +[![conda-forge | r-sirius-ms](https://img.shields.io/conda/vn/conda-forge/r-sirius-ms?logo=anaconda&label=r-sirius-ms)](https://anaconda.org/conda-forge/r-sirius-ms) +[![conda-forge | py-sirius-ms](https://img.shields.io/conda/vn/conda-forge/py-sirius-ms?logo=anaconda&label=py-sirius-ms)](https://anaconda.org/conda-forge/py-sirius-ms) +[![conda-forge | sirius-ms](https://img.shields.io/conda/vn/conda-forge/sirius-ms?logo=anaconda&label=sirius-ms)](https://anaconda.org/conda-forge/sirius-ms) # sirius-client-openAPI From 08a770dfdf8fc2d0879d0f2acb20120c375e1f10 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Mon, 13 Oct 2025 16:46:22 +0200 Subject: [PATCH 60/76] add spectral library match test for updated tomato_small.sirius --- .../generated/test/test_features_api.py | 12 ++-- .../tests/testthat/test_features_api.R | 58 ++++++++++--------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/client-api_python/generated/test/test_features_api.py b/client-api_python/generated/test/test_features_api.py index dd4aca5e..5b3eafc2 100644 --- a/client-api_python/generated/test/test_features_api.py +++ b/client-api_python/generated/test/test_features_api.py @@ -24,8 +24,8 @@ def setUp(self) -> None: # check if test project already open -> allows to run tests in independent calls. if self.api.projects().get_project_without_preload_content(self.project_id).status == 404: self.project_info = self.api.projects().open_project(self.project_id, self.path_to_project) - # the single one ID with MSNovelist results computed - self.aligned_feature_id = "586487307819356741" + # the single ID with MSNovelist AND spectral library search results computed + self.aligned_feature_id = "586487310566638367" self.formula_candidates = self.api.features().get_formula_candidates(self.project_id, self.aligned_feature_id) self.formula_id = self.formula_candidates[0].formula_id @@ -308,8 +308,9 @@ def test_get_spectral_library_match(self) -> None: List of spectral library matches for the given 'alignedFeatureId'. """ - # TODO have to library match in projectspace - pass + match_id = self.api.features().get_spectral_library_matches(self.project_id, self.aligned_feature_id)[0].spec_match_id + response = self.api.features().get_spectral_library_match(self.project_id, self.aligned_feature_id, match_id) + self.assertIsInstance(response, SpectralLibraryMatch) def test_get_spectral_library_matches(self) -> None: """Test case for get_spectral_library_matches @@ -318,8 +319,7 @@ def test_get_spectral_library_matches(self) -> None: """ response = self.api.features().get_spectral_library_matches(self.project_id, self.aligned_feature_id) self.assertIsInstance(response, list) - # TODO have to library match in projectspace - # self.assertIsInstance(response[0], SpectralLibraryMatch) + self.assertIsInstance(response[0], SpectralLibraryMatch) def test_get_spectral_library_matches_paged(self) -> None: """Test case for get_spectral_library_matches_paged diff --git a/client-api_r/generated/tests/testthat/test_features_api.R b/client-api_r/generated/tests/testthat/test_features_api.R index 4cdb7910..a43d0e23 100644 --- a/client-api_r/generated/tests/testthat/test_features_api.R +++ b/client-api_r/generated/tests/testthat/test_features_api.R @@ -13,7 +13,8 @@ path_to_demo_data <- paste(Sys.getenv("HOME"), "sirius-client-openAPI/.updater/c preproc_ms2_file_1 <- paste(path_to_demo_data, "Kaempferol.ms", sep = "/") preproc_ms2_file_2 <- paste(path_to_demo_data, "laudanosine.mgf", sep = "/") -aligned_feature_id <- "586487307819356741" +# the single ID with MSNovelist AND spectral library search results computed +aligned_feature_id <- "586487310566638367" tomato_project <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep = "/") basic_spectrum <- c(BasicSpectrum$new(peaks = c(SimplePeak$new(1.23, 4.56)), precursorMz = 1.23)) feature_import <- c(FeatureImport$new(name = "testfeature", feature_id = "testfeature", ionMass = 1.23, adduct = "[M+?]+", ms1Spectra = basic_spectrum, ms2Spectra = basic_spectrum)) @@ -643,20 +644,20 @@ test_that("GetSpectralLibraryMatch", { # @param opt_fields array[SpectralLibraryMatchOptField] (optional) # @return [SpectralLibraryMatch] - # TODO seems like there are none - # project_id <- "GetSpectralLibraryMatch" - # projects_api$OpenProject(project_id, tomato_project) - # # match_id <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id)[[1]]$matchId - # - # response <- api_instance$GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id) - # expect_true(inherits(response, "list")) - # expect_true(inherits(response[[1]], "SpectralLibraryMatch")) - # - # }, finally = { - # - # projects_api$CloseProject(project_id) - # - # }) + tryCatch({ + + project_id <- "GetSpectralLibraryMatch" + projects_api$OpenProject(project_id, tomato_project) + match_id <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id)[[1]]$specMatchId + + response <- api_instance$GetSpectralLibraryMatch(project_id, aligned_feature_id, match_id) + expect_true(inherits(response, "SpectralLibraryMatch")) + + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetSpectralLibraryMatches", { @@ -672,19 +673,20 @@ test_that("GetSpectralLibraryMatches", { # @param opt_fields array[SpectralLibraryMatchOptField] (optional) # @return [array[SpectralLibraryMatch]] - # TODO seems like there are none - # project_id <- "GetSpectralLibraryMatches" - # projects_api$OpenProject(project_id, tomato_project) - # # - # response <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id) - # expect_true(inherits(response, "list")) - # expect_true(inherits(response[[1]], "SpectralLibraryMatch")) - # - # }, finally = { - # - # projects_api$CloseProject(project_id) - # - # }) + tryCatch({ + + project_id <- "GetSpectralLibraryMatches" + projects_api$OpenProject(project_id, tomato_project) + + response <- api_instance$GetSpectralLibraryMatches(project_id, aligned_feature_id) + expect_true(inherits(response, "list")) + expect_true(inherits(response[[1]], "SpectralLibraryMatch")) + + }, finally = { + + projects_api$CloseProject(project_id) + + }) }) test_that("GetSpectralLibraryMatchesPaged", { From 62e95679d3486c8ee90f49d70ac030f46ed84910 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Tue, 14 Oct 2025 11:06:46 +0200 Subject: [PATCH 61/76] remove unneeded function --- client-api_r/generated/tests/testthat/test_features_api.R | 6 ------ 1 file changed, 6 deletions(-) diff --git a/client-api_r/generated/tests/testthat/test_features_api.R b/client-api_r/generated/tests/testthat/test_features_api.R index a43d0e23..4b1071c0 100644 --- a/client-api_r/generated/tests/testthat/test_features_api.R +++ b/client-api_r/generated/tests/testthat/test_features_api.R @@ -19,12 +19,6 @@ tomato_project <- paste(Sys.getenv("HOME"), "tomato_small.sirius", sep = "/") basic_spectrum <- c(BasicSpectrum$new(peaks = c(SimplePeak$new(1.23, 4.56)), precursorMz = 1.23)) feature_import <- c(FeatureImport$new(name = "testfeature", feature_id = "testfeature", ionMass = 1.23, adduct = "[M+?]+", ms1Spectra = basic_spectrum, ms2Spectra = basic_spectrum)) -delete_if_exists <- function(path) { - if (file.exists(path)) { - file.remove(path) - } -} - test_that("AddAlignedFeatures", { # tests for AddAlignedFeatures # base path: http://localhost:8080 From b8dd628475e7092120b63723337abfcbe7531d25 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Tue, 14 Oct 2025 11:08:08 +0200 Subject: [PATCH 62/76] fix deserialization for GetSpectralLibraryMatches and GetSpectralLibraryMatchesPaged (data.frame deserialization issues) --- client-api_r/generated/R/api_client.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client-api_r/generated/R/api_client.R b/client-api_r/generated/R/api_client.R index 4257ae14..47fbdafd 100644 --- a/client-api_r/generated/R/api_client.R +++ b/client-api_r/generated/R/api_client.R @@ -360,7 +360,7 @@ ApiClient <- R6::R6Class( return_obj <- vector("list", length = nrow(obj)) if (nrow(obj) > 0) { for (row in 1:nrow(obj)) { - return_obj[[row]] <- self$deserializeObj(obj[row, , drop = FALSE], + return_obj[[row]] <- self$deserializeObj(as.list(obj[row, , drop = FALSE]), inner_return_type, pkg_env) } } @@ -385,7 +385,7 @@ ApiClient <- R6::R6Class( return_obj <- return_type$new() } return_obj$fromJSON( - jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE, null = 'null') + jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE, null = 'null', na = 'null') ) } else { # To handle primitive type From f6de3767b3e91f8c3ca8c0eaacd77d26838af22b Mon Sep 17 00:00:00 2001 From: joXemMx Date: Tue, 14 Oct 2025 11:20:38 +0200 Subject: [PATCH 63/76] fix deserialization for GetSpectralLibraryMatches and GetSpectralLibraryMatchesPaged (data.frame deserialization issues) in mustache file --- client-api_r/templates/r/api_client.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client-api_r/templates/r/api_client.mustache b/client-api_r/templates/r/api_client.mustache index 34458ad0..97abae9d 100644 --- a/client-api_r/templates/r/api_client.mustache +++ b/client-api_r/templates/r/api_client.mustache @@ -423,7 +423,7 @@ ApiClient <- R6::R6Class( return_obj <- vector("list", length = nrow(obj)) if (nrow(obj) > 0) { for (row in 1:nrow(obj)) { - return_obj[[row]] <- self$deserializeObj(obj[row, , drop = FALSE], + return_obj[[row]] <- self$deserializeObj(as.list(obj[row, , drop = FALSE]), inner_return_type, pkg_env) } } @@ -448,7 +448,7 @@ ApiClient <- R6::R6Class( return_obj <- return_type$new() } return_obj$fromJSON( - jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE, null = 'null') + jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE, null = 'null', na = 'null') ) } else { # To handle primitive type From 1a41fe62ed9520c3badeb23584e87a1f824d0250 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 15:26:05 +0200 Subject: [PATCH 64/76] rename Rsirius -> RSirius and generate for fixed api docs --- .github/workflows/RTest.yml | 24 +- .updater/api/api-docs-enums.json | 3 +- .updater/api/api-docs-strings.json | 3 +- .updater/config/R/config.json | 2 +- client-api_r/generated/.Rbuildignore | 2 +- client-api_r/generated/DESCRIPTION | 2 +- client-api_r/generated/R/account_info.R | 4 +- client-api_r/generated/R/actuator_api.R | 6 +- .../generated/R/adduct_network_experimental.R | 8 +- .../generated/R/adduct_node_experimental.R | 4 +- client-api_r/generated/R/aligned_feature.R | 8 +- .../R/aligned_feature_quality_experimental.R | 4 +- .../generated/R/annotated_ms_ms_data.R | 4 +- client-api_r/generated/R/annotated_spectrum.R | 4 +- client-api_r/generated/R/api_client.R | 830 ++++++++--------- client-api_r/generated/R/axes.R | 12 +- .../R/background_computations_state_event.R | 4 +- client-api_r/generated/R/basic_spectrum.R | 4 +- client-api_r/generated/R/binary_fingerprint.R | 4 +- .../generated/R/bio_transformer_parameters.R | 4 +- client-api_r/generated/R/canopus_prediction.R | 8 +- client-api_r/generated/R/category.R | 4 +- client-api_r/generated/R/compound.R | 8 +- client-api_r/generated/R/compound_classes.R | 8 +- client-api_r/generated/R/compound_import.R | 4 +- .../generated/R/compound_statistics_api.R | 14 +- client-api_r/generated/R/compounds_api.R | 48 +- client-api_r/generated/R/connection_check.R | 4 +- .../generated/R/consensus_annotations_csi.R | 4 +- .../R/consensus_annotations_de_novo.R | 4 +- client-api_r/generated/R/data_import_event.R | 8 +- .../generated/R/feature_annotations.R | 8 +- client-api_r/generated/R/feature_import.R | 12 +- .../generated/R/feature_statistics_api.R | 14 +- client-api_r/generated/R/features_api.R | 170 ++-- client-api_r/generated/R/formula_candidate.R | 4 +- client-api_r/generated/R/fragmentation_tree.R | 8 +- client-api_r/generated/R/import_result.R | 8 +- client-api_r/generated/R/info.R | 8 +- client-api_r/generated/R/info_api.R | 8 +- client-api_r/generated/R/job.R | 8 +- client-api_r/generated/R/job_submission.R | 24 +- client-api_r/generated/R/jobs_api.R | 54 +- client-api_r/generated/R/license_info.R | 4 +- .../generated/R/login_and_account_api.R | 32 +- client-api_r/generated/R/ms_data.R | 8 +- .../generated/R/paged_model_aligned_feature.R | 4 +- .../generated/R/paged_model_compound.R | 4 +- .../R/paged_model_formula_candidate.R | 4 +- client-api_r/generated/R/paged_model_job.R | 4 +- client-api_r/generated/R/paged_model_run.R | 4 +- .../R/paged_model_spectral_library_match.R | 4 +- .../paged_model_structure_candidate_formula.R | 4 +- .../paged_model_structure_candidate_scored.R | 4 +- client-api_r/generated/R/peak_annotation.R | 12 +- client-api_r/generated/R/projects_api.R | 46 +- .../generated/R/quant_table_experimental.R | 20 +- client-api_r/generated/R/rsirius_api.R | 8 +- client-api_r/generated/R/rsirius_sdk.R | 868 +++++++++--------- client-api_r/generated/R/run.R | 8 +- client-api_r/generated/R/runs_api.R | 30 +- .../R/sample_type_fold_change_request.R | 12 +- .../generated/R/searchable_databases_api.R | 34 +- client-api_r/generated/R/sirius.R | 8 +- .../generated/R/spectral_library_match.R | 4 +- .../generated/R/spectral_library_search.R | 4 +- client-api_r/generated/R/statistics_table.R | 20 +- .../generated/R/structure_candidate.R | 8 +- .../generated/R/structure_candidate_formula.R | 8 +- .../generated/R/structure_candidate_scored.R | 8 +- .../generated/R/structure_db_search.R | 4 +- client-api_r/generated/R/tag_definition.R | 4 +- .../generated/R/tag_definition_import.R | 4 +- client-api_r/generated/R/tags_api.R | 32 +- client-api_r/generated/R/trace_experimental.R | 8 +- .../generated/R/trace_set_experimental.R | 4 +- client-api_r/generated/README.md | 12 +- .../generated/docs/AccountCredentials.md | 2 +- client-api_r/generated/docs/AccountInfo.md | 2 +- client-api_r/generated/docs/ActuatorApi.md | 4 +- .../generated/docs/AdductEdgeExperimental.md | 2 +- .../docs/AdductNetworkExperimental.md | 2 +- .../generated/docs/AdductNodeExperimental.md | 2 +- client-api_r/generated/docs/AlignedFeature.md | 2 +- .../docs/AlignedFeatureQualityExperimental.md | 2 +- .../generated/docs/AllowedFeatures.md | 2 +- .../generated/docs/AnnotatedMsMsData.md | 2 +- client-api_r/generated/docs/AnnotatedPeak.md | 2 +- .../generated/docs/AnnotatedSpectrum.md | 2 +- client-api_r/generated/docs/Axes.md | 2 +- .../docs/BackgroundComputationsStateEvent.md | 2 +- client-api_r/generated/docs/BasicSpectrum.md | 2 +- .../generated/docs/BinaryFingerprint.md | 2 +- .../docs/BioTransformerParameters.md | 2 +- .../docs/BioTransformerSequenceStep.md | 2 +- client-api_r/generated/docs/Canopus.md | 2 +- .../generated/docs/CanopusPrediction.md | 2 +- client-api_r/generated/docs/Category.md | 2 +- client-api_r/generated/docs/Compound.md | 2 +- client-api_r/generated/docs/CompoundClass.md | 2 +- .../generated/docs/CompoundClasses.md | 2 +- client-api_r/generated/docs/CompoundImport.md | 2 +- .../generated/docs/CompoundStatisticsApi.md | 8 +- client-api_r/generated/docs/CompoundsApi.md | 26 +- .../generated/docs/ComputedSubtools.md | 2 +- .../generated/docs/ConnectionCheck.md | 2 +- .../generated/docs/ConnectionError.md | 2 +- .../generated/docs/ConsensusAnnotationsCSI.md | 2 +- .../docs/ConsensusAnnotationsDeNovo.md | 2 +- client-api_r/generated/docs/DBLink.md | 2 +- .../generated/docs/DataImportEvent.md | 2 +- client-api_r/generated/docs/Deviation.md | 2 +- .../generated/docs/FeatureAnnotations.md | 2 +- client-api_r/generated/docs/FeatureImport.md | 2 +- .../generated/docs/FeatureStatisticsApi.md | 8 +- client-api_r/generated/docs/FeaturesApi.md | 88 +- .../generated/docs/FingerprintPrediction.md | 2 +- client-api_r/generated/docs/FoldChange.md | 2 +- .../generated/docs/FormulaCandidate.md | 2 +- client-api_r/generated/docs/FragmentNode.md | 2 +- .../generated/docs/FragmentationTree.md | 2 +- client-api_r/generated/docs/ImportResult.md | 2 +- client-api_r/generated/docs/Info.md | 2 +- client-api_r/generated/docs/InfoApi.md | 4 +- .../docs/IsotopePatternAnnotation.md | 2 +- client-api_r/generated/docs/Job.md | 2 +- client-api_r/generated/docs/JobProgress.md | 2 +- client-api_r/generated/docs/JobSubmission.md | 2 +- client-api_r/generated/docs/JobsApi.md | 30 +- .../docs/LcmsSubmissionParameters.md | 2 +- client-api_r/generated/docs/LicenseInfo.md | 2 +- .../generated/docs/LipidAnnotation.md | 2 +- .../generated/docs/LoginAndAccountApi.md | 18 +- client-api_r/generated/docs/LossEdge.md | 2 +- client-api_r/generated/docs/MsData.md | 2 +- client-api_r/generated/docs/MsNovelist.md | 2 +- client-api_r/generated/docs/PageMetadata.md | 2 +- .../docs/PagedModelAlignedFeature.md | 2 +- .../generated/docs/PagedModelCompound.md | 2 +- .../docs/PagedModelFormulaCandidate.md | 2 +- client-api_r/generated/docs/PagedModelJob.md | 2 +- client-api_r/generated/docs/PagedModelRun.md | 2 +- .../docs/PagedModelSpectralLibraryMatch.md | 2 +- .../PagedModelStructureCandidateFormula.md | 2 +- .../PagedModelStructureCandidateScored.md | 2 +- client-api_r/generated/docs/ParentPeak.md | 2 +- client-api_r/generated/docs/PeakAnnotation.md | 2 +- client-api_r/generated/docs/PeakPair.md | 2 +- .../generated/docs/ProjectChangeEvent.md | 2 +- client-api_r/generated/docs/ProjectInfo.md | 2 +- client-api_r/generated/docs/ProjectsApi.md | 24 +- client-api_r/generated/docs/QualityItem.md | 2 +- .../generated/docs/QuantTableExperimental.md | 2 +- client-api_r/generated/docs/Run.md | 2 +- client-api_r/generated/docs/RunOptField.md | 2 +- client-api_r/generated/docs/RunsApi.md | 16 +- .../docs/SampleTypeFoldChangeRequest.md | 2 +- .../generated/docs/SearchableDatabase.md | 2 +- .../docs/SearchableDatabaseParameters.md | 2 +- .../generated/docs/SearchableDatabasesApi.md | 18 +- .../generated/docs/SecurityContext.md | 2 +- .../docs/SecurityContextPrincipal.md | 2 +- client-api_r/generated/docs/SimplePeak.md | 2 +- client-api_r/generated/docs/Sirius.md | 2 +- .../generated/docs/SpectralLibraryMatch.md | 2 +- .../docs/SpectralLibraryMatchSummary.md | 2 +- .../generated/docs/SpectralLibrarySearch.md | 2 +- .../generated/docs/SpectrumAnnotation.md | 2 +- .../generated/docs/StatisticsTable.md | 2 +- .../generated/docs/StoredJobSubmission.md | 2 +- .../generated/docs/StructureCandidate.md | 2 +- .../docs/StructureCandidateFormula.md | 2 +- .../docs/StructureCandidateScored.md | 2 +- .../generated/docs/StructureDbSearch.md | 2 +- client-api_r/generated/docs/Subscription.md | 2 +- .../generated/docs/SubscriptionConsumables.md | 2 +- client-api_r/generated/docs/Tag.md | 2 +- client-api_r/generated/docs/TagDefinition.md | 2 +- .../generated/docs/TagDefinitionImport.md | 2 +- client-api_r/generated/docs/TagGroup.md | 2 +- client-api_r/generated/docs/TagsApi.md | 18 +- client-api_r/generated/docs/Term.md | 2 +- client-api_r/generated/docs/Timeout.md | 2 +- .../docs/TraceAnnotationExperimental.md | 2 +- .../generated/docs/TraceExperimental.md | 2 +- .../generated/docs/TraceSetExperimental.md | 2 +- client-api_r/generated/docs/UseHeuristic.md | 2 +- .../generated/docs/WebServerNamespace.md | 2 +- client-api_r/generated/docs/Zodiac.md | 2 +- .../generated/docs/ZodiacAnalogueNodes.md | 2 +- .../docs/ZodiacEdgeFilterThresholds.md | 2 +- client-api_r/generated/docs/ZodiacEpochs.md | 2 +- .../generated/docs/ZodiacLibraryScoring.md | 2 +- client-api_r/rsirius_sdk.R | 20 +- 194 files changed, 1555 insertions(+), 1553 deletions(-) diff --git a/.github/workflows/RTest.yml b/.github/workflows/RTest.yml index a8016185..4383b2ff 100644 --- a/.github/workflows/RTest.yml +++ b/.github/workflows/RTest.yml @@ -24,12 +24,12 @@ jobs: uses: r-lib/actions/setup-r@v2 with: r-version: ${{ matrix.r-version }} - - name: Install Rsirius dependencies + - name: Install RSirius dependencies uses: r-lib/actions/setup-r-dependencies@v2 with: cache: false working-directory: ./client-api_r/generated - - name: Install Rsirius + - name: Install RSirius id: rsirius_install run: | install.packages("/home/runner/work/sirius-client-openAPI/sirius-client-openAPI/client-api_r/generated", repos = NULL, type = "source") @@ -62,7 +62,7 @@ jobs: - name: Login to SIRIUS id: login run: | - library(Rsirius) + library(RSirius) var_accept_terms <- TRUE var_account_credentials <- AccountCredentials$new(Sys.getenv('SIRIUS_USER'), Sys.getenv('SIRIUS_PW')) api_instance <- rsirius_api$new() @@ -78,7 +78,7 @@ jobs: - name: Test Actuator API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_actuator_api.R", reporter=multi_reporter) @@ -86,7 +86,7 @@ jobs: - name: Test Info API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_info_api.R", reporter=multi_reporter) @@ -94,7 +94,7 @@ jobs: - name: Test Login and Account API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_login_and_account_api.R", reporter=multi_reporter) @@ -102,7 +102,7 @@ jobs: - name: Test Projects API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_projects_api.R", reporter=multi_reporter) @@ -110,7 +110,7 @@ jobs: - name: Test Compounds API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_compounds_api.R", reporter=multi_reporter) @@ -118,7 +118,7 @@ jobs: - name: Test Databases API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_searchable_databases_api.R", reporter=multi_reporter) @@ -126,7 +126,7 @@ jobs: - name: Test Features API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_features_api.R", reporter=multi_reporter) @@ -134,7 +134,7 @@ jobs: - name: Test Jobs API if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_jobs_api.R", reporter=multi_reporter) @@ -142,7 +142,7 @@ jobs: - name: Test acceptance if: always() && steps.api_start.outcome == 'success' && steps.rsirius_install.outcome == 'success' && steps.login.outcome == 'success' run: | - library(Rsirius) + library(RSirius) library(testthat) multi_reporter = MultiReporter$new(reporters=list(SummaryReporter$new(), FailReporter$new())) test_file("client-api_r/generated/tests/testthat/test_acceptance.R", reporter=multi_reporter) diff --git a/.updater/api/api-docs-enums.json b/.updater/api/api-docs-enums.json index f82a02f9..f8b3728b 100644 --- a/.updater/api/api-docs-enums.json +++ b/.updater/api/api-docs-enums.json @@ -8876,7 +8876,8 @@ "type": "number", "format": "double" } - } + }, + "nullable": true }, "LcmsSubmissionParameters": { "type": "object", diff --git a/.updater/api/api-docs-strings.json b/.updater/api/api-docs-strings.json index 4f45cf0e..16d1f54e 100644 --- a/.updater/api/api-docs-strings.json +++ b/.updater/api/api-docs-strings.json @@ -9277,7 +9277,8 @@ "type": "number", "format": "double" } - } + }, + "nullable": true }, "LcmsSubmissionParameters": { "type": "object", diff --git a/.updater/config/R/config.json b/.updater/config/R/config.json index f28b9749..45c76429 100644 --- a/.updater/config/R/config.json +++ b/.updater/config/R/config.json @@ -1,5 +1,5 @@ { - "packageName" : "Rsirius", + "packageName" : "RSirius", "generateWrapper": true, "library": "httr2", "hideGenerationTimestamp": true diff --git a/client-api_r/generated/.Rbuildignore b/client-api_r/generated/.Rbuildignore index 0df5be23..d0e83e70 100644 --- a/client-api_r/generated/.Rbuildignore +++ b/client-api_r/generated/.Rbuildignore @@ -16,5 +16,5 @@ ^\.openapi-generator$ ^docs$ ^git_push\.sh$ -^Rsirius\.Rcheck$ +^RSirius\.Rcheck$ ^\.\.Rcheck$ diff --git a/client-api_r/generated/DESCRIPTION b/client-api_r/generated/DESCRIPTION index 63240e0c..b7ddcd27 100644 --- a/client-api_r/generated/DESCRIPTION +++ b/client-api_r/generated/DESCRIPTION @@ -1,4 +1,4 @@ -Package: Rsirius +Package: RSirius Title: R Package Client for SIRIUS Nightsky API Version: 6.3.3 Author: person("OpenAPI Generator community", email = "team@openapitools.org", role = c("aut", "cre")) diff --git a/client-api_r/generated/R/account_info.R b/client-api_r/generated/R/account_info.R index dd6ad56c..1871c94b 100644 --- a/client-api_r/generated/R/account_info.R +++ b/client-api_r/generated/R/account_info.R @@ -152,7 +152,7 @@ AccountInfo <- R6::R6Class( self$`gravatarURL` <- this_object$`gravatarURL` } if (!is.null(this_object$`subscriptions`)) { - self$`subscriptions` <- ApiClient$new()$deserializeObj(this_object$`subscriptions`, "array[Subscription]", loadNamespace("Rsirius")) + self$`subscriptions` <- ApiClient$new()$deserializeObj(this_object$`subscriptions`, "array[Subscription]", loadNamespace("RSirius")) } if (!is.null(this_object$`activeSubscriptionId`)) { self$`activeSubscriptionId` <- this_object$`activeSubscriptionId` @@ -182,7 +182,7 @@ AccountInfo <- R6::R6Class( self$`username` <- this_object$`username` self$`userEmail` <- this_object$`userEmail` self$`gravatarURL` <- this_object$`gravatarURL` - self$`subscriptions` <- ApiClient$new()$deserializeObj(this_object$`subscriptions`, "array[Subscription]", loadNamespace("Rsirius")) + self$`subscriptions` <- ApiClient$new()$deserializeObj(this_object$`subscriptions`, "array[Subscription]", loadNamespace("RSirius")) self$`activeSubscriptionId` <- this_object$`activeSubscriptionId` self }, diff --git a/client-api_r/generated/R/actuator_api.R b/client-api_r/generated/R/actuator_api.R index c313aa25..0492ee98 100644 --- a/client-api_r/generated/R/actuator_api.R +++ b/client-api_r/generated/R/actuator_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### Health #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Actuator web endpoint 'health' #' api_instance <- rsirius_api$new() @@ -28,7 +28,7 @@ #' #' #################### Shutdown #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Actuator web endpoint 'shutdown' #' api_instance <- rsirius_api$new() @@ -148,7 +148,7 @@ ActuatorApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "object", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "object", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/adduct_network_experimental.R b/client-api_r/generated/R/adduct_network_experimental.R index 92936697..fc8ef068 100644 --- a/client-api_r/generated/R/adduct_network_experimental.R +++ b/client-api_r/generated/R/adduct_network_experimental.R @@ -87,10 +87,10 @@ AdductNetworkExperimental <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`nodes`)) { - self$`nodes` <- ApiClient$new()$deserializeObj(this_object$`nodes`, "array[AdductNodeExperimental]", loadNamespace("Rsirius")) + self$`nodes` <- ApiClient$new()$deserializeObj(this_object$`nodes`, "array[AdductNodeExperimental]", loadNamespace("RSirius")) } if (!is.null(this_object$`edges`)) { - self$`edges` <- ApiClient$new()$deserializeObj(this_object$`edges`, "array[AdductEdgeExperimental]", loadNamespace("Rsirius")) + self$`edges` <- ApiClient$new()$deserializeObj(this_object$`edges`, "array[AdductEdgeExperimental]", loadNamespace("RSirius")) } self }, @@ -113,8 +113,8 @@ AdductNetworkExperimental <- R6::R6Class( #' @return the instance of AdductNetworkExperimental fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`nodes` <- ApiClient$new()$deserializeObj(this_object$`nodes`, "array[AdductNodeExperimental]", loadNamespace("Rsirius")) - self$`edges` <- ApiClient$new()$deserializeObj(this_object$`edges`, "array[AdductEdgeExperimental]", loadNamespace("Rsirius")) + self$`nodes` <- ApiClient$new()$deserializeObj(this_object$`nodes`, "array[AdductNodeExperimental]", loadNamespace("RSirius")) + self$`edges` <- ApiClient$new()$deserializeObj(this_object$`edges`, "array[AdductEdgeExperimental]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/adduct_node_experimental.R b/client-api_r/generated/R/adduct_node_experimental.R index 4d77aa17..b2f86c8b 100644 --- a/client-api_r/generated/R/adduct_node_experimental.R +++ b/client-api_r/generated/R/adduct_node_experimental.R @@ -107,7 +107,7 @@ AdductNodeExperimental <- R6::R6Class( self$`mz` <- this_object$`mz` } if (!is.null(this_object$`adductAnnotations`)) { - self$`adductAnnotations` <- ApiClient$new()$deserializeObj(this_object$`adductAnnotations`, "map(numeric)", loadNamespace("Rsirius")) + self$`adductAnnotations` <- ApiClient$new()$deserializeObj(this_object$`adductAnnotations`, "map(numeric)", loadNamespace("RSirius")) } self }, @@ -132,7 +132,7 @@ AdductNodeExperimental <- R6::R6Class( this_object <- jsonlite::fromJSON(input_json) self$`alignedFeatureId` <- this_object$`alignedFeatureId` self$`mz` <- this_object$`mz` - self$`adductAnnotations` <- ApiClient$new()$deserializeObj(this_object$`adductAnnotations`, "map(numeric)", loadNamespace("Rsirius")) + self$`adductAnnotations` <- ApiClient$new()$deserializeObj(this_object$`adductAnnotations`, "map(numeric)", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/aligned_feature.R b/client-api_r/generated/R/aligned_feature.R index 9c36aee4..e7e0a8b5 100644 --- a/client-api_r/generated/R/aligned_feature.R +++ b/client-api_r/generated/R/aligned_feature.R @@ -324,7 +324,7 @@ AlignedFeature <- R6::R6Class( self$`charge` <- this_object$`charge` } if (!is.null(this_object$`detectedAdducts`)) { - self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("Rsirius")) + self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("RSirius")) if (!identical(self$`detectedAdducts`, unique(self$`detectedAdducts`))) { stop("Error! Items in `detectedAdducts` are not unique.") } @@ -374,7 +374,7 @@ AlignedFeature <- R6::R6Class( self$`computedTools` <- `computedtools_object` } if (!is.null(this_object$`tags`)) { - self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("RSirius")) } self }, @@ -403,7 +403,7 @@ AlignedFeature <- R6::R6Class( self$`externalFeatureId` <- this_object$`externalFeatureId` self$`ionMass` <- this_object$`ionMass` self$`charge` <- this_object$`charge` - self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("Rsirius")) + self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("RSirius")) if (!identical(self$`detectedAdducts`, unique(self$`detectedAdducts`))) { stop("Error! Items in `detectedAdducts` are not unique.") } @@ -421,7 +421,7 @@ AlignedFeature <- R6::R6Class( self$`topAnnotationsDeNovo` <- FeatureAnnotations$new()$fromJSON(jsonlite::toJSON(this_object$`topAnnotationsDeNovo`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`computing` <- this_object$`computing` self$`computedTools` <- ComputedSubtools$new()$fromJSON(jsonlite::toJSON(this_object$`computedTools`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/aligned_feature_quality_experimental.R b/client-api_r/generated/R/aligned_feature_quality_experimental.R index e986237b..50cc5f52 100644 --- a/client-api_r/generated/R/aligned_feature_quality_experimental.R +++ b/client-api_r/generated/R/aligned_feature_quality_experimental.R @@ -113,7 +113,7 @@ AlignedFeatureQualityExperimental <- R6::R6Class( self$`overallQuality` <- this_object$`overallQuality` } if (!is.null(this_object$`categories`)) { - self$`categories` <- ApiClient$new()$deserializeObj(this_object$`categories`, "map(Category)", loadNamespace("Rsirius")) + self$`categories` <- ApiClient$new()$deserializeObj(this_object$`categories`, "map(Category)", loadNamespace("RSirius")) } self }, @@ -141,7 +141,7 @@ AlignedFeatureQualityExperimental <- R6::R6Class( stop(paste("Error! \"", this_object$`overallQuality`, "\" cannot be assigned to `overallQuality`. Must be \"NOT_APPLICABLE\", \"LOWEST\", \"BAD\", \"DECENT\", \"GOOD\".", sep = "")) } self$`overallQuality` <- this_object$`overallQuality` - self$`categories` <- ApiClient$new()$deserializeObj(this_object$`categories`, "map(Category)", loadNamespace("Rsirius")) + self$`categories` <- ApiClient$new()$deserializeObj(this_object$`categories`, "map(Category)", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/annotated_ms_ms_data.R b/client-api_r/generated/R/annotated_ms_ms_data.R index 98a443c7..38629d48 100644 --- a/client-api_r/generated/R/annotated_ms_ms_data.R +++ b/client-api_r/generated/R/annotated_ms_ms_data.R @@ -91,7 +91,7 @@ AnnotatedMsMsData <- R6::R6Class( self$`mergedMs2` <- `mergedms2_object` } if (!is.null(this_object$`ms2Spectra`)) { - self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[AnnotatedSpectrum]", loadNamespace("Rsirius")) + self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[AnnotatedSpectrum]", loadNamespace("RSirius")) } self }, @@ -115,7 +115,7 @@ AnnotatedMsMsData <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`mergedMs2` <- AnnotatedSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`mergedMs2`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[AnnotatedSpectrum]", loadNamespace("Rsirius")) + self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[AnnotatedSpectrum]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/annotated_spectrum.R b/client-api_r/generated/R/annotated_spectrum.R index c2ba2539..b97e12d1 100644 --- a/client-api_r/generated/R/annotated_spectrum.R +++ b/client-api_r/generated/R/annotated_spectrum.R @@ -279,7 +279,7 @@ AnnotatedSpectrum <- R6::R6Class( self$`precursorPeak` <- `precursorpeak_object` } if (!is.null(this_object$`peaks`)) { - self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[AnnotatedPeak]", loadNamespace("Rsirius")) + self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[AnnotatedPeak]", loadNamespace("RSirius")) } if (!is.null(this_object$`absIntensityFactor`)) { self$`absIntensityFactor` <- this_object$`absIntensityFactor` @@ -330,7 +330,7 @@ AnnotatedSpectrum <- R6::R6Class( self$`scanNumber` <- this_object$`scanNumber` self$`cosineQuery` <- this_object$`cosineQuery` self$`precursorPeak` <- SimplePeak$new()$fromJSON(jsonlite::toJSON(this_object$`precursorPeak`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[AnnotatedPeak]", loadNamespace("Rsirius")) + self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[AnnotatedPeak]", loadNamespace("RSirius")) self$`absIntensityFactor` <- this_object$`absIntensityFactor` self$`maxNormFactor` <- this_object$`maxNormFactor` self$`sumNormFactor` <- this_object$`sumNormFactor` diff --git a/client-api_r/generated/R/api_client.R b/client-api_r/generated/R/api_client.R index 47fbdafd..613a620d 100644 --- a/client-api_r/generated/R/api_client.R +++ b/client-api_r/generated/R/api_client.R @@ -4,418 +4,418 @@ #' #' The version of the OpenAPI document: 3.1 #' Generated by: https://openapi-generator.tech -#' -#' ApiClient Class -#' -#' Generic API client for OpenAPI client library builds. -#' OpenAPI generic API client. This client handles the client- -#' server communication, and is invariant across implementations. Specifics of -#' the methods and models for each application are generated from the OpenAPI Generator -#' templates. -#' -#' NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). -#' Ref: https://openapi-generator.tech -#' Do not edit the class manually. -#' -#' @docType class -#' @title ApiClient -#' @description ApiClient Class -#' @format An \code{R6Class} generator object -#' @field base_path Base url -#' @field user_agent Default user agent -#' @field default_headers Default headers -#' @field username Username for HTTP basic authentication -#' @field password Password for HTTP basic authentication -#' @field api_keys API keys -#' @field bearer_token Bearer token -#' @field timeout Default timeout in seconds -#' @field retry_status_codes vector of status codes to retry -#' @field max_retry_attempts maximum number of retries for the status codes -#' @export -ApiClient <- R6::R6Class( - "ApiClient", - public = list( - # base path of all requests - base_path = "http://localhost:8080", - # user agent in the HTTP request - user_agent = "OpenAPI-Generator/6.3.3/r", - # default headers in the HTTP request - default_headers = NULL, - # username (HTTP basic authentication) - username = NULL, - # password (HTTP basic authentication) - password = NULL, - # API keys - api_keys = NULL, - # Bearer token - bearer_token = NULL, - # Time Out (seconds) - timeout = NULL, - # Vector of status codes to retry - retry_status_codes = NULL, - # Maximum number of retry attempts for the retry status codes - max_retry_attempts = NULL, - #' Initialize a new ApiClient. - #' - #' @description - #' Initialize a new ApiClient. - #' - #' @param base_path Base path. - #' @param user_agent User agent. - #' @param default_headers Default headers. - #' @param username User name. - #' @param password Password. - #' @param api_keys API keys. - #' @param access_token Access token. - #' @param bearer_token Bearer token. - #' @param timeout Timeout. - #' @param retry_status_codes Status codes for retry. - #' @param max_retry_attempts Maxmium number of retry. - #' @export - initialize = function(base_path = NULL, user_agent = NULL, - default_headers = NULL, - username = NULL, password = NULL, api_keys = NULL, - access_token = NULL, bearer_token = NULL, timeout = NULL, - retry_status_codes = NULL, max_retry_attempts = NULL) { - if (!is.null(base_path)) { - self$base_path <- base_path - } - - if (!is.null(default_headers)) { - self$default_headers <- default_headers - } - - if (!is.null(username)) { - self$username <- username - } - - if (!is.null(password)) { - self$password <- password - } - - if (!is.null(access_token)) { - self$access_token <- access_token - } - - if (!is.null(bearer_token)) { - self$bearer_token <- bearer_token - } - - if (!is.null(api_keys)) { - self$api_keys <- api_keys - } else { - self$api_keys <- list() - } - - if (!is.null(user_agent)) { - self$`user_agent` <- user_agent - } - - if (!is.null(timeout)) { - self$timeout <- timeout - } - - if (!is.null(retry_status_codes)) { - self$retry_status_codes <- retry_status_codes - } - - if (!is.null(max_retry_attempts)) { - self$max_retry_attempts <- max_retry_attempts - } - }, - #' Prepare to make an API call with the retry logic. - #' - #' @description - #' Prepare to make an API call with the retry logic. - #' - #' @param url URL. - #' @param method HTTP method. - #' @param query_params The query parameters. - #' @param header_params The header parameters. - #' @param form_params The form parameters. - #' @param file_params The form parameters to upload files. - #' @param accepts The HTTP accept headers. - #' @param content_types The HTTP content-type headers. - #' @param body The HTTP request body. - #' @param is_oauth True if the endpoints required OAuth authentication. - #' @param oauth_scopes OAuth scopes. - #' @param stream_callback Callback function to process the data stream. - #' @param ... Other optional arguments. - #' @return HTTP response - #' @export - CallApi = function(url, method, query_params, header_params, form_params, - file_params, accepts, content_types, body, - is_oauth = FALSE, oauth_scopes = NULL, stream_callback = NULL, ...) { - - # set the URL - req <- request(url) - - resp <- self$Execute(req, method, query_params, header_params, form_params, - file_params, accepts, content_types, body, is_oauth = is_oauth, - oauth_scopes = oauth_scopes, stream_callback = stream_callback, ...) - }, - #' Make an API call - #' - #' @description - #' Make an API call - #' - #' @param req httr2 request. - #' @param method HTTP method. - #' @param query_params The query parameters. - #' @param header_params The header parameters. - #' @param form_params The form parameters. - #' @param file_params The form parameters for uploading files. - #' @param accepts The HTTP accept headers. - #' @param content_types The HTTP content-type headers. - #' @param body The HTTP request body. - #' @param is_oauth True if the endpoints required OAuth authentication. - #' @param oauth_scopes OAuth scopes. - #' @param stream_callback Callback function to process data stream. - #' @param ... Other optional arguments. - #' @return HTTP response - #' @export - Execute = function(req, method, query_params, header_params, form_params, - file_params, accepts, content_types, body, - is_oauth = FALSE, oauth_scopes = NULL, stream_callback = NULL, ...) { - - ## add headers - req <- req %>% req_headers(!!!header_params) - - ## add default headers - req <- req %>% req_headers(!!!self$default_headers) - - # set HTTP accept header - accept <- self$select_header(accepts) - if (!is.null(accept)) { - req <- req %>% req_headers("Accept" = accept) - } - - # set HTTP content-type header - content_type <- self$select_header(content_types) - if (!is.null(content_type)) { - req <- req %>% req_headers("Content-Type" = content_type) - } - - ## add query parameters - for (query_param in names(query_params)) { - if (typeof(query_params[[query_param]]) == "list") { - # for explode, e.g. a=1,a=2,a=3 - req <- req %>% req_url_query(!!!query_params[[query_param]]) - } else { # for non-explode, e.g. a=1,2,3 - tmp <- list() - tmp[[query_param]] <- query_params[[query_param]] - req <- req %>% req_url_query(!!!tmp) - } - } - - # has file upload? - if (!is.null(file_params) && length(file_params) != 0) { - # Create multipart body data - multipart_data <- list() - - # Add form parameters first - if (!is.null(form_params) && length(form_params) != 0) { - for (param_name in names(form_params)) { - param_value <- form_params[[param_name]] - is_json <- tryCatch({ - jsonlite::validate(param_value) - }, error = function(e) { - FALSE - }) - - if (is_json) { - multipart_data[[param_name]] <- curl::form_data(param_value, type = "application/json") - } else { - multipart_data[[param_name]] <- param_value - } - } - } - - # Add file parameters - handle multiple files with same name - for (param_name in names(file_params)) { - param_value <- file_params[[param_name]] - - if (is.list(param_value) && length(param_value) > 1) { - # Multiple files with same parameter name - for (i in seq_along(param_value)) { - multipart_data[[length(multipart_data) + 1]] <- param_value[[i]] - names(multipart_data)[length(multipart_data)] <- param_name - } - } else { - # Single file - multipart_data[[param_name]] <- param_value[[1]] - } - } - req <- req %>% req_body_multipart(!!!multipart_data) - } else { # no file upload - # add form parameters via req_body_form - if (!is.null(form_params) && length(form_params) != 0) { - req <- req %>% req_body_form(!!!form_params) - } - } - - # add body parameters - if (!is.null(body)) { - req <- req %>% req_body_raw(body) - } - - # set timeout - if (!is.null(self$timeout)) { - req <- req %>% req_timeout(self$timeout) - } - - # set retry - if (!is.null(self$max_retry_attempts)) { - req <- req %>% retry_max_tries(self$timeout) - req <- req %>% retry_max_seconds(self$timeout) - } - - # set user agent - if (!is.null(self$user_agent)) { - req <- req %>% req_user_agent(self$user_agent) - } - - # set HTTP verb - req <- req %>% req_method(method) - - # stream data - if (typeof(stream_callback) == "closure") { - req %>% req_stream(stream_callback) - } else { - # perform the HTTP request - resp <- req %>% - req_error(is_error = function(resp) FALSE) %>% - req_perform() - - # return ApiResponse - api_response <- ApiResponse$new() - api_response$status_code <- resp %>% resp_status() - api_response$status_code_desc <- resp %>% resp_status_desc() - if (length(resp$body) == 0) { - api_response$response <- NULL - } else { - api_response$response <- resp %>% resp_body_raw() - } - api_response$headers <- resp %>% resp_headers() - - api_response - } - }, - #' Deserialize the content of API response to the given type. - #' - #' @description - #' Deserialize the content of API response to the given type. - #' - #' @param raw_response Raw response. - #' @param return_type R return type. - #' @param pkg_env Package environment. - #' @return Deserialized object. - #' @export - deserialize = function(raw_response, return_type, pkg_env) { - # jsonlite fails with URLs as strings, pass them raw - if (grepl('^(http|https)://', raw_response)) { - resp_obj <- raw_response - } else { - resp_obj <- jsonlite::fromJSON(raw_response) - } - self$deserializeObj(resp_obj, return_type, pkg_env) - }, - #' Deserialize the response from jsonlite object based on the given type. - #' - #' @description - #' Deserialize the response from jsonlite object based on the given type. - #' by handling complex and nested types by iterating recursively - #' Example return_types will be like "array[integer]", "map(Pet)", "array[map(Tag)]", etc. - #' - #' @param obj Response object. - #' @param return_type R return type. - #' @param pkg_env Package environment. - #' @return Deserialized object. - #' @export - deserializeObj = function(obj, return_type, pkg_env) { - return_obj <- NULL - primitive_types <- c("character", "numeric", "integer", "logical", "complex") - - # To handle the "map" type - if (startsWith(return_type, "map(")) { - inner_return_type <- regmatches(return_type, - regexec(pattern = "map\\((.*)\\)", return_type))[[1]][2] - return_obj <- lapply(names(obj), function(name) { - self$deserializeObj(obj[[name]], inner_return_type, pkg_env) - }) - names(return_obj) <- names(obj) - } else if (startsWith(return_type, "array[")) { - # To handle the "array" type - inner_return_type <- regmatches(return_type, - regexec(pattern = "array\\[(.*)\\]", return_type))[[1]][2] - if (c(inner_return_type) %in% primitive_types) { - return_obj <- vector("list", length = length(obj)) - if (length(obj) > 0) { - for (row in 1:length(obj)) { - return_obj[[row]] <- self$deserializeObj(obj[row], inner_return_type, pkg_env) - } - } - } else { - if (!is.null(nrow(obj))) { - return_obj <- vector("list", length = nrow(obj)) - if (nrow(obj) > 0) { - for (row in 1:nrow(obj)) { - return_obj[[row]] <- self$deserializeObj(as.list(obj[row, , drop = FALSE]), - inner_return_type, pkg_env) - } - } - } - } - } else if (exists(return_type, pkg_env) && !(c(return_type) %in% primitive_types)) { - # To handle model objects which are not array or map containers (e.g. Pet) - return_type <- get(return_type, envir = as.environment(pkg_env)) - return_obj <- return_type$new() - # check if discriminator is defined - if (!is.null(return_obj$`_discriminator_property_name`)) { - data_type <- return_obj$`_discriminator_property_name` - # use discriminator mapping if provided - if (!is.null(return_obj$`_discriminator_mapping_name`)) { - data_type <- (return_obj$`_discriminator_mapping_name`)[[obj[[data_type]]]] - } else { - # no mapping provided, use the value directly - data_type <- obj[[data_type]] - } - # create an object of the mapped type (e.g. Cat) - return_type <- get(data_type, envir = as.environment(pkg_env)) - return_obj <- return_type$new() - } - return_obj$fromJSON( - jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE, null = 'null', na = 'null') - ) - } else { - # To handle primitive type - return_obj <- obj - } - return_obj - }, - #' Return a property header (for accept or content-type). - #' - #' @description - #' Return a property header (for accept or content-type). If JSON-related MIME is found, - #' return it. Otherwise, return the first one, if any. - #' - #' @param headers A list of headers - #' @return A header (e.g. 'application/json') - #' @export - select_header = function(headers) { - if (length(headers) == 0) { - return(invisible(NULL)) - } else { - for (header in headers) { - if (str_detect(header, "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$")) { - # return JSON-related MIME - return(header) - } - } - - # not json mime type, simply return the first one - return(headers[[1]]) - } - } - ) -) +#' +#' ApiClient Class +#' +#' Generic API client for OpenAPI client library builds. +#' OpenAPI generic API client. This client handles the client- +#' server communication, and is invariant across implementations. Specifics of +#' the methods and models for each application are generated from the OpenAPI Generator +#' templates. +#' +#' NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +#' Ref: https://openapi-generator.tech +#' Do not edit the class manually. +#' +#' @docType class +#' @title ApiClient +#' @description ApiClient Class +#' @format An \code{R6Class} generator object +#' @field base_path Base url +#' @field user_agent Default user agent +#' @field default_headers Default headers +#' @field username Username for HTTP basic authentication +#' @field password Password for HTTP basic authentication +#' @field api_keys API keys +#' @field bearer_token Bearer token +#' @field timeout Default timeout in seconds +#' @field retry_status_codes vector of status codes to retry +#' @field max_retry_attempts maximum number of retries for the status codes +#' @export +ApiClient <- R6::R6Class( + "ApiClient", + public = list( + # base path of all requests + base_path = "http://localhost:8080", + # user agent in the HTTP request + user_agent = "OpenAPI-Generator/6.3.3/r", + # default headers in the HTTP request + default_headers = NULL, + # username (HTTP basic authentication) + username = NULL, + # password (HTTP basic authentication) + password = NULL, + # API keys + api_keys = NULL, + # Bearer token + bearer_token = NULL, + # Time Out (seconds) + timeout = NULL, + # Vector of status codes to retry + retry_status_codes = NULL, + # Maximum number of retry attempts for the retry status codes + max_retry_attempts = NULL, + #' Initialize a new ApiClient. + #' + #' @description + #' Initialize a new ApiClient. + #' + #' @param base_path Base path. + #' @param user_agent User agent. + #' @param default_headers Default headers. + #' @param username User name. + #' @param password Password. + #' @param api_keys API keys. + #' @param access_token Access token. + #' @param bearer_token Bearer token. + #' @param timeout Timeout. + #' @param retry_status_codes Status codes for retry. + #' @param max_retry_attempts Maxmium number of retry. + #' @export + initialize = function(base_path = NULL, user_agent = NULL, + default_headers = NULL, + username = NULL, password = NULL, api_keys = NULL, + access_token = NULL, bearer_token = NULL, timeout = NULL, + retry_status_codes = NULL, max_retry_attempts = NULL) { + if (!is.null(base_path)) { + self$base_path <- base_path + } + + if (!is.null(default_headers)) { + self$default_headers <- default_headers + } + + if (!is.null(username)) { + self$username <- username + } + + if (!is.null(password)) { + self$password <- password + } + + if (!is.null(access_token)) { + self$access_token <- access_token + } + + if (!is.null(bearer_token)) { + self$bearer_token <- bearer_token + } + + if (!is.null(api_keys)) { + self$api_keys <- api_keys + } else { + self$api_keys <- list() + } + + if (!is.null(user_agent)) { + self$`user_agent` <- user_agent + } + + if (!is.null(timeout)) { + self$timeout <- timeout + } + + if (!is.null(retry_status_codes)) { + self$retry_status_codes <- retry_status_codes + } + + if (!is.null(max_retry_attempts)) { + self$max_retry_attempts <- max_retry_attempts + } + }, + #' Prepare to make an API call with the retry logic. + #' + #' @description + #' Prepare to make an API call with the retry logic. + #' + #' @param url URL. + #' @param method HTTP method. + #' @param query_params The query parameters. + #' @param header_params The header parameters. + #' @param form_params The form parameters. + #' @param file_params The form parameters to upload files. + #' @param accepts The HTTP accept headers. + #' @param content_types The HTTP content-type headers. + #' @param body The HTTP request body. + #' @param is_oauth True if the endpoints required OAuth authentication. + #' @param oauth_scopes OAuth scopes. + #' @param stream_callback Callback function to process the data stream. + #' @param ... Other optional arguments. + #' @return HTTP response + #' @export + CallApi = function(url, method, query_params, header_params, form_params, + file_params, accepts, content_types, body, + is_oauth = FALSE, oauth_scopes = NULL, stream_callback = NULL, ...) { + + # set the URL + req <- request(url) + + resp <- self$Execute(req, method, query_params, header_params, form_params, + file_params, accepts, content_types, body, is_oauth = is_oauth, + oauth_scopes = oauth_scopes, stream_callback = stream_callback, ...) + }, + #' Make an API call + #' + #' @description + #' Make an API call + #' + #' @param req httr2 request. + #' @param method HTTP method. + #' @param query_params The query parameters. + #' @param header_params The header parameters. + #' @param form_params The form parameters. + #' @param file_params The form parameters for uploading files. + #' @param accepts The HTTP accept headers. + #' @param content_types The HTTP content-type headers. + #' @param body The HTTP request body. + #' @param is_oauth True if the endpoints required OAuth authentication. + #' @param oauth_scopes OAuth scopes. + #' @param stream_callback Callback function to process data stream. + #' @param ... Other optional arguments. + #' @return HTTP response + #' @export + Execute = function(req, method, query_params, header_params, form_params, + file_params, accepts, content_types, body, + is_oauth = FALSE, oauth_scopes = NULL, stream_callback = NULL, ...) { + + ## add headers + req <- req %>% req_headers(!!!header_params) + + ## add default headers + req <- req %>% req_headers(!!!self$default_headers) + + # set HTTP accept header + accept <- self$select_header(accepts) + if (!is.null(accept)) { + req <- req %>% req_headers("Accept" = accept) + } + + # set HTTP content-type header + content_type <- self$select_header(content_types) + if (!is.null(content_type)) { + req <- req %>% req_headers("Content-Type" = content_type) + } + + ## add query parameters + for (query_param in names(query_params)) { + if (typeof(query_params[[query_param]]) == "list") { + # for explode, e.g. a=1,a=2,a=3 + req <- req %>% req_url_query(!!!query_params[[query_param]]) + } else { # for non-explode, e.g. a=1,2,3 + tmp <- list() + tmp[[query_param]] <- query_params[[query_param]] + req <- req %>% req_url_query(!!!tmp) + } + } + + # has file upload? + if (!is.null(file_params) && length(file_params) != 0) { + # Create multipart body data + multipart_data <- list() + + # Add form parameters first + if (!is.null(form_params) && length(form_params) != 0) { + for (param_name in names(form_params)) { + param_value <- form_params[[param_name]] + is_json <- tryCatch({ + jsonlite::validate(param_value) + }, error = function(e) { + FALSE + }) + + if (is_json) { + multipart_data[[param_name]] <- curl::form_data(param_value, type = "application/json") + } else { + multipart_data[[param_name]] <- param_value + } + } + } + + # Add file parameters - handle multiple files with same name + for (param_name in names(file_params)) { + param_value <- file_params[[param_name]] + + if (is.list(param_value) && length(param_value) > 1) { + # Multiple files with same parameter name + for (i in seq_along(param_value)) { + multipart_data[[length(multipart_data) + 1]] <- param_value[[i]] + names(multipart_data)[length(multipart_data)] <- param_name + } + } else { + # Single file + multipart_data[[param_name]] <- param_value[[1]] + } + } + req <- req %>% req_body_multipart(!!!multipart_data) + } else { # no file upload + # add form parameters via req_body_form + if (!is.null(form_params) && length(form_params) != 0) { + req <- req %>% req_body_form(!!!form_params) + } + } + + # add body parameters + if (!is.null(body)) { + req <- req %>% req_body_raw(body) + } + + # set timeout + if (!is.null(self$timeout)) { + req <- req %>% req_timeout(self$timeout) + } + + # set retry + if (!is.null(self$max_retry_attempts)) { + req <- req %>% retry_max_tries(self$timeout) + req <- req %>% retry_max_seconds(self$timeout) + } + + # set user agent + if (!is.null(self$user_agent)) { + req <- req %>% req_user_agent(self$user_agent) + } + + # set HTTP verb + req <- req %>% req_method(method) + + # stream data + if (typeof(stream_callback) == "closure") { + req %>% req_stream(stream_callback) + } else { + # perform the HTTP request + resp <- req %>% + req_error(is_error = function(resp) FALSE) %>% + req_perform() + + # return ApiResponse + api_response <- ApiResponse$new() + api_response$status_code <- resp %>% resp_status() + api_response$status_code_desc <- resp %>% resp_status_desc() + if (length(resp$body) == 0) { + api_response$response <- NULL + } else { + api_response$response <- resp %>% resp_body_raw() + } + api_response$headers <- resp %>% resp_headers() + + api_response + } + }, + #' Deserialize the content of API response to the given type. + #' + #' @description + #' Deserialize the content of API response to the given type. + #' + #' @param raw_response Raw response. + #' @param return_type R return type. + #' @param pkg_env Package environment. + #' @return Deserialized object. + #' @export + deserialize = function(raw_response, return_type, pkg_env) { + # jsonlite fails with URLs as strings, pass them raw + if (grepl('^(http|https)://', raw_response)) { + resp_obj <- raw_response + } else { + resp_obj <- jsonlite::fromJSON(raw_response) + } + self$deserializeObj(resp_obj, return_type, pkg_env) + }, + #' Deserialize the response from jsonlite object based on the given type. + #' + #' @description + #' Deserialize the response from jsonlite object based on the given type. + #' by handling complex and nested types by iterating recursively + #' Example return_types will be like "array[integer]", "map(Pet)", "array[map(Tag)]", etc. + #' + #' @param obj Response object. + #' @param return_type R return type. + #' @param pkg_env Package environment. + #' @return Deserialized object. + #' @export + deserializeObj = function(obj, return_type, pkg_env) { + return_obj <- NULL + primitive_types <- c("character", "numeric", "integer", "logical", "complex") + + # To handle the "map" type + if (startsWith(return_type, "map(")) { + inner_return_type <- regmatches(return_type, + regexec(pattern = "map\\((.*)\\)", return_type))[[1]][2] + return_obj <- lapply(names(obj), function(name) { + self$deserializeObj(obj[[name]], inner_return_type, pkg_env) + }) + names(return_obj) <- names(obj) + } else if (startsWith(return_type, "array[")) { + # To handle the "array" type + inner_return_type <- regmatches(return_type, + regexec(pattern = "array\\[(.*)\\]", return_type))[[1]][2] + if (c(inner_return_type) %in% primitive_types) { + return_obj <- vector("list", length = length(obj)) + if (length(obj) > 0) { + for (row in 1:length(obj)) { + return_obj[[row]] <- self$deserializeObj(obj[row], inner_return_type, pkg_env) + } + } + } else { + if (!is.null(nrow(obj))) { + return_obj <- vector("list", length = nrow(obj)) + if (nrow(obj) > 0) { + for (row in 1:nrow(obj)) { + return_obj[[row]] <- self$deserializeObj(as.list(obj[row, , drop = FALSE]), + inner_return_type, pkg_env) + } + } + } + } + } else if (exists(return_type, pkg_env) && !(c(return_type) %in% primitive_types)) { + # To handle model objects which are not array or map containers (e.g. Pet) + return_type <- get(return_type, envir = as.environment(pkg_env)) + return_obj <- return_type$new() + # check if discriminator is defined + if (!is.null(return_obj$`_discriminator_property_name`)) { + data_type <- return_obj$`_discriminator_property_name` + # use discriminator mapping if provided + if (!is.null(return_obj$`_discriminator_mapping_name`)) { + data_type <- (return_obj$`_discriminator_mapping_name`)[[obj[[data_type]]]] + } else { + # no mapping provided, use the value directly + data_type <- obj[[data_type]] + } + # create an object of the mapped type (e.g. Cat) + return_type <- get(data_type, envir = as.environment(pkg_env)) + return_obj <- return_type$new() + } + return_obj$fromJSON( + jsonlite::toJSON(obj, digits = NA, auto_unbox = TRUE, null = 'null', na = 'null') + ) + } else { + # To handle primitive type + return_obj <- obj + } + return_obj + }, + #' Return a property header (for accept or content-type). + #' + #' @description + #' Return a property header (for accept or content-type). If JSON-related MIME is found, + #' return it. Otherwise, return the first one, if any. + #' + #' @param headers A list of headers + #' @return A header (e.g. 'application/json') + #' @export + select_header = function(headers) { + if (length(headers) == 0) { + return(invisible(NULL)) + } else { + for (header in headers) { + if (str_detect(header, "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$")) { + # return JSON-related MIME + return(header) + } + } + + # not json mime type, simply return the first one + return(headers[[1]]) + } + } + ) +) diff --git a/client-api_r/generated/R/axes.R b/client-api_r/generated/R/axes.R index cc82cdac..2b553970 100644 --- a/client-api_r/generated/R/axes.R +++ b/client-api_r/generated/R/axes.R @@ -99,13 +99,13 @@ Axes <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`scanNumber`)) { - self$`scanNumber` <- ApiClient$new()$deserializeObj(this_object$`scanNumber`, "array[integer]", loadNamespace("Rsirius")) + self$`scanNumber` <- ApiClient$new()$deserializeObj(this_object$`scanNumber`, "array[integer]", loadNamespace("RSirius")) } if (!is.null(this_object$`scanIds`)) { - self$`scanIds` <- ApiClient$new()$deserializeObj(this_object$`scanIds`, "array[character]", loadNamespace("Rsirius")) + self$`scanIds` <- ApiClient$new()$deserializeObj(this_object$`scanIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`retentionTimeInSeconds`)) { - self$`retentionTimeInSeconds` <- ApiClient$new()$deserializeObj(this_object$`retentionTimeInSeconds`, "array[numeric]", loadNamespace("Rsirius")) + self$`retentionTimeInSeconds` <- ApiClient$new()$deserializeObj(this_object$`retentionTimeInSeconds`, "array[numeric]", loadNamespace("RSirius")) } self }, @@ -128,9 +128,9 @@ Axes <- R6::R6Class( #' @return the instance of Axes fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`scanNumber` <- ApiClient$new()$deserializeObj(this_object$`scanNumber`, "array[integer]", loadNamespace("Rsirius")) - self$`scanIds` <- ApiClient$new()$deserializeObj(this_object$`scanIds`, "array[character]", loadNamespace("Rsirius")) - self$`retentionTimeInSeconds` <- ApiClient$new()$deserializeObj(this_object$`retentionTimeInSeconds`, "array[numeric]", loadNamespace("Rsirius")) + self$`scanNumber` <- ApiClient$new()$deserializeObj(this_object$`scanNumber`, "array[integer]", loadNamespace("RSirius")) + self$`scanIds` <- ApiClient$new()$deserializeObj(this_object$`scanIds`, "array[character]", loadNamespace("RSirius")) + self$`retentionTimeInSeconds` <- ApiClient$new()$deserializeObj(this_object$`retentionTimeInSeconds`, "array[numeric]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/background_computations_state_event.R b/client-api_r/generated/R/background_computations_state_event.R index ad688b82..44746f23 100644 --- a/client-api_r/generated/R/background_computations_state_event.R +++ b/client-api_r/generated/R/background_computations_state_event.R @@ -114,7 +114,7 @@ BackgroundComputationsStateEvent <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`affectedJobs`)) { - self$`affectedJobs` <- ApiClient$new()$deserializeObj(this_object$`affectedJobs`, "array[Job]", loadNamespace("Rsirius")) + self$`affectedJobs` <- ApiClient$new()$deserializeObj(this_object$`affectedJobs`, "array[Job]", loadNamespace("RSirius")) } if (!is.null(this_object$`numberOfJobs`)) { self$`numberOfJobs` <- this_object$`numberOfJobs` @@ -146,7 +146,7 @@ BackgroundComputationsStateEvent <- R6::R6Class( #' @return the instance of BackgroundComputationsStateEvent fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`affectedJobs` <- ApiClient$new()$deserializeObj(this_object$`affectedJobs`, "array[Job]", loadNamespace("Rsirius")) + self$`affectedJobs` <- ApiClient$new()$deserializeObj(this_object$`affectedJobs`, "array[Job]", loadNamespace("RSirius")) self$`numberOfJobs` <- this_object$`numberOfJobs` self$`numberOfRunningJobs` <- this_object$`numberOfRunningJobs` self$`numberOfFinishedJobs` <- this_object$`numberOfFinishedJobs` diff --git a/client-api_r/generated/R/basic_spectrum.R b/client-api_r/generated/R/basic_spectrum.R index f187da6d..c3ca83be 100644 --- a/client-api_r/generated/R/basic_spectrum.R +++ b/client-api_r/generated/R/basic_spectrum.R @@ -268,7 +268,7 @@ BasicSpectrum <- R6::R6Class( self$`precursorPeak` <- `precursorpeak_object` } if (!is.null(this_object$`peaks`)) { - self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[SimplePeak]", loadNamespace("Rsirius")) + self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[SimplePeak]", loadNamespace("RSirius")) } if (!is.null(this_object$`absIntensityFactor`)) { self$`absIntensityFactor` <- this_object$`absIntensityFactor` @@ -314,7 +314,7 @@ BasicSpectrum <- R6::R6Class( self$`scanNumber` <- this_object$`scanNumber` self$`cosineQuery` <- this_object$`cosineQuery` self$`precursorPeak` <- SimplePeak$new()$fromJSON(jsonlite::toJSON(this_object$`precursorPeak`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[SimplePeak]", loadNamespace("Rsirius")) + self$`peaks` <- ApiClient$new()$deserializeObj(this_object$`peaks`, "array[SimplePeak]", loadNamespace("RSirius")) self$`absIntensityFactor` <- this_object$`absIntensityFactor` self$`maxNormFactor` <- this_object$`maxNormFactor` self$`sumNormFactor` <- this_object$`sumNormFactor` diff --git a/client-api_r/generated/R/binary_fingerprint.R b/client-api_r/generated/R/binary_fingerprint.R index 58e952e3..c4c6117b 100644 --- a/client-api_r/generated/R/binary_fingerprint.R +++ b/client-api_r/generated/R/binary_fingerprint.R @@ -88,7 +88,7 @@ BinaryFingerprint <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`bitsSet`)) { - self$`bitsSet` <- ApiClient$new()$deserializeObj(this_object$`bitsSet`, "array[integer]", loadNamespace("Rsirius")) + self$`bitsSet` <- ApiClient$new()$deserializeObj(this_object$`bitsSet`, "array[integer]", loadNamespace("RSirius")) } if (!is.null(this_object$`length`)) { self$`length` <- this_object$`length` @@ -114,7 +114,7 @@ BinaryFingerprint <- R6::R6Class( #' @return the instance of BinaryFingerprint fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`bitsSet` <- ApiClient$new()$deserializeObj(this_object$`bitsSet`, "array[integer]", loadNamespace("Rsirius")) + self$`bitsSet` <- ApiClient$new()$deserializeObj(this_object$`bitsSet`, "array[integer]", loadNamespace("RSirius")) self$`length` <- this_object$`length` self }, diff --git a/client-api_r/generated/R/bio_transformer_parameters.R b/client-api_r/generated/R/bio_transformer_parameters.R index d7cdde6b..d767cd61 100644 --- a/client-api_r/generated/R/bio_transformer_parameters.R +++ b/client-api_r/generated/R/bio_transformer_parameters.R @@ -135,7 +135,7 @@ BioTransformerParameters <- R6::R6Class( self$`useDB` <- this_object$`useDB` } if (!is.null(this_object$`bioTransformerSequenceSteps`)) { - self$`bioTransformerSequenceSteps` <- ApiClient$new()$deserializeObj(this_object$`bioTransformerSequenceSteps`, "array[BioTransformerSequenceStep]", loadNamespace("Rsirius")) + self$`bioTransformerSequenceSteps` <- ApiClient$new()$deserializeObj(this_object$`bioTransformerSequenceSteps`, "array[BioTransformerSequenceStep]", loadNamespace("RSirius")) } self }, @@ -167,7 +167,7 @@ BioTransformerParameters <- R6::R6Class( } self$`p2Mode` <- this_object$`p2Mode` self$`useDB` <- this_object$`useDB` - self$`bioTransformerSequenceSteps` <- ApiClient$new()$deserializeObj(this_object$`bioTransformerSequenceSteps`, "array[BioTransformerSequenceStep]", loadNamespace("Rsirius")) + self$`bioTransformerSequenceSteps` <- ApiClient$new()$deserializeObj(this_object$`bioTransformerSequenceSteps`, "array[BioTransformerSequenceStep]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/canopus_prediction.R b/client-api_r/generated/R/canopus_prediction.R index 1e5c1a5a..0b587baf 100644 --- a/client-api_r/generated/R/canopus_prediction.R +++ b/client-api_r/generated/R/canopus_prediction.R @@ -87,10 +87,10 @@ CanopusPrediction <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`classyFireClasses`)) { - self$`classyFireClasses` <- ApiClient$new()$deserializeObj(this_object$`classyFireClasses`, "array[CompoundClass]", loadNamespace("Rsirius")) + self$`classyFireClasses` <- ApiClient$new()$deserializeObj(this_object$`classyFireClasses`, "array[CompoundClass]", loadNamespace("RSirius")) } if (!is.null(this_object$`npcClasses`)) { - self$`npcClasses` <- ApiClient$new()$deserializeObj(this_object$`npcClasses`, "array[CompoundClass]", loadNamespace("Rsirius")) + self$`npcClasses` <- ApiClient$new()$deserializeObj(this_object$`npcClasses`, "array[CompoundClass]", loadNamespace("RSirius")) } self }, @@ -113,8 +113,8 @@ CanopusPrediction <- R6::R6Class( #' @return the instance of CanopusPrediction fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`classyFireClasses` <- ApiClient$new()$deserializeObj(this_object$`classyFireClasses`, "array[CompoundClass]", loadNamespace("Rsirius")) - self$`npcClasses` <- ApiClient$new()$deserializeObj(this_object$`npcClasses`, "array[CompoundClass]", loadNamespace("Rsirius")) + self$`classyFireClasses` <- ApiClient$new()$deserializeObj(this_object$`classyFireClasses`, "array[CompoundClass]", loadNamespace("RSirius")) + self$`npcClasses` <- ApiClient$new()$deserializeObj(this_object$`npcClasses`, "array[CompoundClass]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/category.R b/client-api_r/generated/R/category.R index 89ce12c3..19ecba5f 100644 --- a/client-api_r/generated/R/category.R +++ b/client-api_r/generated/R/category.R @@ -113,7 +113,7 @@ Category <- R6::R6Class( self$`overallQuality` <- this_object$`overallQuality` } if (!is.null(this_object$`items`)) { - self$`items` <- ApiClient$new()$deserializeObj(this_object$`items`, "array[QualityItem]", loadNamespace("Rsirius")) + self$`items` <- ApiClient$new()$deserializeObj(this_object$`items`, "array[QualityItem]", loadNamespace("RSirius")) } self }, @@ -141,7 +141,7 @@ Category <- R6::R6Class( stop(paste("Error! \"", this_object$`overallQuality`, "\" cannot be assigned to `overallQuality`. Must be \"NOT_APPLICABLE\", \"LOWEST\", \"BAD\", \"DECENT\", \"GOOD\".", sep = "")) } self$`overallQuality` <- this_object$`overallQuality` - self$`items` <- ApiClient$new()$deserializeObj(this_object$`items`, "array[QualityItem]", loadNamespace("Rsirius")) + self$`items` <- ApiClient$new()$deserializeObj(this_object$`items`, "array[QualityItem]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/compound.R b/client-api_r/generated/R/compound.R index 112e4d67..747d6f0d 100644 --- a/client-api_r/generated/R/compound.R +++ b/client-api_r/generated/R/compound.R @@ -200,7 +200,7 @@ Compound <- R6::R6Class( self$`neutralMass` <- this_object$`neutralMass` } if (!is.null(this_object$`features`)) { - self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[AlignedFeature]", loadNamespace("Rsirius")) + self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[AlignedFeature]", loadNamespace("RSirius")) } if (!is.null(this_object$`consensusAnnotations`)) { `consensusannotations_object` <- ConsensusAnnotationsCSI$new() @@ -218,7 +218,7 @@ Compound <- R6::R6Class( self$`customAnnotations` <- `customannotations_object` } if (!is.null(this_object$`tags`)) { - self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("RSirius")) } self }, @@ -246,11 +246,11 @@ Compound <- R6::R6Class( self$`rtStartSeconds` <- this_object$`rtStartSeconds` self$`rtEndSeconds` <- this_object$`rtEndSeconds` self$`neutralMass` <- this_object$`neutralMass` - self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[AlignedFeature]", loadNamespace("Rsirius")) + self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[AlignedFeature]", loadNamespace("RSirius")) self$`consensusAnnotations` <- ConsensusAnnotationsCSI$new()$fromJSON(jsonlite::toJSON(this_object$`consensusAnnotations`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`consensusAnnotationsDeNovo` <- ConsensusAnnotationsDeNovo$new()$fromJSON(jsonlite::toJSON(this_object$`consensusAnnotationsDeNovo`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`customAnnotations` <- ConsensusAnnotationsCSI$new()$fromJSON(jsonlite::toJSON(this_object$`customAnnotations`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/compound_classes.R b/client-api_r/generated/R/compound_classes.R index c80ecdb4..5043b3f2 100644 --- a/client-api_r/generated/R/compound_classes.R +++ b/client-api_r/generated/R/compound_classes.R @@ -135,10 +135,10 @@ CompoundClasses <- R6::R6Class( self$`npcClass` <- `npcclass_object` } if (!is.null(this_object$`classyFireLineage`)) { - self$`classyFireLineage` <- ApiClient$new()$deserializeObj(this_object$`classyFireLineage`, "array[CompoundClass]", loadNamespace("Rsirius")) + self$`classyFireLineage` <- ApiClient$new()$deserializeObj(this_object$`classyFireLineage`, "array[CompoundClass]", loadNamespace("RSirius")) } if (!is.null(this_object$`classyFireAlternatives`)) { - self$`classyFireAlternatives` <- ApiClient$new()$deserializeObj(this_object$`classyFireAlternatives`, "array[CompoundClass]", loadNamespace("Rsirius")) + self$`classyFireAlternatives` <- ApiClient$new()$deserializeObj(this_object$`classyFireAlternatives`, "array[CompoundClass]", loadNamespace("RSirius")) } self }, @@ -164,8 +164,8 @@ CompoundClasses <- R6::R6Class( self$`npcPathway` <- CompoundClass$new()$fromJSON(jsonlite::toJSON(this_object$`npcPathway`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`npcSuperclass` <- CompoundClass$new()$fromJSON(jsonlite::toJSON(this_object$`npcSuperclass`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`npcClass` <- CompoundClass$new()$fromJSON(jsonlite::toJSON(this_object$`npcClass`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`classyFireLineage` <- ApiClient$new()$deserializeObj(this_object$`classyFireLineage`, "array[CompoundClass]", loadNamespace("Rsirius")) - self$`classyFireAlternatives` <- ApiClient$new()$deserializeObj(this_object$`classyFireAlternatives`, "array[CompoundClass]", loadNamespace("Rsirius")) + self$`classyFireLineage` <- ApiClient$new()$deserializeObj(this_object$`classyFireLineage`, "array[CompoundClass]", loadNamespace("RSirius")) + self$`classyFireAlternatives` <- ApiClient$new()$deserializeObj(this_object$`classyFireAlternatives`, "array[CompoundClass]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/compound_import.R b/client-api_r/generated/R/compound_import.R index 977d048c..487a2d68 100644 --- a/client-api_r/generated/R/compound_import.R +++ b/client-api_r/generated/R/compound_import.R @@ -91,7 +91,7 @@ CompoundImport <- R6::R6Class( self$`name` <- this_object$`name` } if (!is.null(this_object$`features`)) { - self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[FeatureImport]", loadNamespace("Rsirius")) + self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[FeatureImport]", loadNamespace("RSirius")) } self }, @@ -115,7 +115,7 @@ CompoundImport <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`name` <- this_object$`name` - self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[FeatureImport]", loadNamespace("Rsirius")) + self$`features` <- ApiClient$new()$deserializeObj(this_object$`features`, "array[FeatureImport]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/compound_statistics_api.R b/client-api_r/generated/R/compound_statistics_api.R index 742937ee..f9dc5c8e 100644 --- a/client-api_r/generated/R/compound_statistics_api.R +++ b/client-api_r/generated/R/compound_statistics_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### ComputeCompoundFoldChangesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to compute the fold change in. #' var_left_group_name <- "left_group_name_example" # character | name of the left tag group. #' var_right_group_name <- "right_group_name_example" # character | name of the right tag group. @@ -34,7 +34,7 @@ #' #' #################### DeleteCompoundFoldChangesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_left_group_name <- "left_group_name_example" # character | name of the left group. #' var_right_group_name <- "right_group_name_example" # character | name of the right group. @@ -49,7 +49,7 @@ #' #' #################### GetCompoundFoldChangeTableExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aggregation <- "AVG" # character | aggregation type. (Optional) #' var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) @@ -65,7 +65,7 @@ #' #' #################### GetFoldChangesByCompoundExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. #' @@ -247,7 +247,7 @@ CompoundStatisticsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -501,7 +501,7 @@ CompoundStatisticsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -634,7 +634,7 @@ CompoundStatisticsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/compounds_api.R b/client-api_r/generated/R/compounds_api.R index a72c6b36..222ed229 100644 --- a/client-api_r/generated/R/compounds_api.R +++ b/client-api_r/generated/R/compounds_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### AddCompounds #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to import into. #' var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported #' var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) @@ -33,7 +33,7 @@ #' #' #################### AddTagsToCompoundExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. #' var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. @@ -49,7 +49,7 @@ #' #' #################### DeleteCompound #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_compound_id <- "compound_id_example" # character | identifier of the compound to delete. #' @@ -61,7 +61,7 @@ #' #' #################### GetCompound #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_compound_id <- "compound_id_example" # character | identifier of the compound (group of ion identities) to access. #' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -79,7 +79,7 @@ #' #' #################### GetCompoundQuantTableExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) #' @@ -94,7 +94,7 @@ #' #' #################### GetCompoundQuantTableRowExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_compound_id <- "compound_id_example" # character | compound which should be read out #' var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) @@ -110,7 +110,7 @@ #' #' #################### GetCompoundTracesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_compound_id <- "compound_id_example" # character | compound which intensities should be read out #' var_feature_id <- "" # character | (Optional) @@ -126,7 +126,7 @@ #' #' #################### GetCompounds #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -143,7 +143,7 @@ #' #' #################### GetCompoundsByGroupExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_group_name <- "group_name_example" # character | tag group name. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -162,7 +162,7 @@ #' #' #################### GetCompoundsByTagExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project space to get compounds (group of ion identities) from. #' var_filter <- "" # character | tag filter. (Optional) #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -181,7 +181,7 @@ #' #' #################### GetCompoundsPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) #' var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -201,7 +201,7 @@ #' #' #################### GetTagsForCompoundExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to get from. #' var_object_id <- "object_id_example" # character | CompoundId to get tags for. #' @@ -216,7 +216,7 @@ #' #' #################### RemoveTagFromCompoundExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to delete tag from. #' var_tag_name <- "tag_name_example" # character | name of the tag to delete. @@ -402,7 +402,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -555,7 +555,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -810,7 +810,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Compound", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Compound", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -940,7 +940,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1081,7 +1081,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1219,7 +1219,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1370,7 +1370,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Compound]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1537,7 +1537,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1700,7 +1700,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1875,7 +1875,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelCompound", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2008,7 +2008,7 @@ CompoundsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/connection_check.R b/client-api_r/generated/R/connection_check.R index db494827..0926a2c0 100644 --- a/client-api_r/generated/R/connection_check.R +++ b/client-api_r/generated/R/connection_check.R @@ -91,7 +91,7 @@ ConnectionCheck <- R6::R6Class( self$`licenseInfo` <- `licenseinfo_object` } if (!is.null(this_object$`errors`)) { - self$`errors` <- ApiClient$new()$deserializeObj(this_object$`errors`, "array[ConnectionError]", loadNamespace("Rsirius")) + self$`errors` <- ApiClient$new()$deserializeObj(this_object$`errors`, "array[ConnectionError]", loadNamespace("RSirius")) } self }, @@ -115,7 +115,7 @@ ConnectionCheck <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`licenseInfo` <- LicenseInfo$new()$fromJSON(jsonlite::toJSON(this_object$`licenseInfo`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`errors` <- ApiClient$new()$deserializeObj(this_object$`errors`, "array[ConnectionError]", loadNamespace("Rsirius")) + self$`errors` <- ApiClient$new()$deserializeObj(this_object$`errors`, "array[ConnectionError]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/consensus_annotations_csi.R b/client-api_r/generated/R/consensus_annotations_csi.R index c8f8baa2..69d30eae 100644 --- a/client-api_r/generated/R/consensus_annotations_csi.R +++ b/client-api_r/generated/R/consensus_annotations_csi.R @@ -160,7 +160,7 @@ ConsensusAnnotationsCSI <- R6::R6Class( self$`compoundClasses` <- `compoundclasses_object` } if (!is.null(this_object$`supportingFeatureIds`)) { - self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`selectionCriterion`)) { if (!is.null(this_object$`selectionCriterion`) && !(this_object$`selectionCriterion` %in% c("MAJORITY_STRUCTURE", "CONFIDENCE_STRUCTURE", "SINGLETON_STRUCTURE", "MAJORITY_FORMULA", "TOP_FORMULA", "SINGLETON_FORMULA"))) { @@ -202,7 +202,7 @@ ConsensusAnnotationsCSI <- R6::R6Class( this_object <- jsonlite::fromJSON(input_json) self$`molecularFormula` <- this_object$`molecularFormula` self$`compoundClasses` <- CompoundClasses$new()$fromJSON(jsonlite::toJSON(this_object$`compoundClasses`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("RSirius")) if (!is.null(this_object$`selectionCriterion`) && !(this_object$`selectionCriterion` %in% c("MAJORITY_STRUCTURE", "CONFIDENCE_STRUCTURE", "SINGLETON_STRUCTURE", "MAJORITY_FORMULA", "TOP_FORMULA", "SINGLETON_FORMULA"))) { stop(paste("Error! \"", this_object$`selectionCriterion`, "\" cannot be assigned to `selectionCriterion`. Must be \"MAJORITY_STRUCTURE\", \"CONFIDENCE_STRUCTURE\", \"SINGLETON_STRUCTURE\", \"MAJORITY_FORMULA\", \"TOP_FORMULA\", \"SINGLETON_FORMULA\".", sep = "")) } diff --git a/client-api_r/generated/R/consensus_annotations_de_novo.R b/client-api_r/generated/R/consensus_annotations_de_novo.R index 86f8a8cf..76b908fb 100644 --- a/client-api_r/generated/R/consensus_annotations_de_novo.R +++ b/client-api_r/generated/R/consensus_annotations_de_novo.R @@ -123,7 +123,7 @@ ConsensusAnnotationsDeNovo <- R6::R6Class( self$`compoundClasses` <- `compoundclasses_object` } if (!is.null(this_object$`supportingFeatureIds`)) { - self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`selectionCriterion`)) { if (!is.null(this_object$`selectionCriterion`) && !(this_object$`selectionCriterion` %in% c("MAJORITY_FORMULA", "TOP_FORMULA", "SINGLETON_FORMULA"))) { @@ -154,7 +154,7 @@ ConsensusAnnotationsDeNovo <- R6::R6Class( this_object <- jsonlite::fromJSON(input_json) self$`molecularFormula` <- this_object$`molecularFormula` self$`compoundClasses` <- CompoundClasses$new()$fromJSON(jsonlite::toJSON(this_object$`compoundClasses`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`supportingFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`supportingFeatureIds`, "array[character]", loadNamespace("RSirius")) if (!is.null(this_object$`selectionCriterion`) && !(this_object$`selectionCriterion` %in% c("MAJORITY_FORMULA", "TOP_FORMULA", "SINGLETON_FORMULA"))) { stop(paste("Error! \"", this_object$`selectionCriterion`, "\" cannot be assigned to `selectionCriterion`. Must be \"MAJORITY_FORMULA\", \"TOP_FORMULA\", \"SINGLETON_FORMULA\".", sep = "")) } diff --git a/client-api_r/generated/R/data_import_event.R b/client-api_r/generated/R/data_import_event.R index 102161f8..38f2f640 100644 --- a/client-api_r/generated/R/data_import_event.R +++ b/client-api_r/generated/R/data_import_event.R @@ -103,10 +103,10 @@ DataImportEvent <- R6::R6Class( self$`importJobId` <- this_object$`importJobId` } if (!is.null(this_object$`importedCompoundIds`)) { - self$`importedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`importedCompoundIds`, "array[character]", loadNamespace("Rsirius")) + self$`importedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`importedCompoundIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`importedFeatureIds`)) { - self$`importedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`importedFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`importedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`importedFeatureIds`, "array[character]", loadNamespace("RSirius")) } self }, @@ -130,8 +130,8 @@ DataImportEvent <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`importJobId` <- this_object$`importJobId` - self$`importedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`importedCompoundIds`, "array[character]", loadNamespace("Rsirius")) - self$`importedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`importedFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`importedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`importedCompoundIds`, "array[character]", loadNamespace("RSirius")) + self$`importedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`importedFeatureIds`, "array[character]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/feature_annotations.R b/client-api_r/generated/R/feature_annotations.R index d076594a..3672edbf 100644 --- a/client-api_r/generated/R/feature_annotations.R +++ b/client-api_r/generated/R/feature_annotations.R @@ -189,10 +189,10 @@ FeatureAnnotations <- R6::R6Class( self$`expansiveSearchState` <- this_object$`expansiveSearchState` } if (!is.null(this_object$`specifiedDatabases`)) { - self$`specifiedDatabases` <- ApiClient$new()$deserializeObj(this_object$`specifiedDatabases`, "array[character]", loadNamespace("Rsirius")) + self$`specifiedDatabases` <- ApiClient$new()$deserializeObj(this_object$`specifiedDatabases`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`expandedDatabases`)) { - self$`expandedDatabases` <- ApiClient$new()$deserializeObj(this_object$`expandedDatabases`, "array[character]", loadNamespace("Rsirius")) + self$`expandedDatabases` <- ApiClient$new()$deserializeObj(this_object$`expandedDatabases`, "array[character]", loadNamespace("RSirius")) } self }, @@ -224,8 +224,8 @@ FeatureAnnotations <- R6::R6Class( stop(paste("Error! \"", this_object$`expansiveSearchState`, "\" cannot be assigned to `expansiveSearchState`. Must be \"OFF\", \"EXACT\", \"APPROXIMATE\".", sep = "")) } self$`expansiveSearchState` <- this_object$`expansiveSearchState` - self$`specifiedDatabases` <- ApiClient$new()$deserializeObj(this_object$`specifiedDatabases`, "array[character]", loadNamespace("Rsirius")) - self$`expandedDatabases` <- ApiClient$new()$deserializeObj(this_object$`expandedDatabases`, "array[character]", loadNamespace("Rsirius")) + self$`specifiedDatabases` <- ApiClient$new()$deserializeObj(this_object$`specifiedDatabases`, "array[character]", loadNamespace("RSirius")) + self$`expandedDatabases` <- ApiClient$new()$deserializeObj(this_object$`expandedDatabases`, "array[character]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/feature_import.R b/client-api_r/generated/R/feature_import.R index f9605b50..d6373a0a 100644 --- a/client-api_r/generated/R/feature_import.R +++ b/client-api_r/generated/R/feature_import.R @@ -232,7 +232,7 @@ FeatureImport <- R6::R6Class( self$`charge` <- this_object$`charge` } if (!is.null(this_object$`detectedAdducts`)) { - self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("Rsirius")) + self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("RSirius")) if (!identical(self$`detectedAdducts`, unique(self$`detectedAdducts`))) { stop("Error! Items in `detectedAdducts` are not unique.") } @@ -258,10 +258,10 @@ FeatureImport <- R6::R6Class( self$`mergedMs1` <- `mergedms1_object` } if (!is.null(this_object$`ms1Spectra`)) { - self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) + self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) } if (!is.null(this_object$`ms2Spectra`)) { - self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) + self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) } self }, @@ -288,7 +288,7 @@ FeatureImport <- R6::R6Class( self$`externalFeatureId` <- this_object$`externalFeatureId` self$`ionMass` <- this_object$`ionMass` self$`charge` <- this_object$`charge` - self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("Rsirius")) + self$`detectedAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectedAdducts`, "set[character]", loadNamespace("RSirius")) if (!identical(self$`detectedAdducts`, unique(self$`detectedAdducts`))) { stop("Error! Items in `detectedAdducts` are not unique.") } @@ -300,8 +300,8 @@ FeatureImport <- R6::R6Class( } self$`dataQuality` <- this_object$`dataQuality` self$`mergedMs1` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`mergedMs1`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) - self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) + self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) + self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/feature_statistics_api.R b/client-api_r/generated/R/feature_statistics_api.R index cdd55b6d..075ad1bb 100644 --- a/client-api_r/generated/R/feature_statistics_api.R +++ b/client-api_r/generated/R/feature_statistics_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### ComputeAlignedFeatureFoldChangesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to compute the fold change in. #' var_left_group_name <- "left_group_name_example" # character | name of the left tag group. #' var_right_group_name <- "right_group_name_example" # character | name of the right tag group. @@ -34,7 +34,7 @@ #' #' #################### DeleteAlignedFeatureFoldChangesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_left_group_name <- "left_group_name_example" # character | name of the left group. #' var_right_group_name <- "right_group_name_example" # character | name of the right group. @@ -49,7 +49,7 @@ #' #' #################### GetAlignedFeatureFoldChangeTableExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aggregation <- "AVG" # character | aggregation type. (Optional) #' var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) @@ -65,7 +65,7 @@ #' #' #################### GetFoldChangesByAlignedFeatureExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. #' @@ -247,7 +247,7 @@ FeatureStatisticsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -501,7 +501,7 @@ FeatureStatisticsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "StatisticsTable", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -634,7 +634,7 @@ FeatureStatisticsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FoldChange]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/features_api.R b/client-api_r/generated/R/features_api.R index 89e76984..6aeea61f 100644 --- a/client-api_r/generated/R/features_api.R +++ b/client-api_r/generated/R/features_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### AddAlignedFeatures #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to import into. #' var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported #' var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) @@ -32,7 +32,7 @@ #' #' #################### AddDeNovoStructureCandidate #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_smiles <- "none" # character | smiles (Optional) @@ -48,7 +48,7 @@ #' #' #################### AddTagsToAlignedFeatureExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. #' var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. @@ -64,7 +64,7 @@ #' #' #################### DeleteAlignedFeature #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to delete. #' @@ -76,7 +76,7 @@ #' #' #################### DeleteAlignedFeatures #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_request_body <- c("property_example") # array[character] | #' @@ -88,7 +88,7 @@ #' #' #################### GetAdductNetworkWithMergedTracesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | one feature that is considered the main feature of the adduct network #' @@ -103,7 +103,7 @@ #' #' #################### GetAlignedFeature #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. #' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -120,7 +120,7 @@ #' #' #################### GetAlignedFeatureQualityExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. #' @@ -135,7 +135,7 @@ #' #' #################### GetAlignedFeatures #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -151,7 +151,7 @@ #' #' #################### GetAlignedFeaturesByGroupExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_group_name <- "group_name_example" # character | tag group name. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -170,7 +170,7 @@ #' #' #################### GetAlignedFeaturesByTagExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project space to get features (aligned over runs) from. #' var_filter <- "" # character | tag filter. (Optional) #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -189,7 +189,7 @@ #' #' #################### GetAlignedFeaturesPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) #' var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -208,7 +208,7 @@ #' #' #################### GetBestMatchingCompoundClasses #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -224,7 +224,7 @@ #' #' #################### GetCanopusPrediction #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -240,7 +240,7 @@ #' #' #################### GetDeNovoStructureCandidates #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -256,7 +256,7 @@ #' #' #################### GetDeNovoStructureCandidatesByFormula #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -273,7 +273,7 @@ #' #' #################### GetDeNovoStructureCandidatesByFormulaPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -293,7 +293,7 @@ #' #' #################### GetDeNovoStructureCandidatesPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -312,7 +312,7 @@ #' #' #################### GetFeatureQuantTableExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) #' @@ -327,7 +327,7 @@ #' #' #################### GetFingerprintPrediction #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -343,7 +343,7 @@ #' #' #################### GetFormulaAnnotatedMsMsData #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -360,7 +360,7 @@ #' #' #################### GetFormulaAnnotatedSpectrum #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -378,7 +378,7 @@ #' #' #################### GetFormulaCandidate #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -396,7 +396,7 @@ #' #' #################### GetFormulaCandidates #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -413,7 +413,7 @@ #' #' #################### GetFormulaCandidatesPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -433,7 +433,7 @@ #' #' #################### GetFragTree #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -449,7 +449,7 @@ #' #' #################### GetIsotopePatternAnnotation #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -465,7 +465,7 @@ #' #' #################### GetLipidAnnotation #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -481,7 +481,7 @@ #' #' #################### GetMsData #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belongs to. #' var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -497,7 +497,7 @@ #' #' #################### GetQuantTableRowExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which quantity should be read out #' var_type <- "APEX_HEIGHT" # character | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (Optional) @@ -513,7 +513,7 @@ #' #' #################### GetSpectralLibraryMatch #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_match_id <- "match_id_example" # character | id of the library match to be returned. @@ -530,7 +530,7 @@ #' #' #################### GetSpectralLibraryMatches #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_min_shared_peaks <- 1 # integer | (Optional) @@ -549,7 +549,7 @@ #' #' #################### GetSpectralLibraryMatchesPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -571,7 +571,7 @@ #' #' #################### GetSpectralLibraryMatchesSummary #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_min_shared_peaks <- 1 # integer | min threshold of shared peaks. (Optional) @@ -589,7 +589,7 @@ #' #' #################### GetStructureAnnotatedMsDataExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -607,7 +607,7 @@ #' #' #################### GetStructureAnnotatedSpectralLibraryMatchExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_match_id <- "match_id_example" # character | id of the library match to be returned. @@ -623,7 +623,7 @@ #' #' #################### GetStructureAnnotatedSpectrumExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -642,7 +642,7 @@ #' #' #################### GetStructureCandidates #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -658,7 +658,7 @@ #' #' #################### GetStructureCandidatesByFormula #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -675,7 +675,7 @@ #' #' #################### GetStructureCandidatesByFormulaPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. #' var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -695,7 +695,7 @@ #' #' #################### GetStructureCandidatesPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -714,7 +714,7 @@ #' #' #################### GetTagsForAlignedFeaturesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to get from. #' var_object_id <- "object_id_example" # character | object to get tags for. #' @@ -729,7 +729,7 @@ #' #' #################### GetTracesExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which intensities should be read out #' var_include_all <- FALSE # character | when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. (Optional) @@ -745,7 +745,7 @@ #' #' #################### RemoveTagFromAlignedFeatureExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) to delete tag from. #' var_tag_name <- "tag_name_example" # character | name of the tag to delete. @@ -919,7 +919,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1057,7 +1057,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1210,7 +1210,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1538,7 +1538,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1688,7 +1688,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeature", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeature", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1821,7 +1821,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeatureQualityExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AlignedFeatureQualityExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1960,7 +1960,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[AlignedFeature]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2127,7 +2127,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2290,7 +2290,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2453,7 +2453,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelAlignedFeature", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2597,7 +2597,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "CompoundClasses", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "CompoundClasses", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2741,7 +2741,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "CanopusPrediction", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "CanopusPrediction", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2886,7 +2886,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3042,7 +3042,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3222,7 +3222,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3391,7 +3391,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3521,7 +3521,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3665,7 +3665,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[numeric]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[numeric]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3814,7 +3814,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -3968,7 +3968,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4129,7 +4129,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "FormulaCandidate", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "FormulaCandidate", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4279,7 +4279,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[FormulaCandidate]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[FormulaCandidate]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4453,7 +4453,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelFormulaCandidate", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelFormulaCandidate", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4597,7 +4597,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "FragmentationTree", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "FragmentationTree", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4741,7 +4741,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "IsotopePatternAnnotation", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "IsotopePatternAnnotation", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -4885,7 +4885,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "LipidAnnotation", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "LipidAnnotation", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -5023,7 +5023,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "MsData", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "MsData", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -5164,7 +5164,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "QuantTableExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -5320,7 +5320,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatch", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatch", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -5480,7 +5480,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SpectralLibraryMatch]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SpectralLibraryMatch]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -5664,7 +5664,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelSpectralLibraryMatch", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelSpectralLibraryMatch", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -5812,7 +5812,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatchSummary", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "SpectralLibraryMatchSummary", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -5972,7 +5972,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedMsMsData", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -6116,7 +6116,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -6281,7 +6281,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AnnotatedSpectrum", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -6426,7 +6426,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateFormula]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -6582,7 +6582,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StructureCandidateScored]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -6762,7 +6762,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateScored", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -6931,7 +6931,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelStructureCandidateFormula", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -7064,7 +7064,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -7202,7 +7202,7 @@ FeaturesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "TraceSetExperimental", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/formula_candidate.R b/client-api_r/generated/R/formula_candidate.R index fd2168a1..af5c86d4 100644 --- a/client-api_r/generated/R/formula_candidate.R +++ b/client-api_r/generated/R/formula_candidate.R @@ -369,7 +369,7 @@ FormulaCandidate <- R6::R6Class( self$`lipidAnnotation` <- `lipidannotation_object` } if (!is.null(this_object$`predictedFingerprint`)) { - self$`predictedFingerprint` <- ApiClient$new()$deserializeObj(this_object$`predictedFingerprint`, "array[numeric]", loadNamespace("Rsirius")) + self$`predictedFingerprint` <- ApiClient$new()$deserializeObj(this_object$`predictedFingerprint`, "array[numeric]", loadNamespace("RSirius")) } if (!is.null(this_object$`compoundClasses`)) { `compoundclasses_object` <- CompoundClasses$new() @@ -419,7 +419,7 @@ FormulaCandidate <- R6::R6Class( self$`annotatedSpectrum` <- AnnotatedSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`annotatedSpectrum`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`isotopePatternAnnotation` <- IsotopePatternAnnotation$new()$fromJSON(jsonlite::toJSON(this_object$`isotopePatternAnnotation`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`lipidAnnotation` <- LipidAnnotation$new()$fromJSON(jsonlite::toJSON(this_object$`lipidAnnotation`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`predictedFingerprint` <- ApiClient$new()$deserializeObj(this_object$`predictedFingerprint`, "array[numeric]", loadNamespace("Rsirius")) + self$`predictedFingerprint` <- ApiClient$new()$deserializeObj(this_object$`predictedFingerprint`, "array[numeric]", loadNamespace("RSirius")) self$`compoundClasses` <- CompoundClasses$new()$fromJSON(jsonlite::toJSON(this_object$`compoundClasses`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`canopusPrediction` <- CanopusPrediction$new()$fromJSON(jsonlite::toJSON(this_object$`canopusPrediction`, auto_unbox = TRUE, digits = NA, null = 'null')) self diff --git a/client-api_r/generated/R/fragmentation_tree.R b/client-api_r/generated/R/fragmentation_tree.R index 4989fbde..6247a836 100644 --- a/client-api_r/generated/R/fragmentation_tree.R +++ b/client-api_r/generated/R/fragmentation_tree.R @@ -126,10 +126,10 @@ FragmentationTree <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`fragments`)) { - self$`fragments` <- ApiClient$new()$deserializeObj(this_object$`fragments`, "array[FragmentNode]", loadNamespace("Rsirius")) + self$`fragments` <- ApiClient$new()$deserializeObj(this_object$`fragments`, "array[FragmentNode]", loadNamespace("RSirius")) } if (!is.null(this_object$`losses`)) { - self$`losses` <- ApiClient$new()$deserializeObj(this_object$`losses`, "array[LossEdge]", loadNamespace("Rsirius")) + self$`losses` <- ApiClient$new()$deserializeObj(this_object$`losses`, "array[LossEdge]", loadNamespace("RSirius")) } if (!is.null(this_object$`treeScore`)) { self$`treeScore` <- this_object$`treeScore` @@ -161,8 +161,8 @@ FragmentationTree <- R6::R6Class( #' @return the instance of FragmentationTree fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`fragments` <- ApiClient$new()$deserializeObj(this_object$`fragments`, "array[FragmentNode]", loadNamespace("Rsirius")) - self$`losses` <- ApiClient$new()$deserializeObj(this_object$`losses`, "array[LossEdge]", loadNamespace("Rsirius")) + self$`fragments` <- ApiClient$new()$deserializeObj(this_object$`fragments`, "array[FragmentNode]", loadNamespace("RSirius")) + self$`losses` <- ApiClient$new()$deserializeObj(this_object$`losses`, "array[LossEdge]", loadNamespace("RSirius")) self$`treeScore` <- this_object$`treeScore` self$`molecularFormula` <- this_object$`molecularFormula` self$`adduct` <- this_object$`adduct` diff --git a/client-api_r/generated/R/import_result.R b/client-api_r/generated/R/import_result.R index 6b586cd4..757919f8 100644 --- a/client-api_r/generated/R/import_result.R +++ b/client-api_r/generated/R/import_result.R @@ -87,10 +87,10 @@ ImportResult <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`affectedCompoundIds`)) { - self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("Rsirius")) + self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`affectedAlignedFeatureIds`)) { - self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("RSirius")) } self }, @@ -113,8 +113,8 @@ ImportResult <- R6::R6Class( #' @return the instance of ImportResult fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("Rsirius")) - self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("RSirius")) + self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/info.R b/client-api_r/generated/R/info.R index 2d88e86c..ee988a51 100644 --- a/client-api_r/generated/R/info.R +++ b/client-api_r/generated/R/info.R @@ -247,10 +247,10 @@ Info <- R6::R6Class( self$`fingerprintId` <- this_object$`fingerprintId` } if (!is.null(this_object$`availableILPSolvers`)) { - self$`availableILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`availableILPSolvers`, "array[character]", loadNamespace("Rsirius")) + self$`availableILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`availableILPSolvers`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`supportedILPSolvers`)) { - self$`supportedILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`supportedILPSolvers`, "map(character)", loadNamespace("Rsirius")) + self$`supportedILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`supportedILPSolvers`, "map(character)", loadNamespace("RSirius")) } self }, @@ -283,8 +283,8 @@ Info <- R6::R6Class( self$`chemDbVersion` <- this_object$`chemDbVersion` self$`fingerIdModelVersion` <- this_object$`fingerIdModelVersion` self$`fingerprintId` <- this_object$`fingerprintId` - self$`availableILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`availableILPSolvers`, "array[character]", loadNamespace("Rsirius")) - self$`supportedILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`supportedILPSolvers`, "map(character)", loadNamespace("Rsirius")) + self$`availableILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`availableILPSolvers`, "array[character]", loadNamespace("RSirius")) + self$`supportedILPSolvers` <- ApiClient$new()$deserializeObj(this_object$`supportedILPSolvers`, "map(character)", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/info_api.R b/client-api_r/generated/R/info_api.R index cd58a20d..c8f4bfd1 100644 --- a/client-api_r/generated/R/info_api.R +++ b/client-api_r/generated/R/info_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### GetConnectionCheck #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' api_instance <- rsirius_api$new() #' @@ -27,7 +27,7 @@ #' #' #################### GetInfo #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_server_info <- TRUE # character | (Optional) #' var_update_info <- TRUE # character | (Optional) #' @@ -151,7 +151,7 @@ InfoApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ConnectionCheck", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "ConnectionCheck", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -272,7 +272,7 @@ InfoApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Info", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Info", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/job.R b/client-api_r/generated/R/job.R index 0417d4d6..5a0f17a8 100644 --- a/client-api_r/generated/R/job.R +++ b/client-api_r/generated/R/job.R @@ -151,10 +151,10 @@ Job <- R6::R6Class( self$`progress` <- `progress_object` } if (!is.null(this_object$`affectedCompoundIds`)) { - self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("Rsirius")) + self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`affectedAlignedFeatureIds`)) { - self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`jobEffect`)) { if (!is.null(this_object$`jobEffect`) && !(this_object$`jobEffect` %in% c("IMPORT", "COMPUTATION", "DELETION"))) { @@ -186,8 +186,8 @@ Job <- R6::R6Class( self$`id` <- this_object$`id` self$`command` <- this_object$`command` self$`progress` <- JobProgress$new()$fromJSON(jsonlite::toJSON(this_object$`progress`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("Rsirius")) - self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`affectedCompoundIds` <- ApiClient$new()$deserializeObj(this_object$`affectedCompoundIds`, "array[character]", loadNamespace("RSirius")) + self$`affectedAlignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`affectedAlignedFeatureIds`, "array[character]", loadNamespace("RSirius")) if (!is.null(this_object$`jobEffect`) && !(this_object$`jobEffect` %in% c("IMPORT", "COMPUTATION", "DELETION"))) { stop(paste("Error! \"", this_object$`jobEffect`, "\" cannot be assigned to `jobEffect`. Must be \"IMPORT\", \"COMPUTATION\", \"DELETION\".", sep = "")) } diff --git a/client-api_r/generated/R/job_submission.R b/client-api_r/generated/R/job_submission.R index 15054183..348db166 100644 --- a/client-api_r/generated/R/job_submission.R +++ b/client-api_r/generated/R/job_submission.R @@ -225,19 +225,19 @@ JobSubmission <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`compoundIds`)) { - self$`compoundIds` <- ApiClient$new()$deserializeObj(this_object$`compoundIds`, "array[character]", loadNamespace("Rsirius")) + self$`compoundIds` <- ApiClient$new()$deserializeObj(this_object$`compoundIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`alignedFeatureIds`)) { - self$`alignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`alignedFeatureIds`, "array[character]", loadNamespace("Rsirius")) + self$`alignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`alignedFeatureIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`fallbackAdducts`)) { - self$`fallbackAdducts` <- ApiClient$new()$deserializeObj(this_object$`fallbackAdducts`, "array[character]", loadNamespace("Rsirius")) + self$`fallbackAdducts` <- ApiClient$new()$deserializeObj(this_object$`fallbackAdducts`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`enforcedAdducts`)) { - self$`enforcedAdducts` <- ApiClient$new()$deserializeObj(this_object$`enforcedAdducts`, "array[character]", loadNamespace("Rsirius")) + self$`enforcedAdducts` <- ApiClient$new()$deserializeObj(this_object$`enforcedAdducts`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`detectableAdducts`)) { - self$`detectableAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectableAdducts`, "array[character]", loadNamespace("Rsirius")) + self$`detectableAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectableAdducts`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`recompute`)) { self$`recompute` <- this_object$`recompute` @@ -278,7 +278,7 @@ JobSubmission <- R6::R6Class( self$`msNovelistParams` <- `msnovelistparams_object` } if (!is.null(this_object$`configMap`)) { - self$`configMap` <- ApiClient$new()$deserializeObj(this_object$`configMap`, "map(character)", loadNamespace("Rsirius")) + self$`configMap` <- ApiClient$new()$deserializeObj(this_object$`configMap`, "map(character)", loadNamespace("RSirius")) } self }, @@ -301,11 +301,11 @@ JobSubmission <- R6::R6Class( #' @return the instance of JobSubmission fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`compoundIds` <- ApiClient$new()$deserializeObj(this_object$`compoundIds`, "array[character]", loadNamespace("Rsirius")) - self$`alignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`alignedFeatureIds`, "array[character]", loadNamespace("Rsirius")) - self$`fallbackAdducts` <- ApiClient$new()$deserializeObj(this_object$`fallbackAdducts`, "array[character]", loadNamespace("Rsirius")) - self$`enforcedAdducts` <- ApiClient$new()$deserializeObj(this_object$`enforcedAdducts`, "array[character]", loadNamespace("Rsirius")) - self$`detectableAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectableAdducts`, "array[character]", loadNamespace("Rsirius")) + self$`compoundIds` <- ApiClient$new()$deserializeObj(this_object$`compoundIds`, "array[character]", loadNamespace("RSirius")) + self$`alignedFeatureIds` <- ApiClient$new()$deserializeObj(this_object$`alignedFeatureIds`, "array[character]", loadNamespace("RSirius")) + self$`fallbackAdducts` <- ApiClient$new()$deserializeObj(this_object$`fallbackAdducts`, "array[character]", loadNamespace("RSirius")) + self$`enforcedAdducts` <- ApiClient$new()$deserializeObj(this_object$`enforcedAdducts`, "array[character]", loadNamespace("RSirius")) + self$`detectableAdducts` <- ApiClient$new()$deserializeObj(this_object$`detectableAdducts`, "array[character]", loadNamespace("RSirius")) self$`recompute` <- this_object$`recompute` self$`spectraSearchParams` <- SpectralLibrarySearch$new()$fromJSON(jsonlite::toJSON(this_object$`spectraSearchParams`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`formulaIdParams` <- Sirius$new()$fromJSON(jsonlite::toJSON(this_object$`formulaIdParams`, auto_unbox = TRUE, digits = NA, null = 'null')) @@ -314,7 +314,7 @@ JobSubmission <- R6::R6Class( self$`canopusParams` <- Canopus$new()$fromJSON(jsonlite::toJSON(this_object$`canopusParams`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`structureDbSearchParams` <- StructureDbSearch$new()$fromJSON(jsonlite::toJSON(this_object$`structureDbSearchParams`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`msNovelistParams` <- MsNovelist$new()$fromJSON(jsonlite::toJSON(this_object$`msNovelistParams`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`configMap` <- ApiClient$new()$deserializeObj(this_object$`configMap`, "map(character)", loadNamespace("Rsirius")) + self$`configMap` <- ApiClient$new()$deserializeObj(this_object$`configMap`, "map(character)", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/jobs_api.R b/client-api_r/generated/R/jobs_api.R index 8e3c3dcf..73812c5e 100644 --- a/client-api_r/generated/R/jobs_api.R +++ b/client-api_r/generated/R/jobs_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### DeleteJob #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete job from #' var_job_id <- "job_id_example" # character | of the job to be deleted #' var_cancel_if_running <- TRUE # character | If true, job will be canceled if it is not finished. Otherwise, deletion will fail for running jobs or request will block until job has finished. (Optional) @@ -29,7 +29,7 @@ #' #' #################### DeleteJobConfig #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_name <- "name_example" # character | name of the job-config to delete #' #' #Delete job configuration with given name. @@ -40,7 +40,7 @@ #' #' #################### DeleteJobs #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete jobs from #' var_cancel_if_running <- TRUE # character | If true, job will be canceled if it is not finished. Otherwise, deletion will fail for running jobs or request will block until job has finished. (Optional) #' var_await_deletion <- TRUE # character | If true, request will block until deletion succeeded or failed. If the job is still running the request will wait until the job has finished. (Optional) @@ -53,7 +53,7 @@ #' #' #################### GetCommand #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | #' #' #Get a CLI command for the given job configuration. @@ -67,7 +67,7 @@ #' #' #################### GetDefaultJobConfig #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_include_config_map <- FALSE # character | if true, generic configmap with-defaults will be included (Optional) #' var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters (Optional) #' var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (Optional) @@ -83,7 +83,7 @@ #' #' #################### GetJob #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to run jobs on #' var_job_id <- "job_id_example" # character | of the job to be returned #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -99,7 +99,7 @@ #' #' #################### GetJobConfig #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_name <- "name_example" # character | name of the job-config to return #' var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters (Optional) #' @@ -114,7 +114,7 @@ #' #' #################### GetJobConfigNames #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #[DEPRECATED] Get all (non-default) job configuration names #' api_instance <- rsirius_api$new() @@ -127,7 +127,7 @@ #' #' #################### GetJobConfigs #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Request all available job configurations #' api_instance <- rsirius_api$new() @@ -140,7 +140,7 @@ #' #' #################### GetJobs #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to run jobs on #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) #' @@ -155,7 +155,7 @@ #' #' #################### GetJobsPaged #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to run jobs on #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) #' var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -173,7 +173,7 @@ #' #' #################### HasJobs #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | #' var_include_finished <- FALSE # character | (Optional) #' @@ -187,7 +187,7 @@ #' #' #################### SaveJobConfig #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_name <- "name_example" # character | name of the job-config to add #' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add #' var_override_existing <- FALSE # character | (Optional) @@ -204,7 +204,7 @@ #' #' #################### StartJob #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to run jobs on #' var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned #' var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -220,7 +220,7 @@ #' #' #################### StartJobFromConfig #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to run jobs on #' var_job_config_name <- "job_config_name_example" # character | name if the config to be used #' var_request_body <- c("property_example") # array[character] | List of alignedFeatureIds to be computed @@ -638,7 +638,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -764,7 +764,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "JobSubmission", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "JobSubmission", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -909,7 +909,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1036,7 +1036,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1147,7 +1147,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[character]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1258,7 +1258,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[StoredJobSubmission]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[StoredJobSubmission]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1392,7 +1392,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Job]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Job]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1550,7 +1550,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelJob", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelJob", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1677,7 +1677,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1822,7 +1822,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "StoredJobSubmission", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1969,7 +1969,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -2137,7 +2137,7 @@ JobsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/license_info.R b/client-api_r/generated/R/license_info.R index 3f7c2a28..29bb15e5 100644 --- a/client-api_r/generated/R/license_info.R +++ b/client-api_r/generated/R/license_info.R @@ -139,7 +139,7 @@ LicenseInfo <- R6::R6Class( self$`consumables` <- `consumables_object` } if (!is.null(this_object$`terms`)) { - self$`terms` <- ApiClient$new()$deserializeObj(this_object$`terms`, "array[Term]", loadNamespace("Rsirius")) + self$`terms` <- ApiClient$new()$deserializeObj(this_object$`terms`, "array[Term]", loadNamespace("RSirius")) } self }, @@ -166,7 +166,7 @@ LicenseInfo <- R6::R6Class( self$`userId` <- this_object$`userId` self$`subscription` <- Subscription$new()$fromJSON(jsonlite::toJSON(this_object$`subscription`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`consumables` <- SubscriptionConsumables$new()$fromJSON(jsonlite::toJSON(this_object$`consumables`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`terms` <- ApiClient$new()$deserializeObj(this_object$`terms`, "array[Term]", loadNamespace("Rsirius")) + self$`terms` <- ApiClient$new()$deserializeObj(this_object$`terms`, "array[Term]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/login_and_account_api.R b/client-api_r/generated/R/login_and_account_api.R index d0d13d85..4e6ee059 100644 --- a/client-api_r/generated/R/login_and_account_api.R +++ b/client-api_r/generated/R/login_and_account_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### GetAccountInfo #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_include_subs <- FALSE # character | include available and active subscriptions in {@link AccountInfo AccountInfo}. (Optional) #' #' #Get information about the account currently logged in. @@ -29,7 +29,7 @@ #' #' #################### GetSignUpURL #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Get SignUp URL (For signUp via web browser) #' api_instance <- rsirius_api$new() @@ -42,7 +42,7 @@ #' #' #################### GetSubscriptions #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Get available subscriptions of the account currently logged in. #' api_instance <- rsirius_api$new() @@ -55,7 +55,7 @@ #' #' #################### IsLoggedIn #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Check if a user is logged in. #' api_instance <- rsirius_api$new() @@ -68,7 +68,7 @@ #' #' #################### Login #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_accept_terms <- "accept_terms_example" # character | #' var_account_credentials <- AccountCredentials$new("username_example", "password_example", "refreshToken_example") # AccountCredentials | used to log in. #' var_fail_when_logged_in <- FALSE # character | if true request fails if an active login already exists. (Optional) @@ -85,7 +85,7 @@ #' #' #################### Logout #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Logout from SIRIUS web services. #' api_instance <- rsirius_api$new() @@ -95,7 +95,7 @@ #' #' #################### OpenPortal #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Open User portal in browser. #' api_instance <- rsirius_api$new() @@ -105,7 +105,7 @@ #' #' #################### SelectSubscription #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_sid <- "sid_example" # character | #' #' #Select a subscription as active subscription to be used for computations. @@ -119,7 +119,7 @@ #' #' #################### SignUp #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #Open SignUp window in system browser and return signUp link. #' api_instance <- rsirius_api$new() @@ -247,7 +247,7 @@ LoginAndAccountApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -358,7 +358,7 @@ LoginAndAccountApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -469,7 +469,7 @@ LoginAndAccountApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Subscription]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Subscription]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -580,7 +580,7 @@ LoginAndAccountApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -723,7 +723,7 @@ LoginAndAccountApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -985,7 +985,7 @@ LoginAndAccountApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "AccountInfo", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1096,7 +1096,7 @@ LoginAndAccountApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/ms_data.R b/client-api_r/generated/R/ms_data.R index d546b217..82713fba 100644 --- a/client-api_r/generated/R/ms_data.R +++ b/client-api_r/generated/R/ms_data.R @@ -135,10 +135,10 @@ MsData <- R6::R6Class( self$`mergedMs2` <- `mergedms2_object` } if (!is.null(this_object$`ms1Spectra`)) { - self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) + self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) } if (!is.null(this_object$`ms2Spectra`)) { - self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) + self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) } self }, @@ -164,8 +164,8 @@ MsData <- R6::R6Class( self$`isotopePattern` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`isotopePattern`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`mergedMs1` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`mergedMs1`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`mergedMs2` <- BasicSpectrum$new()$fromJSON(jsonlite::toJSON(this_object$`mergedMs2`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) - self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("Rsirius")) + self$`ms1Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms1Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) + self$`ms2Spectra` <- ApiClient$new()$deserializeObj(this_object$`ms2Spectra`, "array[BasicSpectrum]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/paged_model_aligned_feature.R b/client-api_r/generated/R/paged_model_aligned_feature.R index 3a7eb43a..14d125d9 100644 --- a/client-api_r/generated/R/paged_model_aligned_feature.R +++ b/client-api_r/generated/R/paged_model_aligned_feature.R @@ -86,7 +86,7 @@ PagedModelAlignedFeature <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[AlignedFeature]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[AlignedFeature]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelAlignedFeature <- R6::R6Class( #' @return the instance of PagedModelAlignedFeature fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[AlignedFeature]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[AlignedFeature]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/paged_model_compound.R b/client-api_r/generated/R/paged_model_compound.R index 35534b55..ab411301 100644 --- a/client-api_r/generated/R/paged_model_compound.R +++ b/client-api_r/generated/R/paged_model_compound.R @@ -86,7 +86,7 @@ PagedModelCompound <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Compound]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Compound]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelCompound <- R6::R6Class( #' @return the instance of PagedModelCompound fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Compound]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Compound]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/paged_model_formula_candidate.R b/client-api_r/generated/R/paged_model_formula_candidate.R index 4411ee37..9126899b 100644 --- a/client-api_r/generated/R/paged_model_formula_candidate.R +++ b/client-api_r/generated/R/paged_model_formula_candidate.R @@ -86,7 +86,7 @@ PagedModelFormulaCandidate <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[FormulaCandidate]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[FormulaCandidate]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelFormulaCandidate <- R6::R6Class( #' @return the instance of PagedModelFormulaCandidate fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[FormulaCandidate]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[FormulaCandidate]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/paged_model_job.R b/client-api_r/generated/R/paged_model_job.R index cad8d492..525f3948 100644 --- a/client-api_r/generated/R/paged_model_job.R +++ b/client-api_r/generated/R/paged_model_job.R @@ -86,7 +86,7 @@ PagedModelJob <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Job]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Job]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelJob <- R6::R6Class( #' @return the instance of PagedModelJob fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Job]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Job]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/paged_model_run.R b/client-api_r/generated/R/paged_model_run.R index 11b15c7d..1c0ae1f2 100644 --- a/client-api_r/generated/R/paged_model_run.R +++ b/client-api_r/generated/R/paged_model_run.R @@ -86,7 +86,7 @@ PagedModelRun <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Run]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Run]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelRun <- R6::R6Class( #' @return the instance of PagedModelRun fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Run]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[Run]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/paged_model_spectral_library_match.R b/client-api_r/generated/R/paged_model_spectral_library_match.R index b51b4f5a..b2d4be23 100644 --- a/client-api_r/generated/R/paged_model_spectral_library_match.R +++ b/client-api_r/generated/R/paged_model_spectral_library_match.R @@ -86,7 +86,7 @@ PagedModelSpectralLibraryMatch <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelSpectralLibraryMatch <- R6::R6Class( #' @return the instance of PagedModelSpectralLibraryMatch fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/paged_model_structure_candidate_formula.R b/client-api_r/generated/R/paged_model_structure_candidate_formula.R index 3e4f1474..41d60569 100644 --- a/client-api_r/generated/R/paged_model_structure_candidate_formula.R +++ b/client-api_r/generated/R/paged_model_structure_candidate_formula.R @@ -86,7 +86,7 @@ PagedModelStructureCandidateFormula <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateFormula]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateFormula]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelStructureCandidateFormula <- R6::R6Class( #' @return the instance of PagedModelStructureCandidateFormula fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateFormula]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateFormula]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/paged_model_structure_candidate_scored.R b/client-api_r/generated/R/paged_model_structure_candidate_scored.R index df7321a3..1e4aa531 100644 --- a/client-api_r/generated/R/paged_model_structure_candidate_scored.R +++ b/client-api_r/generated/R/paged_model_structure_candidate_scored.R @@ -86,7 +86,7 @@ PagedModelStructureCandidateScored <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`content`)) { - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateScored]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateScored]", loadNamespace("RSirius")) } if (!is.null(this_object$`page`)) { `page_object` <- PageMetadata$new() @@ -114,7 +114,7 @@ PagedModelStructureCandidateScored <- R6::R6Class( #' @return the instance of PagedModelStructureCandidateScored fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateScored]", loadNamespace("Rsirius")) + self$`content` <- ApiClient$new()$deserializeObj(this_object$`content`, "array[StructureCandidateScored]", loadNamespace("RSirius")) self$`page` <- PageMetadata$new()$fromJSON(jsonlite::toJSON(this_object$`page`, auto_unbox = TRUE, digits = NA, null = 'null')) self }, diff --git a/client-api_r/generated/R/peak_annotation.R b/client-api_r/generated/R/peak_annotation.R index d7ee56cd..6bb9b1b7 100644 --- a/client-api_r/generated/R/peak_annotation.R +++ b/client-api_r/generated/R/peak_annotation.R @@ -269,13 +269,13 @@ PeakAnnotation <- R6::R6Class( self$`parentPeak` <- `parentpeak_object` } if (!is.null(this_object$`substructureAtoms`)) { - self$`substructureAtoms` <- ApiClient$new()$deserializeObj(this_object$`substructureAtoms`, "array[integer]", loadNamespace("Rsirius")) + self$`substructureAtoms` <- ApiClient$new()$deserializeObj(this_object$`substructureAtoms`, "array[integer]", loadNamespace("RSirius")) } if (!is.null(this_object$`substructureBonds`)) { - self$`substructureBonds` <- ApiClient$new()$deserializeObj(this_object$`substructureBonds`, "array[integer]", loadNamespace("Rsirius")) + self$`substructureBonds` <- ApiClient$new()$deserializeObj(this_object$`substructureBonds`, "array[integer]", loadNamespace("RSirius")) } if (!is.null(this_object$`substructureBondsCut`)) { - self$`substructureBondsCut` <- ApiClient$new()$deserializeObj(this_object$`substructureBondsCut`, "array[integer]", loadNamespace("Rsirius")) + self$`substructureBondsCut` <- ApiClient$new()$deserializeObj(this_object$`substructureBondsCut`, "array[integer]", loadNamespace("RSirius")) } if (!is.null(this_object$`substructureScore`)) { self$`substructureScore` <- this_object$`substructureScore` @@ -313,9 +313,9 @@ PeakAnnotation <- R6::R6Class( self$`recalibratedMassDeviationMz` <- this_object$`recalibratedMassDeviationMz` self$`recalibratedMassDeviationPpm` <- this_object$`recalibratedMassDeviationPpm` self$`parentPeak` <- ParentPeak$new()$fromJSON(jsonlite::toJSON(this_object$`parentPeak`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`substructureAtoms` <- ApiClient$new()$deserializeObj(this_object$`substructureAtoms`, "array[integer]", loadNamespace("Rsirius")) - self$`substructureBonds` <- ApiClient$new()$deserializeObj(this_object$`substructureBonds`, "array[integer]", loadNamespace("Rsirius")) - self$`substructureBondsCut` <- ApiClient$new()$deserializeObj(this_object$`substructureBondsCut`, "array[integer]", loadNamespace("Rsirius")) + self$`substructureAtoms` <- ApiClient$new()$deserializeObj(this_object$`substructureAtoms`, "array[integer]", loadNamespace("RSirius")) + self$`substructureBonds` <- ApiClient$new()$deserializeObj(this_object$`substructureBonds`, "array[integer]", loadNamespace("RSirius")) + self$`substructureBondsCut` <- ApiClient$new()$deserializeObj(this_object$`substructureBondsCut`, "array[integer]", loadNamespace("RSirius")) self$`substructureScore` <- this_object$`substructureScore` self$`hydrogenRearrangements` <- this_object$`hydrogenRearrangements` self diff --git a/client-api_r/generated/R/projects_api.R b/client-api_r/generated/R/projects_api.R index 581e433d..8a7aac4c 100644 --- a/client-api_r/generated/R/projects_api.R +++ b/client-api_r/generated/R/projects_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### CloseProject #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | unique name/identifier of the project-space to be closed. #' var_compact <- FALSE # character | if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (Optional) #' @@ -27,7 +27,7 @@ #' #' #################### CreateProject #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. #' var_path_to_project <- "path_to_project_example" # character | local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (Optional) #' var_opt_fields <- c("none") # array[character] | (Optional) @@ -43,7 +43,7 @@ #' #' #################### GetCanopusClassyFireData #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | #' var_charge <- 56 # integer | #' @@ -58,7 +58,7 @@ #' #' #################### GetCanopusNpcData #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | #' var_charge <- 56 # integer | #' @@ -73,7 +73,7 @@ #' #' #################### GetFingerIdData #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | #' var_charge <- 56 # integer | #' @@ -88,7 +88,7 @@ #' #' #################### GetProject #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | unique name/identifier tof the project-space to be accessed. #' var_opt_fields <- c("none") # array[character] | (Optional) #' @@ -103,7 +103,7 @@ #' #' #################### GetProjects #################### #' -#' library(Rsirius) +#' library(RSirius) #' #' #List opened project spaces. #' api_instance <- rsirius_api$new() @@ -116,7 +116,7 @@ #' #' #################### ImportMsRunData #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | Project-space to import into. #' var_input_files <- c(123) # array[data.frame] | Files to import into project. #' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | @@ -132,7 +132,7 @@ #' #' #################### ImportMsRunDataAsJob #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | Project-space to import into. #' var_input_files <- c(123) # array[data.frame] | Files to import into project. #' var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | @@ -149,7 +149,7 @@ #' #' #################### ImportPreprocessedData #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to import into. #' var_input_files <- c(123) # array[data.frame] | files to import into project #' var_ignore_formulas <- FALSE # character | (Optional) @@ -166,7 +166,7 @@ #' #' #################### ImportPreprocessedDataAsJob #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to import into. #' var_input_files <- c(123) # array[data.frame] | #' var_ignore_formulas <- FALSE # character | (Optional) @@ -184,7 +184,7 @@ #' #' #################### OpenProject #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. #' var_path_to_project <- "path_to_project_example" # character | local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (Optional) #' var_opt_fields <- c("none") # array[character] | (Optional) @@ -425,7 +425,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -556,7 +556,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -687,7 +687,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -818,7 +818,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "character", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -952,7 +952,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1063,7 +1063,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[ProjectInfo]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[ProjectInfo]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1209,7 +1209,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1367,7 +1367,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1509,7 +1509,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "ImportResult", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1663,7 +1663,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1802,7 +1802,7 @@ ProjectsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "ProjectInfo", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/quant_table_experimental.R b/client-api_r/generated/R/quant_table_experimental.R index 7c0f18eb..56a76d70 100644 --- a/client-api_r/generated/R/quant_table_experimental.R +++ b/client-api_r/generated/R/quant_table_experimental.R @@ -167,19 +167,19 @@ QuantTableExperimental <- R6::R6Class( self$`rowType` <- this_object$`rowType` } if (!is.null(this_object$`rowIds`)) { - self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[integer]", loadNamespace("Rsirius")) + self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[integer]", loadNamespace("RSirius")) } if (!is.null(this_object$`columnIds`)) { - self$`columnIds` <- ApiClient$new()$deserializeObj(this_object$`columnIds`, "array[integer]", loadNamespace("Rsirius")) + self$`columnIds` <- ApiClient$new()$deserializeObj(this_object$`columnIds`, "array[integer]", loadNamespace("RSirius")) } if (!is.null(this_object$`rowNames`)) { - self$`rowNames` <- ApiClient$new()$deserializeObj(this_object$`rowNames`, "array[character]", loadNamespace("Rsirius")) + self$`rowNames` <- ApiClient$new()$deserializeObj(this_object$`rowNames`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`columnNames`)) { - self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("Rsirius")) + self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`values`)) { - self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("Rsirius")) + self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("RSirius")) } self }, @@ -210,11 +210,11 @@ QuantTableExperimental <- R6::R6Class( stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) } self$`rowType` <- this_object$`rowType` - self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[integer]", loadNamespace("Rsirius")) - self$`columnIds` <- ApiClient$new()$deserializeObj(this_object$`columnIds`, "array[integer]", loadNamespace("Rsirius")) - self$`rowNames` <- ApiClient$new()$deserializeObj(this_object$`rowNames`, "array[character]", loadNamespace("Rsirius")) - self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("Rsirius")) - self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("Rsirius")) + self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[integer]", loadNamespace("RSirius")) + self$`columnIds` <- ApiClient$new()$deserializeObj(this_object$`columnIds`, "array[integer]", loadNamespace("RSirius")) + self$`rowNames` <- ApiClient$new()$deserializeObj(this_object$`rowNames`, "array[character]", loadNamespace("RSirius")) + self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("RSirius")) + self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/rsirius_api.R b/client-api_r/generated/R/rsirius_api.R index ed214441..93ae5024 100644 --- a/client-api_r/generated/R/rsirius_api.R +++ b/client-api_r/generated/R/rsirius_api.R @@ -5,9 +5,9 @@ #' The version of the OpenAPI document: 3.1 #' Generated by: https://openapi-generator.tech #' -#' Rsirius API Class +#' RSirius API Class #' -#' A single point of access to the Rsirius API. +#' A single point of access to the RSirius API. #' #' NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). #' Ref: https://openapi-generator.tech @@ -47,10 +47,10 @@ rsirius_api <- R6::R6Class( runs_api = NULL, searchable_databases_api = NULL, tags_api = NULL, - #' Initialize a new Rsirius API Class. + #' Initialize a new RSirius API Class. #' #' @description - #' Initialize a new Rsirius API Class. + #' Initialize a new RSirius API Class. #' #' @param api_client An instance of API client (optional). #' @export diff --git a/client-api_r/generated/R/rsirius_sdk.R b/client-api_r/generated/R/rsirius_sdk.R index 6fe1a36f..5ce6ec5f 100644 --- a/client-api_r/generated/R/rsirius_sdk.R +++ b/client-api_r/generated/R/rsirius_sdk.R @@ -1,434 +1,434 @@ -SiriusSDK <- R6::R6Class( - "SiriusSDK", - public = list( - port = NULL, - host = NULL, - sirius_path = NULL, - projectspace = NULL, - workspace = NULL, - process = NULL, - process_id = NULL, - api_client = NULL, - run_command = NULL, - run_args = NULL, - - reset_sdk_class = function() { - self$port <- NULL - self$host <- NULL - self$sirius_path <- NULL - self$projectspace <- NULL - self$workspace <- NULL - self$process <- NULL - self$process_id <- NULL - self$api_client <- NULL - self$run_command <- NULL - self$run_args <- NULL - }, - - reset_sdk_process = function() { - self$process <- NULL - self$process_id <- NULL - }, - - connect = function(url) { - self$host <- url - self$api_client <- Rsirius::ApiClient$new(self$host) - return(Rsirius::rsirius_api$new(self$api_client)) - }, - - reconnect = function() { - if (!is.null(self$api_client) && !is.null(self$process) && self$process$is_alive()) { - return(Rsirius::rsirius_api(self$api_client)) - } - cat("Cannot reconnect, api_client and/or process are NULL or process has terminated.\n") - return(NULL) - }, - - restart_sirius = function() { - if (!is.null(self$run_command) && !is.null(self$run_args) && !is.null(self$process) && !is.null(self$api_client)) { - if (inherits(self$shutdown_sirius(), "logical")) { - cat("Shutdown seems to have gone wrong, aborting restart...\n") - return(NULL) - } - - self$process <- processx::process$new(command = self$run_command, args = self$run_args) - for (i in 1:60) { - Sys.sleep(1) - tryCatch({ - if (self$process$is_alive()) { - found <- private$cycle_find_sirius_pid_and_port() - if (!found) { - cat("Could not find sirius.port file. Please terminate SIRIUS if needed and try specifying a port\n") - cat("Alternatively, try attaching to a running SIRIUS instance with attach_to_running_sirius()\n") - return(NULL) - } - # connect() sets self$host and self$api_client - host <- paste0('http://localhost:', self$port) - sirius_api <- self$connect(host) - return(sirius_api) - } else { - cat("The SIRIUS process seems to have exited during startup. Please investigate this error.\n") - self$reset_sdk_class() - } - }, error = function(e) { - cat(e$message, "\n") - }) - } - - cat("SIRIUS seems to have problems starting. Resetting SiriusSDK...\n") - self$reset_sdk_class() - return(NULL) - } - cat("Could not attempt REST restart, run_command, run_args, process or api_client are NULL.\n") - return(NULL) - }, - - attach_or_start_sirius = function(headless = NULL) { - sirius_api <- self$attach_to_sirius() - # attachment encountered issue - if (is.logical(sirius_api)) { - return(NULL) - } - # attachment did not encounter issue but also found no SIRIUS - else if (is.null(sirius_api)) { - sirius_api <- self$start_sirius(headless = headless) - } - # attachment successful - else { - message("Attached to running SIRIUS instance.") - } - return(sirius_api) - }, - - attach_to_sirius = function(sirius_major_version = NULL, sirius_port = NULL) { - - # check if connection to API client is possible - if (!is.null(self$api_client)) { - tryCatch({ - if (Rsirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { - return(Rsirius::rsirius_api$new(self$api_client)) - } - }, error = function(e) { - message("Found existing API Client, but could not reach API.") - }) - } - - # create and check API client from existing port - if (!is.null(self$port)) { - self$host <- paste0('http://localhost:', self$port) - sirius_api <- self$connect(self$host) - self$api_client <- sirius_api$api_client - tryCatch({ - if (Rsirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { - return(Rsirius::rsirius_api$new(self$api_client)) - } - }, error = function(e) { - message("Found existing port, but could not reach API under this port.") - }) - } - - # if client is not reachable, search for process and kill if necessary - if (!is.null(self$process)) { - if (self$process$is_alive()) { - message("The SIRIUS process still seems to be lingering, but no connection could be made to the API.") - message("Shutting down the process...") - if (inherits(self$shutdown_sirius(), "logical")) { - # before error messages will be done by shutdown function - message("Aborting....") - return(FALSE) - } - message("Process shut down successfully.") - } else { - message("Known process seems to have terminated at some time.") - } - } - - self$reset_sdk_class() - message("SiriusSDK has been reset. Continuing with search for new SIRIUS instance...") - - if (!is.null(sirius_port)) { - self$port <- sirius_port - } else { - found <- private$find_sirius_pid_and_port(sirius_major_version) - if (!found) { - message("No port file matching ~/.sirius/sirius-X.X.port was found.") - message("Please try providing the port.") - return(NULL) - } - } - - self$host <- paste0('http://localhost:', self$port) - sirius_api <- self$connect(self$host) - self$api_client <- sirius_api$api_client - - tryCatch({ - if (Rsirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { - return(Rsirius::rsirius_api$new(self$api_client)) - } - }, error = function(e) { - message("Created API client from process_id and port, but could not reach API.") - }) - - message("Files for SIRIUS process_id and port have been found, but do not belong to an alive API.") - message("Process_id and port files will be deleted and start_sirius will be called.") - private$delete_sirius_pid_and_port(sirius_major_version) - self$reset_sdk_class() - - return(NULL) - }, - - start_sirius = function(sirius_path = NULL, port = NULL, projectspace = NULL, workspace = NULL, forceStart = FALSE, headless = NULL) { - if (!is.null(self$process) && !forceStart) { - cat("Sirius seems to have already been started with PID:", self$process$get_pid(), ".\n") - cat("Use reconnect() to get a new API instance for your current SIRIUS.\n") - cat("Use shutdown_sirius() and then start_sirius() to restart SIRIUS and get a new API instance.\n") - cat("If you are sure the process is not running anymore, use reset_sdk_process() or reset the complete SDK using reset_sdk_class() before calling start() again.\n") - cat("[NOT RECOMMENDED] Use start with forceStart=TRUE to skip this warning and start a second service.\n") - return(NULL) - } - - self$workspace <- workspace - - if (!is.null(sirius_path)) { - if (!file.exists(sirius_path)) { - cat("Wrong path to executable.\n") - self$reset_sdk_class() - return(NULL) - } - self$sirius_path <- normalizePath(sirius_path) - } else { - if (Sys.getenv("PATH") == "" || !grepl("sirius", Sys.getenv("PATH"))) { - cat("Please provide a path to the sirius executable if not declared in PATH!\n") - self$reset_sdk_class() - return(NULL) - } - cat("Found SIRIUS in PATH! Using this information to start the application.\n") - self$sirius_path <- 'sirius' - } - - if (!is.null(projectspace)) { - if (!file.exists(projectspace)) { - cat("Wrong path to project space.\n") - self$reset_sdk_class() - return(NULL) - } - self$projectspace <- normalizePath(projectspace) - run_args <- c("--output", self$projectspace, "REST", "-s") - } else { - run_args <- c("REST", "-s") - } - - if (!is.null(workspace)) { - if (!file.exists(workspace)) { - cat("Wrong path to workspace\n") - self$reset_sdk_class() - return(NULL) - } - cat("[WARNING] Overwriting workspace location [NOT RECOMMENDED]\n") - self$workspace <- normalizePath(workspace) - run_args <- append(run_args, c("--workspace", workspace), 3) - } - - if (!is.null(port)) { - self$port <- port - run_args <- append(run_args, c("-p", as.character(port))) - } - - if (!is.null(headless) && headless == TRUE) { - run_args <- append(run_args, "--headless") - } else if (!is.null(headless) && headless == FALSE) { - run_args <- append(run_args, "--no-headless") - } - - self$run_command <- self$sirius_path - self$run_args <- run_args - self$process <- processx::process$new(command = self$run_command, args = self$run_args) - self$process_id <- self$process$get_pid() - - if (is.null(port)) { - cat("SIRIUS was started without specifying --port (-p), trying to find the sirius.port file.\n") - if (is.null(workspace)) { - found <- private$cycle_find_sirius_pid_and_port() - } else { - found <- private$cycle_find_sirius_pid_and_port(folder = workspace) - } - if (!found) { - cat("Could not find sirius.port file. Please terminate SIRIUS if needed and try specifying a port\n") - cat("Alternatively, try attaching to a running SIRIUS instance with attach_to_running_sirius()\n") - return(NULL) - } - } - - self$host <- paste0('http://localhost:', self$port) - sirius_api <- self$connect(self$host) - self$api_client <- sirius_api$api_client - - for (i in 1:30) { - Sys.sleep(1) - tryCatch({ - if (self$process$is_alive()) { - if (sirius_api$actuator_api$Health()$status == "UP") { - return(sirius_api) - } - } else { - cat("The SIRIUS process seems to have exited during startup. Please investigate this error.\n") - self$reset_sdk_class() - } - }, error = function(e) { - cat(e$message, "\n") - }) - } - - cat("SIRIUS seems to have problems starting. Resetting SiriusSDK...\n") - self$reset_sdk_class() - return(NULL) - }, - - shutdown_sirius = function() { - if (!is.null(self$process)) { - tryCatch({ - Rsirius::ActuatorApi$new(self$api_client)$Shutdown() - Sys.sleep(3) - if (!self$process$is_alive()) { - cat("Sirius was shut down successfully\n") - self$reset_sdk_process() - return(NULL) - } - }, error = function(e) { - cat("An Exception occurred while trying to gracefully shutdown SIRIUS!\n") - cat(e$message, "\n") - }) - - self$process$interrupt() - Sys.sleep(3) - if (!self$process$is_alive()) { - cat("Sirius process has been terminated.\n") - self$reset_sdk_process() - return(NULL) - } - - self$process$kill() - Sys.sleep(3) - if (!self$process$is_alive()) { - cat("Sirius process has been killed.\n") - self$reset_sdk_process() - return(NULL) - } - - cat("Unable to stop Sirius! - Please manually terminate the process with PID ", self$process$get_pid(), "\n") - cat("After terminating the process, use start_sirius() to start a new instance of SIRIUS.\n") - return(FALSE) - } else if (!is.null(self$process_id)) { - system(paste("kill -SIGTERM", self$process_id)) - Sys.sleep(3) - tryCatch({ - system(paste("kill -0", self$process_id)) - }, error = function(e) { - cat("Sirius process has been terminated.\n") - self$reset_sdk_process() - return(NULL) - }) - - system(paste("kill -SIGKILL", self$process_id)) - Sys.sleep(3) - tryCatch({ - system(paste("kill -0", self$process_id)) - }, error = function(e) { - cat("Sirius process has been killed.\n") - self$reset_sdk_process() - return(NULL) - }) - - cat("Unable to stop Sirius! - Please manually terminate the process with PID ", self$process_id, "\n") - cat("After terminating the process, use start_sirius() to start a new instance of SIRIUS.\n") - return(FALSE) - } else { - cat("There does not seem to be any process or process_id to shut down...\n") - return(FALSE) - } - } - ), - - private = list( - are_all_vars_none = function() { - all_names <- ls(envir = self, all.names = TRUE) - # exclude functions - field_names <- all_names[sapply(all_names, function(name) !is.function(self[[name]]))] - # exclude ".__enclos_env__" - field_names <- field_names[-1] - all(sapply(field_names, function(name) is.null(self[[name]]))) - }, - - find_sirius_pid_and_port = function(sirius_version = NULL) { - result = private$get_sirius_pid_and_port(sirius_version) - if (is.logical(result)) { - return(FALSE) - } - pid_file = result[[1]] - port_file = result[[2]] - pid <- as.integer(readLines(pid_file, warn = FALSE)) - port <- as.integer(readLines(port_file, warn = FALSE)) - - self$process_id <- pid - self$port <- port - - message("Using port ", port, " from file ", port_file) - message("Using PID ", pid, " from file ", pid_file) - return(TRUE) - }, - - delete_sirius_pid_and_port = function(sirius_version = NULL) { - result = private$get_sirius_pid_and_port(sirius_version) - if (is.logical(result)) { - return(FALSE) - } - pid_file = result[[1]] - port_file = result[[2]] - file.remove(pid_file) - file.remove (port_file) - }, - - get_sirius_pid_and_port = function(sirius_version = NULL) { - if (Sys.info()['sysname']=="Windows") { - global_workspace <- file.path(Sys.getenv("USERPROFILE"), ".sirius") - } else { - global_workspace <- path.expand("~/.sirius") - } - - if (is.null(sirius_version) || sirius_version == "None") { - port_pattern_match <- "[0-9]*" - } else { - port_pattern_match <- sirius_version - } - - port_pattern <- file.path(global_workspace, paste0("sirius-", port_pattern_match, ".port")) - port_files <- Sys.glob(port_pattern) - - if (length(port_files) == 0) { - return(FALSE) - } - - if (length(port_files) > 1) { - message("Following sirius port files detected:") - for (f in port_files) { - message(f) - } - } - - port_file <- sort(port_files)[length(port_files)] - pid_file <- sub(".port$", ".pid", port_file) - - return(c(pid_file, port_file)) - }, - - cycle_find_sirius_pid_and_port = function() { - for (i in 1:30) { - Sys.sleep(1) - if (private$find_sirius_pid_and_port()) { - return(TRUE) - } - } - return(FALSE) - } - ) -) +SiriusSDK <- R6::R6Class( + "SiriusSDK", + public = list( + port = NULL, + host = NULL, + sirius_path = NULL, + projectspace = NULL, + workspace = NULL, + process = NULL, + process_id = NULL, + api_client = NULL, + run_command = NULL, + run_args = NULL, + + reset_sdk_class = function() { + self$port <- NULL + self$host <- NULL + self$sirius_path <- NULL + self$projectspace <- NULL + self$workspace <- NULL + self$process <- NULL + self$process_id <- NULL + self$api_client <- NULL + self$run_command <- NULL + self$run_args <- NULL + }, + + reset_sdk_process = function() { + self$process <- NULL + self$process_id <- NULL + }, + + connect = function(url) { + self$host <- url + self$api_client <- RSirius::ApiClient$new(self$host) + return(RSirius::rsirius_api$new(self$api_client)) + }, + + reconnect = function() { + if (!is.null(self$api_client) && !is.null(self$process) && self$process$is_alive()) { + return(RSirius::rsirius_api(self$api_client)) + } + cat("Cannot reconnect, api_client and/or process are NULL or process has terminated.\n") + return(NULL) + }, + + restart_sirius = function() { + if (!is.null(self$run_command) && !is.null(self$run_args) && !is.null(self$process) && !is.null(self$api_client)) { + if (inherits(self$shutdown_sirius(), "logical")) { + cat("Shutdown seems to have gone wrong, aborting restart...\n") + return(NULL) + } + + self$process <- processx::process$new(command = self$run_command, args = self$run_args) + for (i in 1:60) { + Sys.sleep(1) + tryCatch({ + if (self$process$is_alive()) { + found <- private$cycle_find_sirius_pid_and_port() + if (!found) { + cat("Could not find sirius.port file. Please terminate SIRIUS if needed and try specifying a port\n") + cat("Alternatively, try attaching to a running SIRIUS instance with attach_to_running_sirius()\n") + return(NULL) + } + # connect() sets self$host and self$api_client + host <- paste0('http://localhost:', self$port) + sirius_api <- self$connect(host) + return(sirius_api) + } else { + cat("The SIRIUS process seems to have exited during startup. Please investigate this error.\n") + self$reset_sdk_class() + } + }, error = function(e) { + cat(e$message, "\n") + }) + } + + cat("SIRIUS seems to have problems starting. Resetting SiriusSDK...\n") + self$reset_sdk_class() + return(NULL) + } + cat("Could not attempt REST restart, run_command, run_args, process or api_client are NULL.\n") + return(NULL) + }, + + attach_or_start_sirius = function(headless = NULL) { + sirius_api <- self$attach_to_sirius() + # attachment encountered issue + if (is.logical(sirius_api)) { + return(NULL) + } + # attachment did not encounter issue but also found no SIRIUS + else if (is.null(sirius_api)) { + sirius_api <- self$start_sirius(headless = headless) + } + # attachment successful + else { + message("Attached to running SIRIUS instance.") + } + return(sirius_api) + }, + + attach_to_sirius = function(sirius_major_version = NULL, sirius_port = NULL) { + + # check if connection to API client is possible + if (!is.null(self$api_client)) { + tryCatch({ + if (RSirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { + return(RSirius::rsirius_api$new(self$api_client)) + } + }, error = function(e) { + message("Found existing API Client, but could not reach API.") + }) + } + + # create and check API client from existing port + if (!is.null(self$port)) { + self$host <- paste0('http://localhost:', self$port) + sirius_api <- self$connect(self$host) + self$api_client <- sirius_api$api_client + tryCatch({ + if (RSirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { + return(RSirius::rsirius_api$new(self$api_client)) + } + }, error = function(e) { + message("Found existing port, but could not reach API under this port.") + }) + } + + # if client is not reachable, search for process and kill if necessary + if (!is.null(self$process)) { + if (self$process$is_alive()) { + message("The SIRIUS process still seems to be lingering, but no connection could be made to the API.") + message("Shutting down the process...") + if (inherits(self$shutdown_sirius(), "logical")) { + # before error messages will be done by shutdown function + message("Aborting....") + return(FALSE) + } + message("Process shut down successfully.") + } else { + message("Known process seems to have terminated at some time.") + } + } + + self$reset_sdk_class() + message("SiriusSDK has been reset. Continuing with search for new SIRIUS instance...") + + if (!is.null(sirius_port)) { + self$port <- sirius_port + } else { + found <- private$find_sirius_pid_and_port(sirius_major_version) + if (!found) { + message("No port file matching ~/.sirius/sirius-X.X.port was found.") + message("Please try providing the port.") + return(NULL) + } + } + + self$host <- paste0('http://localhost:', self$port) + sirius_api <- self$connect(self$host) + self$api_client <- sirius_api$api_client + + tryCatch({ + if (RSirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { + return(RSirius::rsirius_api$new(self$api_client)) + } + }, error = function(e) { + message("Created API client from process_id and port, but could not reach API.") + }) + + message("Files for SIRIUS process_id and port have been found, but do not belong to an alive API.") + message("Process_id and port files will be deleted and start_sirius will be called.") + private$delete_sirius_pid_and_port(sirius_major_version) + self$reset_sdk_class() + + return(NULL) + }, + + start_sirius = function(sirius_path = NULL, port = NULL, projectspace = NULL, workspace = NULL, forceStart = FALSE, headless = NULL) { + if (!is.null(self$process) && !forceStart) { + cat("Sirius seems to have already been started with PID:", self$process$get_pid(), ".\n") + cat("Use reconnect() to get a new API instance for your current SIRIUS.\n") + cat("Use shutdown_sirius() and then start_sirius() to restart SIRIUS and get a new API instance.\n") + cat("If you are sure the process is not running anymore, use reset_sdk_process() or reset the complete SDK using reset_sdk_class() before calling start() again.\n") + cat("[NOT RECOMMENDED] Use start with forceStart=TRUE to skip this warning and start a second service.\n") + return(NULL) + } + + self$workspace <- workspace + + if (!is.null(sirius_path)) { + if (!file.exists(sirius_path)) { + cat("Wrong path to executable.\n") + self$reset_sdk_class() + return(NULL) + } + self$sirius_path <- normalizePath(sirius_path) + } else { + if (Sys.getenv("PATH") == "" || !grepl("sirius", Sys.getenv("PATH"))) { + cat("Please provide a path to the sirius executable if not declared in PATH!\n") + self$reset_sdk_class() + return(NULL) + } + cat("Found SIRIUS in PATH! Using this information to start the application.\n") + self$sirius_path <- 'sirius' + } + + if (!is.null(projectspace)) { + if (!file.exists(projectspace)) { + cat("Wrong path to project space.\n") + self$reset_sdk_class() + return(NULL) + } + self$projectspace <- normalizePath(projectspace) + run_args <- c("--output", self$projectspace, "REST", "-s") + } else { + run_args <- c("REST", "-s") + } + + if (!is.null(workspace)) { + if (!file.exists(workspace)) { + cat("Wrong path to workspace\n") + self$reset_sdk_class() + return(NULL) + } + cat("[WARNING] Overwriting workspace location [NOT RECOMMENDED]\n") + self$workspace <- normalizePath(workspace) + run_args <- append(run_args, c("--workspace", workspace), 3) + } + + if (!is.null(port)) { + self$port <- port + run_args <- append(run_args, c("-p", as.character(port))) + } + + if (!is.null(headless) && headless == TRUE) { + run_args <- append(run_args, "--headless") + } else if (!is.null(headless) && headless == FALSE) { + run_args <- append(run_args, "--no-headless") + } + + self$run_command <- self$sirius_path + self$run_args <- run_args + self$process <- processx::process$new(command = self$run_command, args = self$run_args) + self$process_id <- self$process$get_pid() + + if (is.null(port)) { + cat("SIRIUS was started without specifying --port (-p), trying to find the sirius.port file.\n") + if (is.null(workspace)) { + found <- private$cycle_find_sirius_pid_and_port() + } else { + found <- private$cycle_find_sirius_pid_and_port(folder = workspace) + } + if (!found) { + cat("Could not find sirius.port file. Please terminate SIRIUS if needed and try specifying a port\n") + cat("Alternatively, try attaching to a running SIRIUS instance with attach_to_running_sirius()\n") + return(NULL) + } + } + + self$host <- paste0('http://localhost:', self$port) + sirius_api <- self$connect(self$host) + self$api_client <- sirius_api$api_client + + for (i in 1:30) { + Sys.sleep(1) + tryCatch({ + if (self$process$is_alive()) { + if (sirius_api$actuator_api$Health()$status == "UP") { + return(sirius_api) + } + } else { + cat("The SIRIUS process seems to have exited during startup. Please investigate this error.\n") + self$reset_sdk_class() + } + }, error = function(e) { + cat(e$message, "\n") + }) + } + + cat("SIRIUS seems to have problems starting. Resetting SiriusSDK...\n") + self$reset_sdk_class() + return(NULL) + }, + + shutdown_sirius = function() { + if (!is.null(self$process)) { + tryCatch({ + RSirius::ActuatorApi$new(self$api_client)$Shutdown() + Sys.sleep(3) + if (!self$process$is_alive()) { + cat("Sirius was shut down successfully\n") + self$reset_sdk_process() + return(NULL) + } + }, error = function(e) { + cat("An Exception occurred while trying to gracefully shutdown SIRIUS!\n") + cat(e$message, "\n") + }) + + self$process$interrupt() + Sys.sleep(3) + if (!self$process$is_alive()) { + cat("Sirius process has been terminated.\n") + self$reset_sdk_process() + return(NULL) + } + + self$process$kill() + Sys.sleep(3) + if (!self$process$is_alive()) { + cat("Sirius process has been killed.\n") + self$reset_sdk_process() + return(NULL) + } + + cat("Unable to stop Sirius! - Please manually terminate the process with PID ", self$process$get_pid(), "\n") + cat("After terminating the process, use start_sirius() to start a new instance of SIRIUS.\n") + return(FALSE) + } else if (!is.null(self$process_id)) { + system(paste("kill -SIGTERM", self$process_id)) + Sys.sleep(3) + tryCatch({ + system(paste("kill -0", self$process_id)) + }, error = function(e) { + cat("Sirius process has been terminated.\n") + self$reset_sdk_process() + return(NULL) + }) + + system(paste("kill -SIGKILL", self$process_id)) + Sys.sleep(3) + tryCatch({ + system(paste("kill -0", self$process_id)) + }, error = function(e) { + cat("Sirius process has been killed.\n") + self$reset_sdk_process() + return(NULL) + }) + + cat("Unable to stop Sirius! - Please manually terminate the process with PID ", self$process_id, "\n") + cat("After terminating the process, use start_sirius() to start a new instance of SIRIUS.\n") + return(FALSE) + } else { + cat("There does not seem to be any process or process_id to shut down...\n") + return(FALSE) + } + } + ), + + private = list( + are_all_vars_none = function() { + all_names <- ls(envir = self, all.names = TRUE) + # exclude functions + field_names <- all_names[sapply(all_names, function(name) !is.function(self[[name]]))] + # exclude ".__enclos_env__" + field_names <- field_names[-1] + all(sapply(field_names, function(name) is.null(self[[name]]))) + }, + + find_sirius_pid_and_port = function(sirius_version = NULL) { + result = private$get_sirius_pid_and_port(sirius_version) + if (is.logical(result)) { + return(FALSE) + } + pid_file = result[[1]] + port_file = result[[2]] + pid <- as.integer(readLines(pid_file, warn = FALSE)) + port <- as.integer(readLines(port_file, warn = FALSE)) + + self$process_id <- pid + self$port <- port + + message("Using port ", port, " from file ", port_file) + message("Using PID ", pid, " from file ", pid_file) + return(TRUE) + }, + + delete_sirius_pid_and_port = function(sirius_version = NULL) { + result = private$get_sirius_pid_and_port(sirius_version) + if (is.logical(result)) { + return(FALSE) + } + pid_file = result[[1]] + port_file = result[[2]] + file.remove(pid_file) + file.remove (port_file) + }, + + get_sirius_pid_and_port = function(sirius_version = NULL) { + if (Sys.info()['sysname']=="Windows") { + global_workspace <- file.path(Sys.getenv("USERPROFILE"), ".sirius") + } else { + global_workspace <- path.expand("~/.sirius") + } + + if (is.null(sirius_version) || sirius_version == "None") { + port_pattern_match <- "[0-9]*" + } else { + port_pattern_match <- sirius_version + } + + port_pattern <- file.path(global_workspace, paste0("sirius-", port_pattern_match, ".port")) + port_files <- Sys.glob(port_pattern) + + if (length(port_files) == 0) { + return(FALSE) + } + + if (length(port_files) > 1) { + message("Following sirius port files detected:") + for (f in port_files) { + message(f) + } + } + + port_file <- sort(port_files)[length(port_files)] + pid_file <- sub(".port$", ".pid", port_file) + + return(c(pid_file, port_file)) + }, + + cycle_find_sirius_pid_and_port = function() { + for (i in 1:30) { + Sys.sleep(1) + if (private$find_sirius_pid_and_port()) { + return(TRUE) + } + } + return(FALSE) + } + ) +) diff --git a/client-api_r/generated/R/run.R b/client-api_r/generated/R/run.R index ef77c7a7..4d7fa227 100644 --- a/client-api_r/generated/R/run.R +++ b/client-api_r/generated/R/run.R @@ -183,10 +183,10 @@ Run <- R6::R6Class( self$`fragmentation` <- this_object$`fragmentation` } if (!is.null(this_object$`massAnalyzers`)) { - self$`massAnalyzers` <- ApiClient$new()$deserializeObj(this_object$`massAnalyzers`, "array[character]", loadNamespace("Rsirius")) + self$`massAnalyzers` <- ApiClient$new()$deserializeObj(this_object$`massAnalyzers`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`tags`)) { - self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("RSirius")) } self }, @@ -215,8 +215,8 @@ Run <- R6::R6Class( self$`chromatography` <- this_object$`chromatography` self$`ionization` <- this_object$`ionization` self$`fragmentation` <- this_object$`fragmentation` - self$`massAnalyzers` <- ApiClient$new()$deserializeObj(this_object$`massAnalyzers`, "array[character]", loadNamespace("Rsirius")) - self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("Rsirius")) + self$`massAnalyzers` <- ApiClient$new()$deserializeObj(this_object$`massAnalyzers`, "array[character]", loadNamespace("RSirius")) + self$`tags` <- ApiClient$new()$deserializeObj(this_object$`tags`, "map(Tag)", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/runs_api.R b/client-api_r/generated/R/runs_api.R index f39e865e..b9dca755 100644 --- a/client-api_r/generated/R/runs_api.R +++ b/client-api_r/generated/R/runs_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### AddTagsToRunExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_run_id <- "run_id_example" # character | run to add tags to. #' var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. @@ -31,7 +31,7 @@ #' #' #################### ComputeFoldChangeForBlankSubtraction #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to compute the fold change in. #' var_sample_type_fold_change_request <- SampleTypeFoldChangeRequest$new(c("sampleRunIds_example"), c("blankRunIds_example"), c("controlRunIds_example")) # SampleTypeFoldChangeRequest | request with lists of run IDs that are sample, blank, and control runs #' var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) @@ -47,7 +47,7 @@ #' #' #################### GetRunExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_run_id <- "run_id_example" # character | identifier of run to access. #' var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -63,7 +63,7 @@ #' #' #################### GetRunPageExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) #' var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -81,7 +81,7 @@ #' #' #################### GetRunsByGroupExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_group_name <- "group_name_example" # character | tag group name. #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -100,7 +100,7 @@ #' #' #################### GetRunsByTagExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project space to get runs from. #' var_filter <- "" # character | tag filter. (Optional) #' var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -119,7 +119,7 @@ #' #' #################### GetTagsForRunExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to get from. #' var_object_id <- "object_id_example" # character | RunId to get tags for. #' @@ -134,7 +134,7 @@ #' #' #################### RemoveTagFromRunExperimental #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_run_id <- "run_id_example" # character | run to delete tag from. #' var_tag_name <- "tag_name_example" # character | name of the tag to delete. @@ -299,7 +299,7 @@ RunsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -446,7 +446,7 @@ RunsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Job", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -587,7 +587,7 @@ RunsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "Run", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "Run", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -741,7 +741,7 @@ RunsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -904,7 +904,7 @@ RunsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1063,7 +1063,7 @@ RunsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "PagedModelRun", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1196,7 +1196,7 @@ RunsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[Tag]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/sample_type_fold_change_request.R b/client-api_r/generated/R/sample_type_fold_change_request.R index 49878fb6..74227c24 100644 --- a/client-api_r/generated/R/sample_type_fold_change_request.R +++ b/client-api_r/generated/R/sample_type_fold_change_request.R @@ -99,13 +99,13 @@ SampleTypeFoldChangeRequest <- R6::R6Class( fromJSON = function(input_json) { this_object <- jsonlite::fromJSON(input_json) if (!is.null(this_object$`sampleRunIds`)) { - self$`sampleRunIds` <- ApiClient$new()$deserializeObj(this_object$`sampleRunIds`, "array[character]", loadNamespace("Rsirius")) + self$`sampleRunIds` <- ApiClient$new()$deserializeObj(this_object$`sampleRunIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`blankRunIds`)) { - self$`blankRunIds` <- ApiClient$new()$deserializeObj(this_object$`blankRunIds`, "array[character]", loadNamespace("Rsirius")) + self$`blankRunIds` <- ApiClient$new()$deserializeObj(this_object$`blankRunIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`controlRunIds`)) { - self$`controlRunIds` <- ApiClient$new()$deserializeObj(this_object$`controlRunIds`, "array[character]", loadNamespace("Rsirius")) + self$`controlRunIds` <- ApiClient$new()$deserializeObj(this_object$`controlRunIds`, "array[character]", loadNamespace("RSirius")) } self }, @@ -128,9 +128,9 @@ SampleTypeFoldChangeRequest <- R6::R6Class( #' @return the instance of SampleTypeFoldChangeRequest fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) - self$`sampleRunIds` <- ApiClient$new()$deserializeObj(this_object$`sampleRunIds`, "array[character]", loadNamespace("Rsirius")) - self$`blankRunIds` <- ApiClient$new()$deserializeObj(this_object$`blankRunIds`, "array[character]", loadNamespace("Rsirius")) - self$`controlRunIds` <- ApiClient$new()$deserializeObj(this_object$`controlRunIds`, "array[character]", loadNamespace("Rsirius")) + self$`sampleRunIds` <- ApiClient$new()$deserializeObj(this_object$`sampleRunIds`, "array[character]", loadNamespace("RSirius")) + self$`blankRunIds` <- ApiClient$new()$deserializeObj(this_object$`blankRunIds`, "array[character]", loadNamespace("RSirius")) + self$`controlRunIds` <- ApiClient$new()$deserializeObj(this_object$`controlRunIds`, "array[character]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/searchable_databases_api.R b/client-api_r/generated/R/searchable_databases_api.R index 6e1176be..fe9b4cc5 100644 --- a/client-api_r/generated/R/searchable_databases_api.R +++ b/client-api_r/generated/R/searchable_databases_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### AddDatabases #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_request_body <- c("property_example") # array[character] | #' #' #DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -29,7 +29,7 @@ #' #' #################### CreateDatabase #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_database_id <- "database_id_example" # character | #' var_searchable_database_parameters <- SearchableDatabaseParameters$new("displayName_example", "location_example", "matchRtOfReferenceSpectra_example") # SearchableDatabaseParameters | (Optional) #' @@ -43,7 +43,7 @@ #' #' #################### GetCustomDatabases #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_include_stats <- FALSE # character | (Optional) #' var_include_with_errors <- FALSE # character | (Optional) #' @@ -57,7 +57,7 @@ #' #' #################### GetDatabase #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_database_id <- "database_id_example" # character | #' var_include_stats <- TRUE # character | (Optional) #' @@ -71,7 +71,7 @@ #' #' #################### GetDatabases #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_include_stats <- FALSE # character | (Optional) #' var_include_with_errors <- FALSE # character | (Optional) #' @@ -85,7 +85,7 @@ #' #' #################### GetIncludedDatabases #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_include_stats <- FALSE # character | (Optional) #' #' api_instance <- rsirius_api$new() @@ -98,7 +98,7 @@ #' #' #################### ImportIntoDatabase #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_database_id <- "database_id_example" # character | database to import into #' var_input_files <- c(123) # array[data.frame] | files to be imported #' var_buffer_size <- 1000 # integer | (Optional) @@ -115,7 +115,7 @@ #' #' #################### RemoveDatabase #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_database_id <- "database_id_example" # character | #' var_delete <- FALSE # character | (Optional) #' @@ -126,7 +126,7 @@ #' #' #################### UpdateDatabase #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_database_id <- "database_id_example" # character | #' var_searchable_database_parameters <- SearchableDatabaseParameters$new("displayName_example", "location_example", "matchRtOfReferenceSpectra_example") # SearchableDatabaseParameters | (Optional) #' @@ -270,7 +270,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -404,7 +404,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -525,7 +525,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -652,7 +652,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -773,7 +773,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -889,7 +889,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[SearchableDatabase]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1036,7 +1036,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1254,7 +1254,7 @@ SearchableDatabasesApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "SearchableDatabase", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/sirius.R b/client-api_r/generated/R/sirius.R index 5f3fb9ed..2e7d5606 100644 --- a/client-api_r/generated/R/sirius.R +++ b/client-api_r/generated/R/sirius.R @@ -359,7 +359,7 @@ Sirius <- R6::R6Class( self$`performDenovoBelowMz` <- this_object$`performDenovoBelowMz` } if (!is.null(this_object$`formulaSearchDBs`)) { - self$`formulaSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`formulaSearchDBs`, "array[character]", loadNamespace("Rsirius")) + self$`formulaSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`formulaSearchDBs`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`applyFormulaConstraintsToDBAndBottomUpSearch`)) { self$`applyFormulaConstraintsToDBAndBottomUpSearch` <- this_object$`applyFormulaConstraintsToDBAndBottomUpSearch` @@ -371,7 +371,7 @@ Sirius <- R6::R6Class( self$`fallbackFormulaConstraints` <- this_object$`fallbackFormulaConstraints` } if (!is.null(this_object$`detectableElements`)) { - self$`detectableElements` <- ApiClient$new()$deserializeObj(this_object$`detectableElements`, "array[character]", loadNamespace("Rsirius")) + self$`detectableElements` <- ApiClient$new()$deserializeObj(this_object$`detectableElements`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`ilpTimeout`)) { `ilptimeout_object` <- Timeout$new() @@ -429,11 +429,11 @@ Sirius <- R6::R6Class( self$`enforceElGordoFormula` <- this_object$`enforceElGordoFormula` self$`performBottomUpSearch` <- this_object$`performBottomUpSearch` self$`performDenovoBelowMz` <- this_object$`performDenovoBelowMz` - self$`formulaSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`formulaSearchDBs`, "array[character]", loadNamespace("Rsirius")) + self$`formulaSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`formulaSearchDBs`, "array[character]", loadNamespace("RSirius")) self$`applyFormulaConstraintsToDBAndBottomUpSearch` <- this_object$`applyFormulaConstraintsToDBAndBottomUpSearch` self$`enforcedFormulaConstraints` <- this_object$`enforcedFormulaConstraints` self$`fallbackFormulaConstraints` <- this_object$`fallbackFormulaConstraints` - self$`detectableElements` <- ApiClient$new()$deserializeObj(this_object$`detectableElements`, "array[character]", loadNamespace("Rsirius")) + self$`detectableElements` <- ApiClient$new()$deserializeObj(this_object$`detectableElements`, "array[character]", loadNamespace("RSirius")) self$`ilpTimeout` <- Timeout$new()$fromJSON(jsonlite::toJSON(this_object$`ilpTimeout`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`useHeuristic` <- UseHeuristic$new()$fromJSON(jsonlite::toJSON(this_object$`useHeuristic`, auto_unbox = TRUE, digits = NA, null = 'null')) self$`injectSpecLibMatchFormulas` <- this_object$`injectSpecLibMatchFormulas` diff --git a/client-api_r/generated/R/spectral_library_match.R b/client-api_r/generated/R/spectral_library_match.R index 2797eb9b..18ab98f4 100644 --- a/client-api_r/generated/R/spectral_library_match.R +++ b/client-api_r/generated/R/spectral_library_match.R @@ -328,7 +328,7 @@ SpectralLibraryMatch <- R6::R6Class( self$`sharedPeaks` <- this_object$`sharedPeaks` } if (!is.null(this_object$`sharedPeakMapping`)) { - self$`sharedPeakMapping` <- ApiClient$new()$deserializeObj(this_object$`sharedPeakMapping`, "array[PeakPair]", loadNamespace("Rsirius")) + self$`sharedPeakMapping` <- ApiClient$new()$deserializeObj(this_object$`sharedPeakMapping`, "array[PeakPair]", loadNamespace("RSirius")) } if (!is.null(this_object$`querySpectrumIndex`)) { self$`querySpectrumIndex` <- this_object$`querySpectrumIndex` @@ -408,7 +408,7 @@ SpectralLibraryMatch <- R6::R6Class( self$`rank` <- this_object$`rank` self$`similarity` <- this_object$`similarity` self$`sharedPeaks` <- this_object$`sharedPeaks` - self$`sharedPeakMapping` <- ApiClient$new()$deserializeObj(this_object$`sharedPeakMapping`, "array[PeakPair]", loadNamespace("Rsirius")) + self$`sharedPeakMapping` <- ApiClient$new()$deserializeObj(this_object$`sharedPeakMapping`, "array[PeakPair]", loadNamespace("RSirius")) self$`querySpectrumIndex` <- this_object$`querySpectrumIndex` self$`dbName` <- this_object$`dbName` self$`dbId` <- this_object$`dbId` diff --git a/client-api_r/generated/R/spectral_library_search.R b/client-api_r/generated/R/spectral_library_search.R index a37a159e..2e87f360 100644 --- a/client-api_r/generated/R/spectral_library_search.R +++ b/client-api_r/generated/R/spectral_library_search.R @@ -198,7 +198,7 @@ SpectralLibrarySearch <- R6::R6Class( self$`enabled` <- this_object$`enabled` } if (!is.null(this_object$`spectraSearchDBs`)) { - self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("Rsirius")) + self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`precursorDeviationPpm`)) { self$`precursorDeviationPpm` <- this_object$`precursorDeviationPpm` @@ -249,7 +249,7 @@ SpectralLibrarySearch <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`enabled` <- this_object$`enabled` - self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("Rsirius")) + self$`spectraSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`spectraSearchDBs`, "array[character]", loadNamespace("RSirius")) self$`precursorDeviationPpm` <- this_object$`precursorDeviationPpm` self$`minSimilarity` <- this_object$`minSimilarity` self$`minNumOfPeaks` <- this_object$`minNumOfPeaks` diff --git a/client-api_r/generated/R/statistics_table.R b/client-api_r/generated/R/statistics_table.R index 3009636f..f712b56b 100644 --- a/client-api_r/generated/R/statistics_table.R +++ b/client-api_r/generated/R/statistics_table.R @@ -211,19 +211,19 @@ StatisticsTable <- R6::R6Class( self$`rowType` <- this_object$`rowType` } if (!is.null(this_object$`rowIds`)) { - self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[character]", loadNamespace("Rsirius")) + self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`columnNames`)) { - self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("Rsirius")) + self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`columnLeftGroups`)) { - self$`columnLeftGroups` <- ApiClient$new()$deserializeObj(this_object$`columnLeftGroups`, "array[character]", loadNamespace("Rsirius")) + self$`columnLeftGroups` <- ApiClient$new()$deserializeObj(this_object$`columnLeftGroups`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`columnRightGroups`)) { - self$`columnRightGroups` <- ApiClient$new()$deserializeObj(this_object$`columnRightGroups`, "array[character]", loadNamespace("Rsirius")) + self$`columnRightGroups` <- ApiClient$new()$deserializeObj(this_object$`columnRightGroups`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`values`)) { - self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("Rsirius")) + self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("RSirius")) } self }, @@ -262,11 +262,11 @@ StatisticsTable <- R6::R6Class( stop(paste("Error! \"", this_object$`rowType`, "\" cannot be assigned to `rowType`. Must be \"FEATURES\", \"COMPOUNDS\".", sep = "")) } self$`rowType` <- this_object$`rowType` - self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[character]", loadNamespace("Rsirius")) - self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("Rsirius")) - self$`columnLeftGroups` <- ApiClient$new()$deserializeObj(this_object$`columnLeftGroups`, "array[character]", loadNamespace("Rsirius")) - self$`columnRightGroups` <- ApiClient$new()$deserializeObj(this_object$`columnRightGroups`, "array[character]", loadNamespace("Rsirius")) - self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("Rsirius")) + self$`rowIds` <- ApiClient$new()$deserializeObj(this_object$`rowIds`, "array[character]", loadNamespace("RSirius")) + self$`columnNames` <- ApiClient$new()$deserializeObj(this_object$`columnNames`, "array[character]", loadNamespace("RSirius")) + self$`columnLeftGroups` <- ApiClient$new()$deserializeObj(this_object$`columnLeftGroups`, "array[character]", loadNamespace("RSirius")) + self$`columnRightGroups` <- ApiClient$new()$deserializeObj(this_object$`columnRightGroups`, "array[character]", loadNamespace("RSirius")) + self$`values` <- ApiClient$new()$deserializeObj(this_object$`values`, "array[array[numeric]]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/R/structure_candidate.R b/client-api_r/generated/R/structure_candidate.R index 7cee81da..e21e9577 100644 --- a/client-api_r/generated/R/structure_candidate.R +++ b/client-api_r/generated/R/structure_candidate.R @@ -164,10 +164,10 @@ StructureCandidate <- R6::R6Class( self$`structureSvg` <- this_object$`structureSvg` } if (!is.null(this_object$`dbLinks`)) { - self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) + self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("RSirius")) } if (!is.null(this_object$`spectralLibraryMatches`)) { - self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) } if (!is.null(this_object$`xlogP`)) { self$`xlogP` <- this_object$`xlogP` @@ -197,8 +197,8 @@ StructureCandidate <- R6::R6Class( self$`smiles` <- this_object$`smiles` self$`structureName` <- this_object$`structureName` self$`structureSvg` <- this_object$`structureSvg` - self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) - self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("RSirius")) + self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) self$`xlogP` <- this_object$`xlogP` self }, diff --git a/client-api_r/generated/R/structure_candidate_formula.R b/client-api_r/generated/R/structure_candidate_formula.R index 7fc1ffe4..1d02ded7 100644 --- a/client-api_r/generated/R/structure_candidate_formula.R +++ b/client-api_r/generated/R/structure_candidate_formula.R @@ -266,10 +266,10 @@ StructureCandidateFormula <- R6::R6Class( self$`structureSvg` <- this_object$`structureSvg` } if (!is.null(this_object$`dbLinks`)) { - self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) + self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("RSirius")) } if (!is.null(this_object$`spectralLibraryMatches`)) { - self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) } if (!is.null(this_object$`xlogP`)) { self$`xlogP` <- this_object$`xlogP` @@ -325,8 +325,8 @@ StructureCandidateFormula <- R6::R6Class( self$`smiles` <- this_object$`smiles` self$`structureName` <- this_object$`structureName` self$`structureSvg` <- this_object$`structureSvg` - self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) - self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("RSirius")) + self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) self$`xlogP` <- this_object$`xlogP` self$`rank` <- this_object$`rank` self$`csiScore` <- this_object$`csiScore` diff --git a/client-api_r/generated/R/structure_candidate_scored.R b/client-api_r/generated/R/structure_candidate_scored.R index 20208b10..62578259 100644 --- a/client-api_r/generated/R/structure_candidate_scored.R +++ b/client-api_r/generated/R/structure_candidate_scored.R @@ -227,10 +227,10 @@ StructureCandidateScored <- R6::R6Class( self$`structureSvg` <- this_object$`structureSvg` } if (!is.null(this_object$`dbLinks`)) { - self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) + self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("RSirius")) } if (!is.null(this_object$`spectralLibraryMatches`)) { - self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) } if (!is.null(this_object$`xlogP`)) { self$`xlogP` <- this_object$`xlogP` @@ -277,8 +277,8 @@ StructureCandidateScored <- R6::R6Class( self$`smiles` <- this_object$`smiles` self$`structureName` <- this_object$`structureName` self$`structureSvg` <- this_object$`structureSvg` - self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("Rsirius")) - self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("Rsirius")) + self$`dbLinks` <- ApiClient$new()$deserializeObj(this_object$`dbLinks`, "array[DBLink]", loadNamespace("RSirius")) + self$`spectralLibraryMatches` <- ApiClient$new()$deserializeObj(this_object$`spectralLibraryMatches`, "array[SpectralLibraryMatch]", loadNamespace("RSirius")) self$`xlogP` <- this_object$`xlogP` self$`rank` <- this_object$`rank` self$`csiScore` <- this_object$`csiScore` diff --git a/client-api_r/generated/R/structure_db_search.R b/client-api_r/generated/R/structure_db_search.R index 4740309d..0fc81c42 100644 --- a/client-api_r/generated/R/structure_db_search.R +++ b/client-api_r/generated/R/structure_db_search.R @@ -120,7 +120,7 @@ StructureDbSearch <- R6::R6Class( self$`enabled` <- this_object$`enabled` } if (!is.null(this_object$`structureSearchDBs`)) { - self$`structureSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`structureSearchDBs`, "array[character]", loadNamespace("Rsirius")) + self$`structureSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`structureSearchDBs`, "array[character]", loadNamespace("RSirius")) } if (!is.null(this_object$`tagStructuresWithLipidClass`)) { self$`tagStructuresWithLipidClass` <- this_object$`tagStructuresWithLipidClass` @@ -153,7 +153,7 @@ StructureDbSearch <- R6::R6Class( fromJSONString = function(input_json) { this_object <- jsonlite::fromJSON(input_json) self$`enabled` <- this_object$`enabled` - self$`structureSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`structureSearchDBs`, "array[character]", loadNamespace("Rsirius")) + self$`structureSearchDBs` <- ApiClient$new()$deserializeObj(this_object$`structureSearchDBs`, "array[character]", loadNamespace("RSirius")) self$`tagStructuresWithLipidClass` <- this_object$`tagStructuresWithLipidClass` if (!is.null(this_object$`expansiveSearchConfidenceMode`) && !(this_object$`expansiveSearchConfidenceMode` %in% c("OFF", "EXACT", "APPROXIMATE"))) { stop(paste("Error! \"", this_object$`expansiveSearchConfidenceMode`, "\" cannot be assigned to `expansiveSearchConfidenceMode`. Must be \"OFF\", \"EXACT\", \"APPROXIMATE\".", sep = "")) diff --git a/client-api_r/generated/R/tag_definition.R b/client-api_r/generated/R/tag_definition.R index 1c987ae2..37578f74 100644 --- a/client-api_r/generated/R/tag_definition.R +++ b/client-api_r/generated/R/tag_definition.R @@ -178,7 +178,7 @@ TagDefinition <- R6::R6Class( self$`valueType` <- this_object$`valueType` } if (!is.null(this_object$`possibleValues`)) { - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("RSirius")) } if (!is.null(this_object$`minValue`)) { self$`minValue` <- this_object$`minValue` @@ -217,7 +217,7 @@ TagDefinition <- R6::R6Class( stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) } self$`valueType` <- this_object$`valueType` - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("RSirius")) self$`minValue` <- this_object$`minValue` self$`maxValue` <- this_object$`maxValue` self$`editable` <- this_object$`editable` diff --git a/client-api_r/generated/R/tag_definition_import.R b/client-api_r/generated/R/tag_definition_import.R index 8382e7bb..f8fbd078 100644 --- a/client-api_r/generated/R/tag_definition_import.R +++ b/client-api_r/generated/R/tag_definition_import.R @@ -165,7 +165,7 @@ TagDefinitionImport <- R6::R6Class( self$`valueType` <- this_object$`valueType` } if (!is.null(this_object$`possibleValues`)) { - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("RSirius")) } if (!is.null(this_object$`minValue`)) { self$`minValue` <- this_object$`minValue` @@ -201,7 +201,7 @@ TagDefinitionImport <- R6::R6Class( stop(paste("Error! \"", this_object$`valueType`, "\" cannot be assigned to `valueType`. Must be \"NONE\", \"BOOLEAN\", \"INTEGER\", \"REAL\", \"TEXT\", \"DATE\", \"TIME\".", sep = "")) } self$`valueType` <- this_object$`valueType` - self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("Rsirius")) + self$`possibleValues` <- ApiClient$new()$deserializeObj(this_object$`possibleValues`, "array[object]", loadNamespace("RSirius")) self$`minValue` <- this_object$`minValue` self$`maxValue` <- this_object$`maxValue` self diff --git a/client-api_r/generated/R/tags_api.R b/client-api_r/generated/R/tags_api.R index aa3c292d..5cce7801 100644 --- a/client-api_r/generated/R/tags_api.R +++ b/client-api_r/generated/R/tags_api.R @@ -15,7 +15,7 @@ #' \dontrun{ #' #################### AddGroup #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_group_name <- "group_name_example" # character | name of the new group #' var_filter <- "filter_example" # character | filter query to create the group @@ -32,7 +32,7 @@ #' #' #################### AddPossibleValuesToTagDefinition #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_tag_name <- "tag_name_example" # character | the tag definition to add the values to #' var_request_body <- c(123) # array[object] | @@ -48,7 +48,7 @@ #' #' #################### CreateTags #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to add to. #' var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(123), 123, 123)) # array[TagDefinitionImport] | the tag definitions to be created #' @@ -63,7 +63,7 @@ #' #' #################### DeleteGroup #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_group_name <- "group_name_example" # character | name of group to delete. #' @@ -75,7 +75,7 @@ #' #' #################### DeleteTag #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to delete from. #' var_tag_name <- "tag_name_example" # character | name of the tag definition to delete. #' @@ -87,7 +87,7 @@ #' #' #################### GetGroupByName #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_group_name <- "group_name_example" # character | name of the group #' @@ -102,7 +102,7 @@ #' #' #################### GetGroups #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_group_type <- "group_type_example" # character | type of the group (Optional) #' @@ -117,7 +117,7 @@ #' #' #################### GetTag #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_tag_name <- "tag_name_example" # character | name of the tag #' @@ -132,7 +132,7 @@ #' #' #################### GetTags #################### #' -#' library(Rsirius) +#' library(RSirius) #' var_project_id <- "project_id_example" # character | project-space to read from. #' var_tag_type <- "tag_type_example" # character | scope of the tag (optional) (Optional) #' @@ -297,7 +297,7 @@ TagsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -450,7 +450,7 @@ TagsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -592,7 +592,7 @@ TagsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -911,7 +911,7 @@ TagsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "TagGroup", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1038,7 +1038,7 @@ TagsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagGroup]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagGroup]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1171,7 +1171,7 @@ TagsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "TagDefinition", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } @@ -1298,7 +1298,7 @@ TagsApi <- R6::R6Class( } else { # For JSON responses, deserialize normally deserialized_resp_obj <- tryCatch( - self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("Rsirius")), + self$api_client$deserialize(local_var_resp$response_as_text(), "array[TagDefinition]", loadNamespace("RSirius")), error = function(e) { stop("Failed to deserialize response") } diff --git a/client-api_r/generated/R/trace_experimental.R b/client-api_r/generated/R/trace_experimental.R index b42c0be4..d3c7eebb 100644 --- a/client-api_r/generated/R/trace_experimental.R +++ b/client-api_r/generated/R/trace_experimental.R @@ -219,10 +219,10 @@ TraceExperimental <- R6::R6Class( self$`color` <- this_object$`color` } if (!is.null(this_object$`intensities`)) { - self$`intensities` <- ApiClient$new()$deserializeObj(this_object$`intensities`, "array[numeric]", loadNamespace("Rsirius")) + self$`intensities` <- ApiClient$new()$deserializeObj(this_object$`intensities`, "array[numeric]", loadNamespace("RSirius")) } if (!is.null(this_object$`annotations`)) { - self$`annotations` <- ApiClient$new()$deserializeObj(this_object$`annotations`, "array[TraceAnnotationExperimental]", loadNamespace("Rsirius")) + self$`annotations` <- ApiClient$new()$deserializeObj(this_object$`annotations`, "array[TraceAnnotationExperimental]", loadNamespace("RSirius")) } if (!is.null(this_object$`mz`)) { self$`mz` <- this_object$`mz` @@ -262,8 +262,8 @@ TraceExperimental <- R6::R6Class( self$`sampleName` <- this_object$`sampleName` self$`label` <- this_object$`label` self$`color` <- this_object$`color` - self$`intensities` <- ApiClient$new()$deserializeObj(this_object$`intensities`, "array[numeric]", loadNamespace("Rsirius")) - self$`annotations` <- ApiClient$new()$deserializeObj(this_object$`annotations`, "array[TraceAnnotationExperimental]", loadNamespace("Rsirius")) + self$`intensities` <- ApiClient$new()$deserializeObj(this_object$`intensities`, "array[numeric]", loadNamespace("RSirius")) + self$`annotations` <- ApiClient$new()$deserializeObj(this_object$`annotations`, "array[TraceAnnotationExperimental]", loadNamespace("RSirius")) self$`mz` <- this_object$`mz` self$`merged` <- this_object$`merged` self$`normalizationFactor` <- this_object$`normalizationFactor` diff --git a/client-api_r/generated/R/trace_set_experimental.R b/client-api_r/generated/R/trace_set_experimental.R index b7d0cd87..40f31f5e 100644 --- a/client-api_r/generated/R/trace_set_experimental.R +++ b/client-api_r/generated/R/trace_set_experimental.R @@ -139,7 +139,7 @@ TraceSetExperimental <- R6::R6Class( self$`axes` <- `axes_object` } if (!is.null(this_object$`traces`)) { - self$`traces` <- ApiClient$new()$deserializeObj(this_object$`traces`, "array[TraceExperimental]", loadNamespace("Rsirius")) + self$`traces` <- ApiClient$new()$deserializeObj(this_object$`traces`, "array[TraceExperimental]", loadNamespace("RSirius")) } self }, @@ -166,7 +166,7 @@ TraceSetExperimental <- R6::R6Class( self$`sampleId` <- this_object$`sampleId` self$`sampleName` <- this_object$`sampleName` self$`axes` <- Axes$new()$fromJSON(jsonlite::toJSON(this_object$`axes`, auto_unbox = TRUE, digits = NA, null = 'null')) - self$`traces` <- ApiClient$new()$deserializeObj(this_object$`traces`, "array[TraceExperimental]", loadNamespace("Rsirius")) + self$`traces` <- ApiClient$new()$deserializeObj(this_object$`traces`, "array[TraceExperimental]", loadNamespace("RSirius")) self }, diff --git a/client-api_r/generated/README.md b/client-api_r/generated/README.md index 06d49162..58b34edb 100644 --- a/client-api_r/generated/README.md +++ b/client-api_r/generated/README.md @@ -1,4 +1,4 @@ -# R API client for Rsirius +# R API client for RSirius REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 @@ -28,14 +28,14 @@ install.packages("base64enc") git clone https://github.com/GIT_USER_ID/GIT_REPO_ID cd GIT_REPO_ID R CMD build . -R CMD check Rsirius_6.3.3.tar.gz --no-manual -R CMD INSTALL --preclean Rsirius_6.3.3.tar.gz +R CMD check RSirius_6.3.3.tar.gz --no-manual +R CMD INSTALL --preclean RSirius_6.3.3.tar.gz ``` ### Install the package ```R -install.packages("Rsirius") +install.packages("RSirius") ``` To install directly from Github, use `devtools`: @@ -47,13 +47,13 @@ install_github("GIT_USER_ID/GIT_REPO_ID") To install the package from a local file: ```R -install.packages("Rsirius_6.3.3.tar.gz", repos = NULL, type = "source") +install.packages("RSirius_6.3.3.tar.gz", repos = NULL, type = "source") ``` ### Usage ```R -library(Rsirius) +library(RSirius) ``` ### Reformat code diff --git a/client-api_r/generated/docs/AccountCredentials.md b/client-api_r/generated/docs/AccountCredentials.md index 342a50d9..71450047 100644 --- a/client-api_r/generated/docs/AccountCredentials.md +++ b/client-api_r/generated/docs/AccountCredentials.md @@ -1,4 +1,4 @@ -# Rsirius::AccountCredentials +# RSirius::AccountCredentials Simple object to hold account credentials, e.g. to perform login operations. If refreshToken is given, it is usually preferred over password based authentication. But in the end this is up to the respective web service. diff --git a/client-api_r/generated/docs/AccountInfo.md b/client-api_r/generated/docs/AccountInfo.md index a04c712c..e5f0da2a 100644 --- a/client-api_r/generated/docs/AccountInfo.md +++ b/client-api_r/generated/docs/AccountInfo.md @@ -1,4 +1,4 @@ -# Rsirius::AccountInfo +# RSirius::AccountInfo ## Properties diff --git a/client-api_r/generated/docs/ActuatorApi.md b/client-api_r/generated/docs/ActuatorApi.md index db4b6963..3160b455 100644 --- a/client-api_r/generated/docs/ActuatorApi.md +++ b/client-api_r/generated/docs/ActuatorApi.md @@ -15,7 +15,7 @@ Actuator web endpoint 'health' ### Example ```R -library(Rsirius) +library(RSirius) # Actuator web endpoint 'health' # @@ -55,7 +55,7 @@ Actuator web endpoint 'shutdown' ### Example ```R -library(Rsirius) +library(RSirius) # Actuator web endpoint 'shutdown' # diff --git a/client-api_r/generated/docs/AdductEdgeExperimental.md b/client-api_r/generated/docs/AdductEdgeExperimental.md index 916daec2..ee7bd754 100644 --- a/client-api_r/generated/docs/AdductEdgeExperimental.md +++ b/client-api_r/generated/docs/AdductEdgeExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::AdductEdgeExperimental +# RSirius::AdductEdgeExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/AdductNetworkExperimental.md b/client-api_r/generated/docs/AdductNetworkExperimental.md index 65853c50..2809fc7c 100644 --- a/client-api_r/generated/docs/AdductNetworkExperimental.md +++ b/client-api_r/generated/docs/AdductNetworkExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::AdductNetworkExperimental +# RSirius::AdductNetworkExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/AdductNodeExperimental.md b/client-api_r/generated/docs/AdductNodeExperimental.md index 9864fb91..9f2f6fe3 100644 --- a/client-api_r/generated/docs/AdductNodeExperimental.md +++ b/client-api_r/generated/docs/AdductNodeExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::AdductNodeExperimental +# RSirius::AdductNodeExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/AlignedFeature.md b/client-api_r/generated/docs/AlignedFeature.md index 2c94ead3..72fd8ac7 100644 --- a/client-api_r/generated/docs/AlignedFeature.md +++ b/client-api_r/generated/docs/AlignedFeature.md @@ -1,4 +1,4 @@ -# Rsirius::AlignedFeature +# RSirius::AlignedFeature The AlignedFeature contains the ID of a feature (aligned over runs) together with some read-only information that might be displayed in some summary view. diff --git a/client-api_r/generated/docs/AlignedFeatureQualityExperimental.md b/client-api_r/generated/docs/AlignedFeatureQualityExperimental.md index 697b647a..d493f3b5 100644 --- a/client-api_r/generated/docs/AlignedFeatureQualityExperimental.md +++ b/client-api_r/generated/docs/AlignedFeatureQualityExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::AlignedFeatureQualityExperimental +# RSirius::AlignedFeatureQualityExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/AllowedFeatures.md b/client-api_r/generated/docs/AllowedFeatures.md index 7a2db00e..d6bf7438 100644 --- a/client-api_r/generated/docs/AllowedFeatures.md +++ b/client-api_r/generated/docs/AllowedFeatures.md @@ -1,4 +1,4 @@ -# Rsirius::AllowedFeatures +# RSirius::AllowedFeatures ## Properties diff --git a/client-api_r/generated/docs/AnnotatedMsMsData.md b/client-api_r/generated/docs/AnnotatedMsMsData.md index 5a47d6ef..d950e9af 100644 --- a/client-api_r/generated/docs/AnnotatedMsMsData.md +++ b/client-api_r/generated/docs/AnnotatedMsMsData.md @@ -1,4 +1,4 @@ -# Rsirius::AnnotatedMsMsData +# RSirius::AnnotatedMsMsData ## Properties diff --git a/client-api_r/generated/docs/AnnotatedPeak.md b/client-api_r/generated/docs/AnnotatedPeak.md index f6ec8765..da03726c 100644 --- a/client-api_r/generated/docs/AnnotatedPeak.md +++ b/client-api_r/generated/docs/AnnotatedPeak.md @@ -1,4 +1,4 @@ -# Rsirius::AnnotatedPeak +# RSirius::AnnotatedPeak ## Properties diff --git a/client-api_r/generated/docs/AnnotatedSpectrum.md b/client-api_r/generated/docs/AnnotatedSpectrum.md index 3e65ae3b..77a7205e 100644 --- a/client-api_r/generated/docs/AnnotatedSpectrum.md +++ b/client-api_r/generated/docs/AnnotatedSpectrum.md @@ -1,4 +1,4 @@ -# Rsirius::AnnotatedSpectrum +# RSirius::AnnotatedSpectrum Spectrum model with peak annotations based on the fragmentation tree and Epimetheus substructure annotations. Molecular formula and adduct of the spectrum are identical to the ones of the corresponding molecular formula candidate and FragmentationTree. Fragment molecular formulas and adducts correspond to the FragmentationTree's FragmentNodes diff --git a/client-api_r/generated/docs/Axes.md b/client-api_r/generated/docs/Axes.md index d7251834..a5d7b36e 100644 --- a/client-api_r/generated/docs/Axes.md +++ b/client-api_r/generated/docs/Axes.md @@ -1,4 +1,4 @@ -# Rsirius::Axes +# RSirius::Axes ## Properties diff --git a/client-api_r/generated/docs/BackgroundComputationsStateEvent.md b/client-api_r/generated/docs/BackgroundComputationsStateEvent.md index e160f459..b9877eaa 100644 --- a/client-api_r/generated/docs/BackgroundComputationsStateEvent.md +++ b/client-api_r/generated/docs/BackgroundComputationsStateEvent.md @@ -1,4 +1,4 @@ -# Rsirius::BackgroundComputationsStateEvent +# RSirius::BackgroundComputationsStateEvent ## Properties diff --git a/client-api_r/generated/docs/BasicSpectrum.md b/client-api_r/generated/docs/BasicSpectrum.md index 0100ed07..138c7370 100644 --- a/client-api_r/generated/docs/BasicSpectrum.md +++ b/client-api_r/generated/docs/BasicSpectrum.md @@ -1,4 +1,4 @@ -# Rsirius::BasicSpectrum +# RSirius::BasicSpectrum ## Properties diff --git a/client-api_r/generated/docs/BinaryFingerprint.md b/client-api_r/generated/docs/BinaryFingerprint.md index 30273262..2576984b 100644 --- a/client-api_r/generated/docs/BinaryFingerprint.md +++ b/client-api_r/generated/docs/BinaryFingerprint.md @@ -1,4 +1,4 @@ -# Rsirius::BinaryFingerprint +# RSirius::BinaryFingerprint ## Properties diff --git a/client-api_r/generated/docs/BioTransformerParameters.md b/client-api_r/generated/docs/BioTransformerParameters.md index 40e953e0..cf164dea 100644 --- a/client-api_r/generated/docs/BioTransformerParameters.md +++ b/client-api_r/generated/docs/BioTransformerParameters.md @@ -1,4 +1,4 @@ -# Rsirius::BioTransformerParameters +# RSirius::BioTransformerParameters ## Properties diff --git a/client-api_r/generated/docs/BioTransformerSequenceStep.md b/client-api_r/generated/docs/BioTransformerSequenceStep.md index ac06c883..79db6fec 100644 --- a/client-api_r/generated/docs/BioTransformerSequenceStep.md +++ b/client-api_r/generated/docs/BioTransformerSequenceStep.md @@ -1,4 +1,4 @@ -# Rsirius::BioTransformerSequenceStep +# RSirius::BioTransformerSequenceStep ## Properties diff --git a/client-api_r/generated/docs/Canopus.md b/client-api_r/generated/docs/Canopus.md index ee52da60..1e045c18 100644 --- a/client-api_r/generated/docs/Canopus.md +++ b/client-api_r/generated/docs/Canopus.md @@ -1,4 +1,4 @@ -# Rsirius::Canopus +# RSirius::Canopus User/developer friendly parameter subset for the CANOPUS tool CANOPUS is parameter free, so this Object is just a flag that canopus should be executed. Needs results from FingerprintPrediction Tool diff --git a/client-api_r/generated/docs/CanopusPrediction.md b/client-api_r/generated/docs/CanopusPrediction.md index 71423036..47101bed 100644 --- a/client-api_r/generated/docs/CanopusPrediction.md +++ b/client-api_r/generated/docs/CanopusPrediction.md @@ -1,4 +1,4 @@ -# Rsirius::CanopusPrediction +# RSirius::CanopusPrediction Container class that holds the CANOPUS compound class predictions for alle predictable compound classes. This is the full CANOPUS result. diff --git a/client-api_r/generated/docs/Category.md b/client-api_r/generated/docs/Category.md index 051d9166..75000b9b 100644 --- a/client-api_r/generated/docs/Category.md +++ b/client-api_r/generated/docs/Category.md @@ -1,4 +1,4 @@ -# Rsirius::Category +# RSirius::Category ## Properties diff --git a/client-api_r/generated/docs/Compound.md b/client-api_r/generated/docs/Compound.md index c64c5541..4c97a8b6 100644 --- a/client-api_r/generated/docs/Compound.md +++ b/client-api_r/generated/docs/Compound.md @@ -1,4 +1,4 @@ -# Rsirius::Compound +# RSirius::Compound ## Properties diff --git a/client-api_r/generated/docs/CompoundClass.md b/client-api_r/generated/docs/CompoundClass.md index 7777d4ca..a39238a8 100644 --- a/client-api_r/generated/docs/CompoundClass.md +++ b/client-api_r/generated/docs/CompoundClass.md @@ -1,4 +1,4 @@ -# Rsirius::CompoundClass +# RSirius::CompoundClass Predicted compound class with name, probability and id if available. (ClassyFire and NPC). This can be seen as the set of classes a feature most likely belongs to diff --git a/client-api_r/generated/docs/CompoundClasses.md b/client-api_r/generated/docs/CompoundClasses.md index 8d1a4877..b403a1ee 100644 --- a/client-api_r/generated/docs/CompoundClasses.md +++ b/client-api_r/generated/docs/CompoundClasses.md @@ -1,4 +1,4 @@ -# Rsirius::CompoundClasses +# RSirius::CompoundClasses Container class that holds the most likely compound class for different levels of each ontology for a certain Compound/Feature/FormulaCandidate/PredictedFingerprint. diff --git a/client-api_r/generated/docs/CompoundImport.md b/client-api_r/generated/docs/CompoundImport.md index 077f27cf..f00bc59b 100644 --- a/client-api_r/generated/docs/CompoundImport.md +++ b/client-api_r/generated/docs/CompoundImport.md @@ -1,4 +1,4 @@ -# Rsirius::CompoundImport +# RSirius::CompoundImport ## Properties diff --git a/client-api_r/generated/docs/CompoundStatisticsApi.md b/client-api_r/generated/docs/CompoundStatisticsApi.md index b8f7e6d5..bffddbce 100644 --- a/client-api_r/generated/docs/CompoundStatisticsApi.md +++ b/client-api_r/generated/docs/CompoundStatisticsApi.md @@ -19,7 +19,7 @@ Method | HTTP request | Description ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Compute the fold change between two groups of runs # @@ -76,7 +76,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Delete fold changes # @@ -128,7 +128,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get table of all fold changes in the project space # @@ -179,7 +179,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] List all fold changes that are associated with an object # diff --git a/client-api_r/generated/docs/CompoundsApi.md b/client-api_r/generated/docs/CompoundsApi.md index 6c103fee..e1703d0c 100644 --- a/client-api_r/generated/docs/CompoundsApi.md +++ b/client-api_r/generated/docs/CompoundsApi.md @@ -28,7 +28,7 @@ Import Compounds and its contained features. Compounds and Features must not exi ### Example ```R -library(Rsirius) +library(RSirius) # Import Compounds and its contained features. # @@ -83,7 +83,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Tags with the same name will be overwritten # @@ -134,7 +134,7 @@ Delete compound (group of ion identities) with the given identifier (and the inc ### Example ```R -library(Rsirius) +library(RSirius) # Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. # @@ -180,7 +180,7 @@ Get compound (group of ion identities) with the given identifier from the specif ### Example ```R -library(Rsirius) +library(RSirius) # Get compound (group of ion identities) with the given identifier from the specified project-space. # @@ -235,7 +235,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns the full quantification table of compounds # @@ -284,7 +284,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns a single quantification table row for the given compound # @@ -335,7 +335,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns the traces of the given compound # @@ -386,7 +386,7 @@ List of all available compounds (group of ion identities) in the given project-s ### Example ```R -library(Rsirius) +library(RSirius) # List of all available compounds (group of ion identities) in the given project-space. # @@ -439,7 +439,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get compounds (group of ion identities) by tag group # @@ -496,7 +496,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get compounds (group of ion identities) by tag # @@ -553,7 +553,7 @@ Page of available compounds (group of ion identities) in the given project-space ### Example ```R -library(Rsirius) +library(RSirius) # Page of available compounds (group of ion identities) in the given project-space. # @@ -612,7 +612,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get all tags associated with this Compound # @@ -661,7 +661,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space # diff --git a/client-api_r/generated/docs/ComputedSubtools.md b/client-api_r/generated/docs/ComputedSubtools.md index 2819b4a8..97782f40 100644 --- a/client-api_r/generated/docs/ComputedSubtools.md +++ b/client-api_r/generated/docs/ComputedSubtools.md @@ -1,4 +1,4 @@ -# Rsirius::ComputedSubtools +# RSirius::ComputedSubtools Specifies which tools have been executed for this feature. Can be used to estimate which results can be expected. Null if it was not requested und non-null otherwise. diff --git a/client-api_r/generated/docs/ConnectionCheck.md b/client-api_r/generated/docs/ConnectionCheck.md index a23a62f0..f7a37544 100644 --- a/client-api_r/generated/docs/ConnectionCheck.md +++ b/client-api_r/generated/docs/ConnectionCheck.md @@ -1,4 +1,4 @@ -# Rsirius::ConnectionCheck +# RSirius::ConnectionCheck ## Properties diff --git a/client-api_r/generated/docs/ConnectionError.md b/client-api_r/generated/docs/ConnectionError.md index 39aef106..63a81304 100644 --- a/client-api_r/generated/docs/ConnectionError.md +++ b/client-api_r/generated/docs/ConnectionError.md @@ -1,4 +1,4 @@ -# Rsirius::ConnectionError +# RSirius::ConnectionError ## Properties diff --git a/client-api_r/generated/docs/ConsensusAnnotationsCSI.md b/client-api_r/generated/docs/ConsensusAnnotationsCSI.md index a2a8300b..733de37f 100644 --- a/client-api_r/generated/docs/ConsensusAnnotationsCSI.md +++ b/client-api_r/generated/docs/ConsensusAnnotationsCSI.md @@ -1,4 +1,4 @@ -# Rsirius::ConsensusAnnotationsCSI +# RSirius::ConsensusAnnotationsCSI ## Properties diff --git a/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md b/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md index 2114f54f..7c6d0f0c 100644 --- a/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md +++ b/client-api_r/generated/docs/ConsensusAnnotationsDeNovo.md @@ -1,4 +1,4 @@ -# Rsirius::ConsensusAnnotationsDeNovo +# RSirius::ConsensusAnnotationsDeNovo ## Properties diff --git a/client-api_r/generated/docs/DBLink.md b/client-api_r/generated/docs/DBLink.md index 3c3bfc1a..af344709 100644 --- a/client-api_r/generated/docs/DBLink.md +++ b/client-api_r/generated/docs/DBLink.md @@ -1,4 +1,4 @@ -# Rsirius::DBLink +# RSirius::DBLink ## Properties diff --git a/client-api_r/generated/docs/DataImportEvent.md b/client-api_r/generated/docs/DataImportEvent.md index 5b77f815..e990d2c9 100644 --- a/client-api_r/generated/docs/DataImportEvent.md +++ b/client-api_r/generated/docs/DataImportEvent.md @@ -1,4 +1,4 @@ -# Rsirius::DataImportEvent +# RSirius::DataImportEvent ## Properties diff --git a/client-api_r/generated/docs/Deviation.md b/client-api_r/generated/docs/Deviation.md index 700ed796..5495b767 100644 --- a/client-api_r/generated/docs/Deviation.md +++ b/client-api_r/generated/docs/Deviation.md @@ -1,4 +1,4 @@ -# Rsirius::Deviation +# RSirius::Deviation ## Properties diff --git a/client-api_r/generated/docs/FeatureAnnotations.md b/client-api_r/generated/docs/FeatureAnnotations.md index b6cf1354..3f3c34b8 100644 --- a/client-api_r/generated/docs/FeatureAnnotations.md +++ b/client-api_r/generated/docs/FeatureAnnotations.md @@ -1,4 +1,4 @@ -# Rsirius::FeatureAnnotations +# RSirius::FeatureAnnotations Summary of the results of a feature (aligned over runs). Can be added to a AlignedFeature. The different annotation fields within this summary object are null if the corresponding feature does not contain the represented results. If fields are non-null the corresponding result has been computed but might still be empty. diff --git a/client-api_r/generated/docs/FeatureImport.md b/client-api_r/generated/docs/FeatureImport.md index cc9339e2..48fae213 100644 --- a/client-api_r/generated/docs/FeatureImport.md +++ b/client-api_r/generated/docs/FeatureImport.md @@ -1,4 +1,4 @@ -# Rsirius::FeatureImport +# RSirius::FeatureImport Represents an (aligned) feature to be imported into a SIRIUS project. At least one of the Mass Spec data sources (e.g. mergedMs1, ms1Spectra, ms2Spectra) needs to be given. Otherwise, the import will fail. diff --git a/client-api_r/generated/docs/FeatureStatisticsApi.md b/client-api_r/generated/docs/FeatureStatisticsApi.md index 0f6c00d3..e057f74b 100644 --- a/client-api_r/generated/docs/FeatureStatisticsApi.md +++ b/client-api_r/generated/docs/FeatureStatisticsApi.md @@ -19,7 +19,7 @@ Method | HTTP request | Description ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Compute the fold change between two groups of runs # @@ -76,7 +76,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Delete fold changes # @@ -128,7 +128,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get table of all fold changes in the project space # @@ -179,7 +179,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] List all fold changes that are associated with an object # diff --git a/client-api_r/generated/docs/FeaturesApi.md b/client-api_r/generated/docs/FeaturesApi.md index 260b400e..0e0c184c 100644 --- a/client-api_r/generated/docs/FeaturesApi.md +++ b/client-api_r/generated/docs/FeaturesApi.md @@ -59,7 +59,7 @@ Import (aligned) features into the project. Features must not exist in the proje ### Example ```R -library(Rsirius) +library(RSirius) # Import (aligned) features into the project. # @@ -112,7 +112,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. # @@ -163,7 +163,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project # @@ -214,7 +214,7 @@ Delete feature (aligned over runs) with the given identifier from the specified ### Example ```R -library(Rsirius) +library(RSirius) # Delete feature (aligned over runs) with the given identifier from the specified project-space. # @@ -260,7 +260,7 @@ Delete feature (aligned over runs) with the given identifier from the specified ### Example ```R -library(Rsirius) +library(RSirius) # Delete feature (aligned over runs) with the given identifier from the specified project-space. # @@ -306,7 +306,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network # @@ -355,7 +355,7 @@ Get feature (aligned over runs) with the given identifier from the specified pro ### Example ```R -library(Rsirius) +library(RSirius) # Get feature (aligned over runs) with the given identifier from the specified project-space. # @@ -408,7 +408,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) # @@ -457,7 +457,7 @@ Get all available features (aligned over runs) in the given project-space. ### Example ```R -library(Rsirius) +library(RSirius) # Get all available features (aligned over runs) in the given project-space. # @@ -508,7 +508,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get features (aligned over runs) by tag group # @@ -565,7 +565,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get features (aligned over runs) by tag # @@ -622,7 +622,7 @@ Get all available features (aligned over runs) in the given project-space. ### Example ```R -library(Rsirius) +library(RSirius) # Get all available features (aligned over runs) in the given project-space. # @@ -679,7 +679,7 @@ Return Best matching compound classes for given formulaId.

Set of the high ### Example ```R -library(Rsirius) +library(RSirius) # Return Best matching compound classes for given formulaId # @@ -730,7 +730,7 @@ All predicted compound classes (CANOPUS) from ClassyFire and NPC and their proba ### Example ```R -library(Rsirius) +library(RSirius) # All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, # @@ -781,7 +781,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS ### Example ```R -library(Rsirius) +library(RSirius) # List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. # @@ -832,7 +832,7 @@ List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS ### Example ```R -library(Rsirius) +library(RSirius) # List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. # @@ -885,7 +885,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS ### Example ```R -library(Rsirius) +library(RSirius) # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. # @@ -944,7 +944,7 @@ Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CS ### Example ```R -library(Rsirius) +library(RSirius) # Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. # @@ -1001,7 +1001,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) # @@ -1050,7 +1050,7 @@ Returns predicted fingerprint (CSI:FingerID) for the given formula result identi ### Example ```R -library(Rsirius) +library(RSirius) # Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) # @@ -1101,7 +1101,7 @@ Returns MS/MS Spectrum annotated with fragments and losses for provided formulaI ### Example ```R -library(Rsirius) +library(RSirius) # Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId # @@ -1154,7 +1154,7 @@ Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fra ### Example ```R -library(Rsirius) +library(RSirius) # Returns a fragmentation spectrum (e # @@ -1209,7 +1209,7 @@ FormulaResultContainers for the given 'formulaId' with minimal information. Can ### Example ```R -library(Rsirius) +library(RSirius) # FormulaResultContainers for the given 'formulaId' with minimal information. # @@ -1264,7 +1264,7 @@ List of FormulaResultContainers available for this feature with minimal informat ### Example ```R -library(Rsirius) +library(RSirius) # List of FormulaResultContainers available for this feature with minimal information. # @@ -1317,7 +1317,7 @@ Page of FormulaResultContainers available for this feature with minimal informat ### Example ```R -library(Rsirius) +library(RSirius) # Page of FormulaResultContainers available for this feature with minimal information. # @@ -1376,7 +1376,7 @@ Returns fragmentation tree (SIRIUS) for the given formula result identifier

### Example ```R -library(Rsirius) +library(RSirius) # Returns fragmentation tree (SIRIUS) for the given formula result identifier # @@ -1427,7 +1427,7 @@ Returns Isotope pattern information for given formulaId

Returns Isotope pa ### Example ```R -library(Rsirius) +library(RSirius) # Returns Isotope pattern information for given formulaId # @@ -1478,7 +1478,7 @@ Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid ### Example ```R -library(Rsirius) +library(RSirius) # Returns Lipid annotation (ElGordo) for the given formulaId # @@ -1529,7 +1529,7 @@ Mass Spec data (input data) for the given 'alignedFeatureId' . ### Example ```R -library(Rsirius) +library(RSirius) # Mass Spec data (input data) for the given 'alignedFeatureId' . # @@ -1580,7 +1580,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) # @@ -1631,7 +1631,7 @@ Spectral library match for the given 'alignedFeatureId'. ### Example ```R -library(Rsirius) +library(RSirius) # Spectral library match for the given 'alignedFeatureId'. # @@ -1684,7 +1684,7 @@ List of spectral library matches for the given 'alignedFeatureId'. ### Example ```R -library(Rsirius) +library(RSirius) # List of spectral library matches for the given 'alignedFeatureId'. # @@ -1741,7 +1741,7 @@ Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiK ### Example ```R -library(Rsirius) +library(RSirius) # Page of spectral library matches for the given 'alignedFeatureId'. # @@ -1804,7 +1804,7 @@ Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inc ### Example ```R -library(Rsirius) +library(RSirius) # Summarize matched reference spectra for the given 'alignedFeatureId'. # @@ -1859,7 +1859,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey # @@ -1914,7 +1914,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations # @@ -1965,7 +1965,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey # @@ -2022,7 +2022,7 @@ List of structure database search candidates ranked by CSI:FingerID score for th ### Example ```R -library(Rsirius) +library(RSirius) # List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. # @@ -2073,7 +2073,7 @@ List of CSI:FingerID structure database search candidates for the given 'formula ### Example ```R -library(Rsirius) +library(RSirius) # List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. # @@ -2126,7 +2126,7 @@ Page of CSI:FingerID structure database search candidates for the given 'formula ### Example ```R -library(Rsirius) +library(RSirius) # Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. # @@ -2185,7 +2185,7 @@ Page of structure database search candidates ranked by CSI:FingerID score for th ### Example ```R -library(Rsirius) +library(RSirius) # Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. # @@ -2242,7 +2242,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get all tags associated with this Object # @@ -2291,7 +2291,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) # @@ -2342,7 +2342,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space # diff --git a/client-api_r/generated/docs/FingerprintPrediction.md b/client-api_r/generated/docs/FingerprintPrediction.md index 3167009c..c6973a37 100644 --- a/client-api_r/generated/docs/FingerprintPrediction.md +++ b/client-api_r/generated/docs/FingerprintPrediction.md @@ -1,4 +1,4 @@ -# Rsirius::FingerprintPrediction +# RSirius::FingerprintPrediction User/developer friendly parameter subset for the CSI:FingerID Fingerprint tool Needs results from Formula/SIRIUS Tool diff --git a/client-api_r/generated/docs/FoldChange.md b/client-api_r/generated/docs/FoldChange.md index 4711f1d9..02ef1381 100644 --- a/client-api_r/generated/docs/FoldChange.md +++ b/client-api_r/generated/docs/FoldChange.md @@ -1,4 +1,4 @@ -# Rsirius::FoldChange +# RSirius::FoldChange ## Properties diff --git a/client-api_r/generated/docs/FormulaCandidate.md b/client-api_r/generated/docs/FormulaCandidate.md index 144b0bc5..3eed1c8c 100644 --- a/client-api_r/generated/docs/FormulaCandidate.md +++ b/client-api_r/generated/docs/FormulaCandidate.md @@ -1,4 +1,4 @@ -# Rsirius::FormulaCandidate +# RSirius::FormulaCandidate Molecular formula candidate that holds a unique identifier (molecular formula + adduct). It can be extended with optional scoring metrics and the raw results such as fragmentation trees and simulated isotope pattern. diff --git a/client-api_r/generated/docs/FragmentNode.md b/client-api_r/generated/docs/FragmentNode.md index 692e983f..7b554063 100644 --- a/client-api_r/generated/docs/FragmentNode.md +++ b/client-api_r/generated/docs/FragmentNode.md @@ -1,4 +1,4 @@ -# Rsirius::FragmentNode +# RSirius::FragmentNode ## Properties diff --git a/client-api_r/generated/docs/FragmentationTree.md b/client-api_r/generated/docs/FragmentationTree.md index f57a9396..e31b5a96 100644 --- a/client-api_r/generated/docs/FragmentationTree.md +++ b/client-api_r/generated/docs/FragmentationTree.md @@ -1,4 +1,4 @@ -# Rsirius::FragmentationTree +# RSirius::FragmentationTree Simple and easy serializable fragmentation tree model with annotated fragments/nodes abd losses/edges Root fragment has index 0; Molecular formula and adduct are identical to the ones of the corresponding molecular formula candidate and SpectrumAnnotation diff --git a/client-api_r/generated/docs/ImportResult.md b/client-api_r/generated/docs/ImportResult.md index 6a70fb9e..819475ab 100644 --- a/client-api_r/generated/docs/ImportResult.md +++ b/client-api_r/generated/docs/ImportResult.md @@ -1,4 +1,4 @@ -# Rsirius::ImportResult +# RSirius::ImportResult ## Properties diff --git a/client-api_r/generated/docs/Info.md b/client-api_r/generated/docs/Info.md index fa67e193..5407e74c 100644 --- a/client-api_r/generated/docs/Info.md +++ b/client-api_r/generated/docs/Info.md @@ -1,4 +1,4 @@ -# Rsirius::Info +# RSirius::Info ## Properties diff --git a/client-api_r/generated/docs/InfoApi.md b/client-api_r/generated/docs/InfoApi.md index f7b693e0..e51acc0e 100644 --- a/client-api_r/generated/docs/InfoApi.md +++ b/client-api_r/generated/docs/InfoApi.md @@ -15,7 +15,7 @@ Method | HTTP request | Description ### Example ```R -library(Rsirius) +library(RSirius) api_instance <- rsirius_api$new() @@ -53,7 +53,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_server_info <- TRUE # character | (Optional) diff --git a/client-api_r/generated/docs/IsotopePatternAnnotation.md b/client-api_r/generated/docs/IsotopePatternAnnotation.md index eaac0636..3335d768 100644 --- a/client-api_r/generated/docs/IsotopePatternAnnotation.md +++ b/client-api_r/generated/docs/IsotopePatternAnnotation.md @@ -1,4 +1,4 @@ -# Rsirius::IsotopePatternAnnotation +# RSirius::IsotopePatternAnnotation ## Properties diff --git a/client-api_r/generated/docs/Job.md b/client-api_r/generated/docs/Job.md index bbd830d4..280a56c0 100644 --- a/client-api_r/generated/docs/Job.md +++ b/client-api_r/generated/docs/Job.md @@ -1,4 +1,4 @@ -# Rsirius::Job +# RSirius::Job Identifier created by the SIRIUS Nightsky API for a newly created Job. Object can be enriched with Job status/progress information ({@link JobProgress JobProgress}) and/or Job command information. This is a return value of the API. So nullable values can also be NOT_REQUIRED to allow for easy removal. diff --git a/client-api_r/generated/docs/JobProgress.md b/client-api_r/generated/docs/JobProgress.md index 2f5805cc..3699e1f3 100644 --- a/client-api_r/generated/docs/JobProgress.md +++ b/client-api_r/generated/docs/JobProgress.md @@ -1,4 +1,4 @@ -# Rsirius::JobProgress +# RSirius::JobProgress Progress information of a computation job that has already been submitted to SIRIUS. if currentProgress == maxProgress job is finished and should change to state done soon. if a job is DONE all results can be accessed via the Project-Spaces api. diff --git a/client-api_r/generated/docs/JobSubmission.md b/client-api_r/generated/docs/JobSubmission.md index 08c0a027..d4895b4b 100644 --- a/client-api_r/generated/docs/JobSubmission.md +++ b/client-api_r/generated/docs/JobSubmission.md @@ -1,4 +1,4 @@ -# Rsirius::JobSubmission +# RSirius::JobSubmission Object to submit a job to be executed by SIRIUS diff --git a/client-api_r/generated/docs/JobsApi.md b/client-api_r/generated/docs/JobsApi.md index 03e3cc0c..a21aedfb 100644 --- a/client-api_r/generated/docs/JobsApi.md +++ b/client-api_r/generated/docs/JobsApi.md @@ -30,7 +30,7 @@ Delete job. Specify how to behave for running jobs. ### Example ```R -library(Rsirius) +library(RSirius) # Delete job. # @@ -80,7 +80,7 @@ Delete job configuration with given name. ### Example ```R -library(Rsirius) +library(RSirius) # Delete job configuration with given name. # @@ -124,7 +124,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # * Delete ALL jobs. # @@ -172,7 +172,7 @@ Get a CLI command for the given job configuration. ### Example ```R -library(Rsirius) +library(RSirius) # Get a CLI command for the given job configuration. # @@ -219,7 +219,7 @@ Request default job configuration ### Example ```R -library(Rsirius) +library(RSirius) # Request default job configuration # @@ -270,7 +270,7 @@ Get job information and its current state and progress (if available). ### Example ```R -library(Rsirius) +library(RSirius) # Get job information and its current state and progress (if available). # @@ -321,7 +321,7 @@ Request job configuration with given name. ### Example ```R -library(Rsirius) +library(RSirius) # Request job configuration with given name. # @@ -370,7 +370,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [DEPRECATED] Get all (non-default) job configuration names # @@ -412,7 +412,7 @@ Request all available job configurations ### Example ```R -library(Rsirius) +library(RSirius) # Request all available job configurations # @@ -454,7 +454,7 @@ Get List of all available jobs with information such as current state and progre ### Example ```R -library(Rsirius) +library(RSirius) # Get List of all available jobs with information such as current state and progress (if available). # @@ -503,7 +503,7 @@ Get Page of jobs with information such as current state and progress (if availab ### Example ```R -library(Rsirius) +library(RSirius) # Get Page of jobs with information such as current state and progress (if available). # @@ -556,7 +556,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_project_id <- "project_id_example" # character | @@ -603,7 +603,7 @@ Add new job configuration with given name. ### Example ```R -library(Rsirius) +library(RSirius) # Add new job configuration with given name. # @@ -656,7 +656,7 @@ Start computation for given compounds and with given parameters. ### Example ```R -library(Rsirius) +library(RSirius) # Start computation for given compounds and with given parameters. # @@ -707,7 +707,7 @@ Start computation for given compounds and with parameters from a stored job-conf ### Example ```R -library(Rsirius) +library(RSirius) # Start computation for given compounds and with parameters from a stored job-config. # diff --git a/client-api_r/generated/docs/LcmsSubmissionParameters.md b/client-api_r/generated/docs/LcmsSubmissionParameters.md index a1ed70a9..0636f8db 100644 --- a/client-api_r/generated/docs/LcmsSubmissionParameters.md +++ b/client-api_r/generated/docs/LcmsSubmissionParameters.md @@ -1,4 +1,4 @@ -# Rsirius::LcmsSubmissionParameters +# RSirius::LcmsSubmissionParameters ## Properties diff --git a/client-api_r/generated/docs/LicenseInfo.md b/client-api_r/generated/docs/LicenseInfo.md index d77dfb4f..ffe83e45 100644 --- a/client-api_r/generated/docs/LicenseInfo.md +++ b/client-api_r/generated/docs/LicenseInfo.md @@ -1,4 +1,4 @@ -# Rsirius::LicenseInfo +# RSirius::LicenseInfo ## Properties diff --git a/client-api_r/generated/docs/LipidAnnotation.md b/client-api_r/generated/docs/LipidAnnotation.md index dbfd2720..45919d97 100644 --- a/client-api_r/generated/docs/LipidAnnotation.md +++ b/client-api_r/generated/docs/LipidAnnotation.md @@ -1,4 +1,4 @@ -# Rsirius::LipidAnnotation +# RSirius::LipidAnnotation ## Properties diff --git a/client-api_r/generated/docs/LoginAndAccountApi.md b/client-api_r/generated/docs/LoginAndAccountApi.md index d208aea8..1af1e463 100644 --- a/client-api_r/generated/docs/LoginAndAccountApi.md +++ b/client-api_r/generated/docs/LoginAndAccountApi.md @@ -24,7 +24,7 @@ Get information about the account currently logged in. Fails if not logged in. ### Example ```R -library(Rsirius) +library(RSirius) # Get information about the account currently logged in. # @@ -71,7 +71,7 @@ Get SignUp URL (For signUp via web browser) ### Example ```R -library(Rsirius) +library(RSirius) # Get SignUp URL (For signUp via web browser) # @@ -113,7 +113,7 @@ Get available subscriptions of the account currently logged in. Fails if not log ### Example ```R -library(Rsirius) +library(RSirius) # Get available subscriptions of the account currently logged in. # @@ -155,7 +155,7 @@ Check if a user is logged in. ### Example ```R -library(Rsirius) +library(RSirius) # Check if a user is logged in. # @@ -197,7 +197,7 @@ Login into SIRIUS web services and activate default subscription if available. ### Example ```R -library(Rsirius) +library(RSirius) # Login into SIRIUS web services and activate default subscription if available. # @@ -250,7 +250,7 @@ Logout from SIRIUS web services. ### Example ```R -library(Rsirius) +library(RSirius) # Logout from SIRIUS web services. # @@ -289,7 +289,7 @@ Open User portal in browser. If user is logged in SIRIUS tries to transfer the l ### Example ```R -library(Rsirius) +library(RSirius) # Open User portal in browser. # @@ -328,7 +328,7 @@ Select a subscription as active subscription to be used for computations. ### Example ```R -library(Rsirius) +library(RSirius) # Select a subscription as active subscription to be used for computations. # @@ -375,7 +375,7 @@ Open SignUp window in system browser and return signUp link. ### Example ```R -library(Rsirius) +library(RSirius) # Open SignUp window in system browser and return signUp link. # diff --git a/client-api_r/generated/docs/LossEdge.md b/client-api_r/generated/docs/LossEdge.md index 639efd14..41e26575 100644 --- a/client-api_r/generated/docs/LossEdge.md +++ b/client-api_r/generated/docs/LossEdge.md @@ -1,4 +1,4 @@ -# Rsirius::LossEdge +# RSirius::LossEdge ## Properties diff --git a/client-api_r/generated/docs/MsData.md b/client-api_r/generated/docs/MsData.md index 545ca3fe..553272d3 100644 --- a/client-api_r/generated/docs/MsData.md +++ b/client-api_r/generated/docs/MsData.md @@ -1,4 +1,4 @@ -# Rsirius::MsData +# RSirius::MsData The MsData wraps all spectral input data belonging to a (aligned) feature. All spectra fields are optional. However, at least one Spectrum field needs to be set to create a valid MsData Object. The different types of spectra fields can be extended to adapt to other MassSpec measurement techniques not covered yet.

Each Feature can have: - One extracted isotope pattern (optional) - One merged MS/MS spectrum (optional) - One merged MS spectrum (optional) - many MS/MS spectra (optional) - many MS spectra (optional)

Each non-merged spectrum has an index which can be used to access the spectrum.

In the future we might add some additional information like chromatographic peak or something similar diff --git a/client-api_r/generated/docs/MsNovelist.md b/client-api_r/generated/docs/MsNovelist.md index ebf6a108..f1d8dd98 100644 --- a/client-api_r/generated/docs/MsNovelist.md +++ b/client-api_r/generated/docs/MsNovelist.md @@ -1,4 +1,4 @@ -# Rsirius::MsNovelist +# RSirius::MsNovelist ## Properties diff --git a/client-api_r/generated/docs/PageMetadata.md b/client-api_r/generated/docs/PageMetadata.md index 06d67b93..d3712b06 100644 --- a/client-api_r/generated/docs/PageMetadata.md +++ b/client-api_r/generated/docs/PageMetadata.md @@ -1,4 +1,4 @@ -# Rsirius::PageMetadata +# RSirius::PageMetadata ## Properties diff --git a/client-api_r/generated/docs/PagedModelAlignedFeature.md b/client-api_r/generated/docs/PagedModelAlignedFeature.md index fbb13038..71abfe09 100644 --- a/client-api_r/generated/docs/PagedModelAlignedFeature.md +++ b/client-api_r/generated/docs/PagedModelAlignedFeature.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelAlignedFeature +# RSirius::PagedModelAlignedFeature ## Properties diff --git a/client-api_r/generated/docs/PagedModelCompound.md b/client-api_r/generated/docs/PagedModelCompound.md index 45b01221..4a9beed9 100644 --- a/client-api_r/generated/docs/PagedModelCompound.md +++ b/client-api_r/generated/docs/PagedModelCompound.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelCompound +# RSirius::PagedModelCompound ## Properties diff --git a/client-api_r/generated/docs/PagedModelFormulaCandidate.md b/client-api_r/generated/docs/PagedModelFormulaCandidate.md index e0661457..eba3d53e 100644 --- a/client-api_r/generated/docs/PagedModelFormulaCandidate.md +++ b/client-api_r/generated/docs/PagedModelFormulaCandidate.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelFormulaCandidate +# RSirius::PagedModelFormulaCandidate ## Properties diff --git a/client-api_r/generated/docs/PagedModelJob.md b/client-api_r/generated/docs/PagedModelJob.md index 8aea2b05..c9e820b2 100644 --- a/client-api_r/generated/docs/PagedModelJob.md +++ b/client-api_r/generated/docs/PagedModelJob.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelJob +# RSirius::PagedModelJob ## Properties diff --git a/client-api_r/generated/docs/PagedModelRun.md b/client-api_r/generated/docs/PagedModelRun.md index 3b9b8a09..a467c744 100644 --- a/client-api_r/generated/docs/PagedModelRun.md +++ b/client-api_r/generated/docs/PagedModelRun.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelRun +# RSirius::PagedModelRun ## Properties diff --git a/client-api_r/generated/docs/PagedModelSpectralLibraryMatch.md b/client-api_r/generated/docs/PagedModelSpectralLibraryMatch.md index e532ad0d..26166090 100644 --- a/client-api_r/generated/docs/PagedModelSpectralLibraryMatch.md +++ b/client-api_r/generated/docs/PagedModelSpectralLibraryMatch.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelSpectralLibraryMatch +# RSirius::PagedModelSpectralLibraryMatch ## Properties diff --git a/client-api_r/generated/docs/PagedModelStructureCandidateFormula.md b/client-api_r/generated/docs/PagedModelStructureCandidateFormula.md index d8c3cef6..7612e6de 100644 --- a/client-api_r/generated/docs/PagedModelStructureCandidateFormula.md +++ b/client-api_r/generated/docs/PagedModelStructureCandidateFormula.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelStructureCandidateFormula +# RSirius::PagedModelStructureCandidateFormula ## Properties diff --git a/client-api_r/generated/docs/PagedModelStructureCandidateScored.md b/client-api_r/generated/docs/PagedModelStructureCandidateScored.md index fddc8ad3..5ff58056 100644 --- a/client-api_r/generated/docs/PagedModelStructureCandidateScored.md +++ b/client-api_r/generated/docs/PagedModelStructureCandidateScored.md @@ -1,4 +1,4 @@ -# Rsirius::PagedModelStructureCandidateScored +# RSirius::PagedModelStructureCandidateScored ## Properties diff --git a/client-api_r/generated/docs/ParentPeak.md b/client-api_r/generated/docs/ParentPeak.md index 77f39487..d0cb190f 100644 --- a/client-api_r/generated/docs/ParentPeak.md +++ b/client-api_r/generated/docs/ParentPeak.md @@ -1,4 +1,4 @@ -# Rsirius::ParentPeak +# RSirius::ParentPeak Link from annotated fragment peak to its parent fragment peak connected by their neutral loss. diff --git a/client-api_r/generated/docs/PeakAnnotation.md b/client-api_r/generated/docs/PeakAnnotation.md index d9fff0b6..1956f330 100644 --- a/client-api_r/generated/docs/PeakAnnotation.md +++ b/client-api_r/generated/docs/PeakAnnotation.md @@ -1,4 +1,4 @@ -# Rsirius::PeakAnnotation +# RSirius::PeakAnnotation ## Properties diff --git a/client-api_r/generated/docs/PeakPair.md b/client-api_r/generated/docs/PeakPair.md index d3d6a5ce..30737eea 100644 --- a/client-api_r/generated/docs/PeakPair.md +++ b/client-api_r/generated/docs/PeakPair.md @@ -1,4 +1,4 @@ -# Rsirius::PeakPair +# RSirius::PeakPair ## Properties diff --git a/client-api_r/generated/docs/ProjectChangeEvent.md b/client-api_r/generated/docs/ProjectChangeEvent.md index 3a5d1bbb..0070b7ec 100644 --- a/client-api_r/generated/docs/ProjectChangeEvent.md +++ b/client-api_r/generated/docs/ProjectChangeEvent.md @@ -1,4 +1,4 @@ -# Rsirius::ProjectChangeEvent +# RSirius::ProjectChangeEvent ## Properties diff --git a/client-api_r/generated/docs/ProjectInfo.md b/client-api_r/generated/docs/ProjectInfo.md index b2c0a208..a9a12105 100644 --- a/client-api_r/generated/docs/ProjectInfo.md +++ b/client-api_r/generated/docs/ProjectInfo.md @@ -1,4 +1,4 @@ -# Rsirius::ProjectInfo +# RSirius::ProjectInfo ## Properties diff --git a/client-api_r/generated/docs/ProjectsApi.md b/client-api_r/generated/docs/ProjectsApi.md index 693147c9..75b0baa5 100644 --- a/client-api_r/generated/docs/ProjectsApi.md +++ b/client-api_r/generated/docs/ProjectsApi.md @@ -27,7 +27,7 @@ Close project-space and remove it from the application. The Project will NOT be ### Example ```R -library(Rsirius) +library(RSirius) # Close project-space and remove it from the application # @@ -73,7 +73,7 @@ Create and open a new project-space at given location and make it accessible via ### Example ```R -library(Rsirius) +library(RSirius) # Create and open a new project-space at given location and make it accessible via the given projectId. # @@ -122,7 +122,7 @@ Get CANOPUS prediction vector definition for ClassyFire classes ### Example ```R -library(Rsirius) +library(RSirius) # Get CANOPUS prediction vector definition for ClassyFire classes # @@ -169,7 +169,7 @@ Get CANOPUS prediction vector definition for NPC classes ### Example ```R -library(Rsirius) +library(RSirius) # Get CANOPUS prediction vector definition for NPC classes # @@ -216,7 +216,7 @@ Get CSI:FingerID fingerprint (prediction vector) definition ### Example ```R -library(Rsirius) +library(RSirius) # Get CSI:FingerID fingerprint (prediction vector) definition # @@ -265,7 +265,7 @@ Get project space info by its projectId. ### Example ```R -library(Rsirius) +library(RSirius) # Get project space info by its projectId. # @@ -314,7 +314,7 @@ List opened project spaces. ### Example ```R -library(Rsirius) +library(RSirius) # List opened project spaces. # @@ -356,7 +356,7 @@ Import and Align full MS-Runs from various formats into the specified project P ### Example ```R -library(Rsirius) +library(RSirius) # Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) # @@ -407,7 +407,7 @@ Import and Align full MS-Runs from various formats into the specified project as ### Example ```R -library(Rsirius) +library(RSirius) # Import and Align full MS-Runs from various formats into the specified project as background job. # @@ -460,7 +460,7 @@ Import already preprocessed ms/ms data from various formats into the specified p ### Example ```R -library(Rsirius) +library(RSirius) # Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) # @@ -513,7 +513,7 @@ Import ms/ms data from the given format into the specified project-space as back ### Example ```R -library(Rsirius) +library(RSirius) # Import ms/ms data from the given format into the specified project-space as background job. # @@ -568,7 +568,7 @@ Open an existing project-space and make it accessible via the given projectId. ### Example ```R -library(Rsirius) +library(RSirius) # Open an existing project-space and make it accessible via the given projectId. # diff --git a/client-api_r/generated/docs/QualityItem.md b/client-api_r/generated/docs/QualityItem.md index 0fcddfb9..15784b99 100644 --- a/client-api_r/generated/docs/QualityItem.md +++ b/client-api_r/generated/docs/QualityItem.md @@ -1,4 +1,4 @@ -# Rsirius::QualityItem +# RSirius::QualityItem ## Properties diff --git a/client-api_r/generated/docs/QuantTableExperimental.md b/client-api_r/generated/docs/QuantTableExperimental.md index bc4d99fd..3dc57383 100644 --- a/client-api_r/generated/docs/QuantTableExperimental.md +++ b/client-api_r/generated/docs/QuantTableExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::QuantTableExperimental +# RSirius::QuantTableExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/Run.md b/client-api_r/generated/docs/Run.md index 956854b9..a645dab4 100644 --- a/client-api_r/generated/docs/Run.md +++ b/client-api_r/generated/docs/Run.md @@ -1,4 +1,4 @@ -# Rsirius::Run +# RSirius::Run ## Properties diff --git a/client-api_r/generated/docs/RunOptField.md b/client-api_r/generated/docs/RunOptField.md index 18388545..46fc9215 100644 --- a/client-api_r/generated/docs/RunOptField.md +++ b/client-api_r/generated/docs/RunOptField.md @@ -1,4 +1,4 @@ -# Rsirius::RunOptField +# RSirius::RunOptField ## Properties diff --git a/client-api_r/generated/docs/RunsApi.md b/client-api_r/generated/docs/RunsApi.md index 81f41679..2cfbbcf2 100644 --- a/client-api_r/generated/docs/RunsApi.md +++ b/client-api_r/generated/docs/RunsApi.md @@ -23,7 +23,7 @@ Method | HTTP request | Description ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Add tags to a run in the project # @@ -74,7 +74,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter # @@ -125,7 +125,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get run with the given identifier from the specified project-space # @@ -176,7 +176,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get all available runs in the given project-space # @@ -231,7 +231,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get runs by tag group # @@ -288,7 +288,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get runs by tag # @@ -345,7 +345,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get all tags associated with this Run # @@ -394,7 +394,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space # diff --git a/client-api_r/generated/docs/SampleTypeFoldChangeRequest.md b/client-api_r/generated/docs/SampleTypeFoldChangeRequest.md index ec716182..b970f32c 100644 --- a/client-api_r/generated/docs/SampleTypeFoldChangeRequest.md +++ b/client-api_r/generated/docs/SampleTypeFoldChangeRequest.md @@ -1,4 +1,4 @@ -# Rsirius::SampleTypeFoldChangeRequest +# RSirius::SampleTypeFoldChangeRequest ## Properties diff --git a/client-api_r/generated/docs/SearchableDatabase.md b/client-api_r/generated/docs/SearchableDatabase.md index 25739422..1a1f1829 100644 --- a/client-api_r/generated/docs/SearchableDatabase.md +++ b/client-api_r/generated/docs/SearchableDatabase.md @@ -1,4 +1,4 @@ -# Rsirius::SearchableDatabase +# RSirius::SearchableDatabase ## Properties diff --git a/client-api_r/generated/docs/SearchableDatabaseParameters.md b/client-api_r/generated/docs/SearchableDatabaseParameters.md index f1b88703..b3a15b63 100644 --- a/client-api_r/generated/docs/SearchableDatabaseParameters.md +++ b/client-api_r/generated/docs/SearchableDatabaseParameters.md @@ -1,4 +1,4 @@ -# Rsirius::SearchableDatabaseParameters +# RSirius::SearchableDatabaseParameters ## Properties diff --git a/client-api_r/generated/docs/SearchableDatabasesApi.md b/client-api_r/generated/docs/SearchableDatabasesApi.md index eb719261..5fc68684 100644 --- a/client-api_r/generated/docs/SearchableDatabasesApi.md +++ b/client-api_r/generated/docs/SearchableDatabasesApi.md @@ -22,7 +22,7 @@ DEPRECATED: this endpoint is based on local file paths and will likely be replac ### Example ```R -library(Rsirius) +library(RSirius) # DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. # @@ -67,7 +67,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_database_id <- "database_id_example" # character | @@ -112,7 +112,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_include_stats <- FALSE # character | (Optional) @@ -157,7 +157,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_database_id <- "database_id_example" # character | @@ -202,7 +202,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_include_stats <- FALSE # character | (Optional) @@ -247,7 +247,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_include_stats <- FALSE # character | (Optional) @@ -292,7 +292,7 @@ Start import of structure and spectra files into the specified database. ### Example ```R -library(Rsirius) +library(RSirius) # Start import of structure and spectra files into the specified database. # @@ -343,7 +343,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_database_id <- "database_id_example" # character | @@ -385,7 +385,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # prepare function argument(s) var_database_id <- "database_id_example" # character | diff --git a/client-api_r/generated/docs/SecurityContext.md b/client-api_r/generated/docs/SecurityContext.md index d97a00d1..2cd98508 100644 --- a/client-api_r/generated/docs/SecurityContext.md +++ b/client-api_r/generated/docs/SecurityContext.md @@ -1,4 +1,4 @@ -# Rsirius::SecurityContext +# RSirius::SecurityContext ## Properties diff --git a/client-api_r/generated/docs/SecurityContextPrincipal.md b/client-api_r/generated/docs/SecurityContextPrincipal.md index 8974aee3..062d87e5 100644 --- a/client-api_r/generated/docs/SecurityContextPrincipal.md +++ b/client-api_r/generated/docs/SecurityContextPrincipal.md @@ -1,4 +1,4 @@ -# Rsirius::SecurityContextPrincipal +# RSirius::SecurityContextPrincipal ## Properties diff --git a/client-api_r/generated/docs/SimplePeak.md b/client-api_r/generated/docs/SimplePeak.md index cb1a751c..48410243 100644 --- a/client-api_r/generated/docs/SimplePeak.md +++ b/client-api_r/generated/docs/SimplePeak.md @@ -1,4 +1,4 @@ -# Rsirius::SimplePeak +# RSirius::SimplePeak ## Properties diff --git a/client-api_r/generated/docs/Sirius.md b/client-api_r/generated/docs/Sirius.md index 4e0efc9b..40b55113 100644 --- a/client-api_r/generated/docs/Sirius.md +++ b/client-api_r/generated/docs/Sirius.md @@ -1,4 +1,4 @@ -# Rsirius::Sirius +# RSirius::Sirius User/developer friendly parameter subset for the Formula/SIRIUS tool Can use results from Spectral library search tool. diff --git a/client-api_r/generated/docs/SpectralLibraryMatch.md b/client-api_r/generated/docs/SpectralLibraryMatch.md index 4a4a6d47..0a347956 100644 --- a/client-api_r/generated/docs/SpectralLibraryMatch.md +++ b/client-api_r/generated/docs/SpectralLibraryMatch.md @@ -1,4 +1,4 @@ -# Rsirius::SpectralLibraryMatch +# RSirius::SpectralLibraryMatch ## Properties diff --git a/client-api_r/generated/docs/SpectralLibraryMatchSummary.md b/client-api_r/generated/docs/SpectralLibraryMatchSummary.md index 6a01e5e4..95019d26 100644 --- a/client-api_r/generated/docs/SpectralLibraryMatchSummary.md +++ b/client-api_r/generated/docs/SpectralLibraryMatchSummary.md @@ -1,4 +1,4 @@ -# Rsirius::SpectralLibraryMatchSummary +# RSirius::SpectralLibraryMatchSummary ## Properties diff --git a/client-api_r/generated/docs/SpectralLibrarySearch.md b/client-api_r/generated/docs/SpectralLibrarySearch.md index a96c07da..8c5b5366 100644 --- a/client-api_r/generated/docs/SpectralLibrarySearch.md +++ b/client-api_r/generated/docs/SpectralLibrarySearch.md @@ -1,4 +1,4 @@ -# Rsirius::SpectralLibrarySearch +# RSirius::SpectralLibrarySearch User/developer friendly parameter subset for the Spectral library search tool. diff --git a/client-api_r/generated/docs/SpectrumAnnotation.md b/client-api_r/generated/docs/SpectrumAnnotation.md index 824bcd18..d9204f15 100644 --- a/client-api_r/generated/docs/SpectrumAnnotation.md +++ b/client-api_r/generated/docs/SpectrumAnnotation.md @@ -1,4 +1,4 @@ -# Rsirius::SpectrumAnnotation +# RSirius::SpectrumAnnotation ## Properties diff --git a/client-api_r/generated/docs/StatisticsTable.md b/client-api_r/generated/docs/StatisticsTable.md index d7f79e37..eba0c44a 100644 --- a/client-api_r/generated/docs/StatisticsTable.md +++ b/client-api_r/generated/docs/StatisticsTable.md @@ -1,4 +1,4 @@ -# Rsirius::StatisticsTable +# RSirius::StatisticsTable ## Properties diff --git a/client-api_r/generated/docs/StoredJobSubmission.md b/client-api_r/generated/docs/StoredJobSubmission.md index ba384520..7dbd76c2 100644 --- a/client-api_r/generated/docs/StoredJobSubmission.md +++ b/client-api_r/generated/docs/StoredJobSubmission.md @@ -1,4 +1,4 @@ -# Rsirius::StoredJobSubmission +# RSirius::StoredJobSubmission ## Properties diff --git a/client-api_r/generated/docs/StructureCandidate.md b/client-api_r/generated/docs/StructureCandidate.md index f6b9a89c..73d98164 100644 --- a/client-api_r/generated/docs/StructureCandidate.md +++ b/client-api_r/generated/docs/StructureCandidate.md @@ -1,4 +1,4 @@ -# Rsirius::StructureCandidate +# RSirius::StructureCandidate ## Properties diff --git a/client-api_r/generated/docs/StructureCandidateFormula.md b/client-api_r/generated/docs/StructureCandidateFormula.md index 8e7cb79d..9e7479ce 100644 --- a/client-api_r/generated/docs/StructureCandidateFormula.md +++ b/client-api_r/generated/docs/StructureCandidateFormula.md @@ -1,4 +1,4 @@ -# Rsirius::StructureCandidateFormula +# RSirius::StructureCandidateFormula ## Properties diff --git a/client-api_r/generated/docs/StructureCandidateScored.md b/client-api_r/generated/docs/StructureCandidateScored.md index 2b89c15f..cc326263 100644 --- a/client-api_r/generated/docs/StructureCandidateScored.md +++ b/client-api_r/generated/docs/StructureCandidateScored.md @@ -1,4 +1,4 @@ -# Rsirius::StructureCandidateScored +# RSirius::StructureCandidateScored ## Properties diff --git a/client-api_r/generated/docs/StructureDbSearch.md b/client-api_r/generated/docs/StructureDbSearch.md index bbc7c1d0..2079f80a 100644 --- a/client-api_r/generated/docs/StructureDbSearch.md +++ b/client-api_r/generated/docs/StructureDbSearch.md @@ -1,4 +1,4 @@ -# Rsirius::StructureDbSearch +# RSirius::StructureDbSearch User/developer friendly parameter subset for the CSI:FingerID structure db search tool. Needs results from FingerprintPrediction and Canopus Tool. Non-Null parameters in this Object well override their equivalent value in the config map. diff --git a/client-api_r/generated/docs/Subscription.md b/client-api_r/generated/docs/Subscription.md index 3fd709f8..08fd3a43 100644 --- a/client-api_r/generated/docs/Subscription.md +++ b/client-api_r/generated/docs/Subscription.md @@ -1,4 +1,4 @@ -# Rsirius::Subscription +# RSirius::Subscription ## Properties diff --git a/client-api_r/generated/docs/SubscriptionConsumables.md b/client-api_r/generated/docs/SubscriptionConsumables.md index b1f901f3..3ed86a90 100644 --- a/client-api_r/generated/docs/SubscriptionConsumables.md +++ b/client-api_r/generated/docs/SubscriptionConsumables.md @@ -1,4 +1,4 @@ -# Rsirius::SubscriptionConsumables +# RSirius::SubscriptionConsumables ## Properties diff --git a/client-api_r/generated/docs/Tag.md b/client-api_r/generated/docs/Tag.md index 04a4d77c..3f5b2698 100644 --- a/client-api_r/generated/docs/Tag.md +++ b/client-api_r/generated/docs/Tag.md @@ -1,4 +1,4 @@ -# Rsirius::Tag +# RSirius::Tag ## Properties diff --git a/client-api_r/generated/docs/TagDefinition.md b/client-api_r/generated/docs/TagDefinition.md index 90ee4d77..53ab3538 100644 --- a/client-api_r/generated/docs/TagDefinition.md +++ b/client-api_r/generated/docs/TagDefinition.md @@ -1,4 +1,4 @@ -# Rsirius::TagDefinition +# RSirius::TagDefinition ## Properties diff --git a/client-api_r/generated/docs/TagDefinitionImport.md b/client-api_r/generated/docs/TagDefinitionImport.md index 3ad7f31f..f7541234 100644 --- a/client-api_r/generated/docs/TagDefinitionImport.md +++ b/client-api_r/generated/docs/TagDefinitionImport.md @@ -1,4 +1,4 @@ -# Rsirius::TagDefinitionImport +# RSirius::TagDefinitionImport ## Properties diff --git a/client-api_r/generated/docs/TagGroup.md b/client-api_r/generated/docs/TagGroup.md index db797d6f..1554e828 100644 --- a/client-api_r/generated/docs/TagGroup.md +++ b/client-api_r/generated/docs/TagGroup.md @@ -1,4 +1,4 @@ -# Rsirius::TagGroup +# RSirius::TagGroup ## Properties diff --git a/client-api_r/generated/docs/TagsApi.md b/client-api_r/generated/docs/TagsApi.md index 909faa9e..1b86b8e3 100644 --- a/client-api_r/generated/docs/TagsApi.md +++ b/client-api_r/generated/docs/TagsApi.md @@ -24,7 +24,7 @@ Method | HTTP request | Description ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Group tags in the project # @@ -77,7 +77,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Add a possible value to the tag definition in the project # @@ -128,7 +128,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Add tags to the project # @@ -177,7 +177,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space # @@ -223,7 +223,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space # @@ -269,7 +269,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get tag group by name in the given project-space # @@ -318,7 +318,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get all tag based groups in the given project-space # @@ -367,7 +367,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get tag definition by its name in the given project-space # @@ -416,7 +416,7 @@ No authorization required ### Example ```R -library(Rsirius) +library(RSirius) # [EXPERIMENTAL] Get all tag definitions in the given project-space # diff --git a/client-api_r/generated/docs/Term.md b/client-api_r/generated/docs/Term.md index 9f6622f6..06f3afa1 100644 --- a/client-api_r/generated/docs/Term.md +++ b/client-api_r/generated/docs/Term.md @@ -1,4 +1,4 @@ -# Rsirius::Term +# RSirius::Term ## Properties diff --git a/client-api_r/generated/docs/Timeout.md b/client-api_r/generated/docs/Timeout.md index fb197668..4b2cb499 100644 --- a/client-api_r/generated/docs/Timeout.md +++ b/client-api_r/generated/docs/Timeout.md @@ -1,4 +1,4 @@ -# Rsirius::Timeout +# RSirius::Timeout ## Properties diff --git a/client-api_r/generated/docs/TraceAnnotationExperimental.md b/client-api_r/generated/docs/TraceAnnotationExperimental.md index 55e04cf2..128cdca0 100644 --- a/client-api_r/generated/docs/TraceAnnotationExperimental.md +++ b/client-api_r/generated/docs/TraceAnnotationExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::TraceAnnotationExperimental +# RSirius::TraceAnnotationExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/TraceExperimental.md b/client-api_r/generated/docs/TraceExperimental.md index 707df5f1..e684d77a 100644 --- a/client-api_r/generated/docs/TraceExperimental.md +++ b/client-api_r/generated/docs/TraceExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::TraceExperimental +# RSirius::TraceExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/TraceSetExperimental.md b/client-api_r/generated/docs/TraceSetExperimental.md index e3dff252..19cc3cbf 100644 --- a/client-api_r/generated/docs/TraceSetExperimental.md +++ b/client-api_r/generated/docs/TraceSetExperimental.md @@ -1,4 +1,4 @@ -# Rsirius::TraceSetExperimental +# RSirius::TraceSetExperimental EXPERIMENTAL: This schema is experimental and may be changed (or even removed) without notice until it is declared stable. diff --git a/client-api_r/generated/docs/UseHeuristic.md b/client-api_r/generated/docs/UseHeuristic.md index dd9849d8..8d6a8100 100644 --- a/client-api_r/generated/docs/UseHeuristic.md +++ b/client-api_r/generated/docs/UseHeuristic.md @@ -1,4 +1,4 @@ -# Rsirius::UseHeuristic +# RSirius::UseHeuristic ## Properties diff --git a/client-api_r/generated/docs/WebServerNamespace.md b/client-api_r/generated/docs/WebServerNamespace.md index 003ec706..f9ed0afb 100644 --- a/client-api_r/generated/docs/WebServerNamespace.md +++ b/client-api_r/generated/docs/WebServerNamespace.md @@ -1,4 +1,4 @@ -# Rsirius::WebServerNamespace +# RSirius::WebServerNamespace ## Properties diff --git a/client-api_r/generated/docs/Zodiac.md b/client-api_r/generated/docs/Zodiac.md index 5b274c47..fba53929 100644 --- a/client-api_r/generated/docs/Zodiac.md +++ b/client-api_r/generated/docs/Zodiac.md @@ -1,4 +1,4 @@ -# Rsirius::Zodiac +# RSirius::Zodiac User/developer friendly parameter subset for the ZODIAC tool (Network base molecular formula re-ranking). Needs results from Formula/SIRIUS Tool diff --git a/client-api_r/generated/docs/ZodiacAnalogueNodes.md b/client-api_r/generated/docs/ZodiacAnalogueNodes.md index 5449a99f..5054bc2b 100644 --- a/client-api_r/generated/docs/ZodiacAnalogueNodes.md +++ b/client-api_r/generated/docs/ZodiacAnalogueNodes.md @@ -1,4 +1,4 @@ -# Rsirius::ZodiacAnalogueNodes +# RSirius::ZodiacAnalogueNodes ## Properties diff --git a/client-api_r/generated/docs/ZodiacEdgeFilterThresholds.md b/client-api_r/generated/docs/ZodiacEdgeFilterThresholds.md index ad0a7e55..006875e4 100644 --- a/client-api_r/generated/docs/ZodiacEdgeFilterThresholds.md +++ b/client-api_r/generated/docs/ZodiacEdgeFilterThresholds.md @@ -1,4 +1,4 @@ -# Rsirius::ZodiacEdgeFilterThresholds +# RSirius::ZodiacEdgeFilterThresholds ## Properties diff --git a/client-api_r/generated/docs/ZodiacEpochs.md b/client-api_r/generated/docs/ZodiacEpochs.md index 3d9ae04f..a0f46713 100644 --- a/client-api_r/generated/docs/ZodiacEpochs.md +++ b/client-api_r/generated/docs/ZodiacEpochs.md @@ -1,4 +1,4 @@ -# Rsirius::ZodiacEpochs +# RSirius::ZodiacEpochs ## Properties diff --git a/client-api_r/generated/docs/ZodiacLibraryScoring.md b/client-api_r/generated/docs/ZodiacLibraryScoring.md index 840c4b7c..f2ec41c3 100644 --- a/client-api_r/generated/docs/ZodiacLibraryScoring.md +++ b/client-api_r/generated/docs/ZodiacLibraryScoring.md @@ -1,4 +1,4 @@ -# Rsirius::ZodiacLibraryScoring +# RSirius::ZodiacLibraryScoring ## Properties diff --git a/client-api_r/rsirius_sdk.R b/client-api_r/rsirius_sdk.R index 6fe1a36f..fc1936ef 100644 --- a/client-api_r/rsirius_sdk.R +++ b/client-api_r/rsirius_sdk.R @@ -32,13 +32,13 @@ SiriusSDK <- R6::R6Class( connect = function(url) { self$host <- url - self$api_client <- Rsirius::ApiClient$new(self$host) - return(Rsirius::rsirius_api$new(self$api_client)) + self$api_client <- RSirius::ApiClient$new(self$host) + return(RSirius::rsirius_api$new(self$api_client)) }, reconnect = function() { if (!is.null(self$api_client) && !is.null(self$process) && self$process$is_alive()) { - return(Rsirius::rsirius_api(self$api_client)) + return(RSirius::rsirius_api(self$api_client)) } cat("Cannot reconnect, api_client and/or process are NULL or process has terminated.\n") return(NULL) @@ -105,8 +105,8 @@ SiriusSDK <- R6::R6Class( # check if connection to API client is possible if (!is.null(self$api_client)) { tryCatch({ - if (Rsirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { - return(Rsirius::rsirius_api$new(self$api_client)) + if (RSirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { + return(RSirius::rsirius_api$new(self$api_client)) } }, error = function(e) { message("Found existing API Client, but could not reach API.") @@ -119,8 +119,8 @@ SiriusSDK <- R6::R6Class( sirius_api <- self$connect(self$host) self$api_client <- sirius_api$api_client tryCatch({ - if (Rsirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { - return(Rsirius::rsirius_api$new(self$api_client)) + if (RSirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { + return(RSirius::rsirius_api$new(self$api_client)) } }, error = function(e) { message("Found existing port, but could not reach API under this port.") @@ -162,8 +162,8 @@ SiriusSDK <- R6::R6Class( self$api_client <- sirius_api$api_client tryCatch({ - if (Rsirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { - return(Rsirius::rsirius_api$new(self$api_client)) + if (RSirius::ActuatorApi$new(self$api_client)$Health()$status == "UP") { + return(RSirius::rsirius_api$new(self$api_client)) } }, error = function(e) { message("Created API client from process_id and port, but could not reach API.") @@ -287,7 +287,7 @@ SiriusSDK <- R6::R6Class( shutdown_sirius = function() { if (!is.null(self$process)) { tryCatch({ - Rsirius::ActuatorApi$new(self$api_client)$Shutdown() + RSirius::ActuatorApi$new(self$api_client)$Shutdown() Sys.sleep(3) if (!self$process$is_alive()) { cat("Sirius was shut down successfully\n") From 6eff6ed4e036898786ce9c8f132f684601199b49 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 15:27:23 +0200 Subject: [PATCH 65/76] delete obsolete files --- .github/workflows/RDebug.yml | 100 --------------------------- client-api_r/add_to_docu.sh | 24 ------- client-api_r/api_client_fix.sh | 47 ------------- client-api_r/api_response_fix.sh | 43 ------------ client-api_r/compounds_api_fix.sh | 32 --------- client-api_r/computations_api_fix.sh | 30 -------- client-api_r/job_submission_fix.sh | 24 ------- 7 files changed, 300 deletions(-) delete mode 100644 .github/workflows/RDebug.yml delete mode 100755 client-api_r/add_to_docu.sh delete mode 100755 client-api_r/api_client_fix.sh delete mode 100755 client-api_r/api_response_fix.sh delete mode 100755 client-api_r/compounds_api_fix.sh delete mode 100755 client-api_r/computations_api_fix.sh delete mode 100755 client-api_r/job_submission_fix.sh diff --git a/.github/workflows/RDebug.yml b/.github/workflows/RDebug.yml deleted file mode 100644 index 861e4507..00000000 --- a/.github/workflows/RDebug.yml +++ /dev/null @@ -1,100 +0,0 @@ -name: RDebug - - -on: [workflow_dispatch, workflow_call] - - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 30 - strategy: - fail-fast: false - matrix: - # 3.4.0 purrr error, 3.3.0 not supported by action - r-version: ["4.2.0"] - env: - SIRIUS_USER: ${{ secrets.SIRIUS_USER }} - SIRIUS_PW: ${{ secrets.SIRIUS_PW }} - steps: - - name: Cache Sirius Release - id: cache-sirius - uses: actions/cache@v3 - with: - path: .updater/api/sirius - key: sirius - - name: Run Sirius - run: | - ./.updater/api/sirius/bin/sirius REST -s -p 8080 & - sleep 10 - - uses: actions/checkout@v3 - - name: Set up R ${{ matrix.r-version }} - uses: r-lib/actions/setup-r@v2 - with: - r-version: ${{ matrix.r-version }} - - name: Install Rsirius dependencies - uses: r-lib/actions/setup-r-dependencies@v2 - with: - cache-version: 1 - extra-packages: | - any::devtools - working-directory: ./client-api_r/generated - - name: Build Rsirius - run: | - R CMD build ./client-api_r/generated - - name: Install Rsirius - run: | - R CMD INSTALL --preclean Rsirius_1.0.0.tar.gz - - name: Run Rsirius - run: library(Rsirius); - api_instance <- FormulaResultsApi$new(); - compoundId <- "1_Bicuculline_Bicuculline"; - formulaId <- "C20H17NO6_[M+H]+"; - pid <- "formRes"; - dir <- "formResDir"; - ProjectSpacesApi$new()$CreateProjectSpace(pid, dir, "/home/runner/work/sirius-client-openAPI/sirius-client-openAPI/.updater/clientTests/Data/test-project-results", TRUE); - resp <- api_instance$GetStructureCandidates(pid, compoundId, formulaId, TRUE, TRUE, TRUE, 10); - resp1 <- api_instance$GetTopStructureCandidate(pid, compoundId, TRUE, TRUE, TRUE); - print("### RESP 1"); - resp1; - print("after resp1"); - resp2http <- api_instance$GetTopStructureCandidateWithHttpInfo(pid, compoundId, FALSE, TRUE, TRUE); - print("### RESP 2 HTTP"); - resp2http$response; - resp2 <- api_instance$GetTopStructureCandidate(pid, compoundId, FALSE, TRUE, TRUE); - print("### RESP 2"); - resp2; - resp3 <- api_instance$GetTopStructureCandidate(pid, compoundId, TRUE, FALSE, TRUE); - print("### RESP 3"); - resp3; - resp4 <- api_instance$GetTopStructureCandidate(pid, compoundId, TRUE, TRUE, FALSE); - print("### RESP 4"); - resp4; - resp5 <- api_instance$GetTopStructureCandidate(pid, compoundId, FALSE, FALSE, TRUE); - print("### RESP 5"); - resp5; - resp6 <- api_instance$GetTopStructureCandidate(pid, compoundId, FALSE, TRUE, FALSE); - print("### RESP 6"); - resp6; - resp7 <- api_instance$GetTopStructureCandidate(pid, compoundId, TRUE, FALSE, FALSE); - print("### RESP 7"); - resp7; - resp8 <- api_instance$GetTopStructureCandidate(pid, compoundId, FALSE, FALSE, FALSE); - print("### RESP 8"); - resp8; - - isTRUE(is.list(resp)); - sapply(resp, function(x) {print(x)}); - isTRUE(all(sapply(resp, function(x) {inherits(x, "StructureCandidate")}))); - isTRUE(is.list(resp) && all(sapply(resp, function(x) {inherits(x, "StructureCandidate")}))); - resp -# resp2 <- api_instance$GetStructureCandidatesWithHttpInfo(pid, compoundId, formulaId, FALSE, TRUE, FALSE, 10); -# resp2$response; -# resp2 <- api_instance$GetStructureCandidates(pid, compoundId, formulaId, FALSE, TRUE, FALSE, 10); -# resp2; - shell: Rscript {0} - - - name: Traceback - if: always() - run: traceback() - shell: Rscript {0} diff --git a/client-api_r/add_to_docu.sh b/client-api_r/add_to_docu.sh deleted file mode 100755 index 2f3d2cbd..00000000 --- a/client-api_r/add_to_docu.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# Check if the input file is given as an argument -if [ $# -eq 0 ]; then - echo "Error: No input file specified." - exit 1 -fi - -# Check if the number of arguments is correct -if [ "$#" -ne 1 ]; then - echo "Error: Illegal number of arguments. Please specify the path to the R file." - exit 1 -fi - -# Check if the input file exists -if [ ! -f $1 ]; then - echo "Error: Input file does not exist." - exit 1 -fi - -# add comment to ImportCompoundsFromString, as generating var_body is not really intuitive -sed -i '/var_body <- "body_example" # character | data content in specified format/a\ -# tip: use the following line to generate the var_body string from a file "MyFile.ms"\ -# var_body <- paste(readLines("MyFile.ms", warn=FALSE), collapse="\\n")' $1 diff --git a/client-api_r/api_client_fix.sh b/client-api_r/api_client_fix.sh deleted file mode 100755 index c40b0211..00000000 --- a/client-api_r/api_client_fix.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -# Check if the input file is given as an argument -if [ $# -eq 0 ]; then - echo "Error: No input file specified." - exit 1 -fi - -# Check if the number of arguments is correct -if [ "$#" -ne 1 ]; then - echo "Error: Illegal number of arguments. Please specify the path to the R file." - exit 1 -fi - -# Check if the input file exists -if [ ! -f $1 ]; then - echo "Error: Input file does not exist." - exit 1 -fi - -# Replace the specified line in the input file -# note: we use @ as an delimiter as / and | are allready used in the second regex -# allow empty response body -sed -i "s@^\([[:blank:]]*\)api_response\$response <- resp %>% resp_body_string()@\1if (length(resp\$body) == 0) {\n\1 api_response\$response <- \"empty\"\n\1} else {\n\1 api_response\$response <- resp %>% resp_body_string()\n\1}@" $1 -# allow response being a URL -sed -i "s@^\([[:blank:]]*\)resp_obj <- jsonlite::fromJSON(raw_response)@\1if (startsWith(raw_response, \"https://portal.bright-giant.com/auth/register/\")) {\n\1 resp_obj <- raw_response\n\1} else {\n\1 resp_obj <- jsonlite::fromJSON(raw_response)\n\1}@" $1 -# fix Structure Candidate deserialization error -# delete lines -sed -i '/^[[:blank:]]*if (c(inner_return_type) \%in\% primitive_types) {/{n;N;N;N;N;N;d}' $1 -# replace deleted lines -sed -i 's@^\([[:blank:]]*\)if (c(inner_return_type) \%in\% primitive_types) {@\ -\1if (c(inner_return_type) \%in\% primitive_types) {\ -\1 if (inner_return_type == "integer" \&\& is.list(obj) \&\& length(obj)>0 \&\& exists("obj"\[\[1\]\])) {\ -\1 return_obj <- vector("list", length = length(obj\[\[1\]\]))\ -\1 if (length(obj\[\[1\]\]) > 0) {\ -\1 for (row in 1:length(obj\[\[1\]\])) {\ -\1 return_obj\[\[row\]\] <- self$deserializeObj(obj\[\[1\]\]\[row\], inner_return_type, pkg_env)\ -\1 }\ -\1 }\ -\1 } else {\ -\1 return_obj <- vector("list", length = length(obj))\ -\1 if (length(obj) > 0) {\ -\1 for (row in 1:length(obj)) {\ -\1 return_obj\[\[row\]\] <- self$deserializeObj(obj\[row\], inner_return_type, pkg_env)\ -\1 }\ -\1 }\ -\1 }@' $1 diff --git a/client-api_r/api_response_fix.sh b/client-api_r/api_response_fix.sh deleted file mode 100755 index 68d36e2e..00000000 --- a/client-api_r/api_response_fix.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash - -# Check if the input file is given as an argument -if [ $# -eq 0 ]; then - echo "Error: No input file specified." - exit 1 -fi - -# Check if the number of arguments is correct -if [ "$#" -ne 1 ]; then - echo "Error: Illegal number of arguments. Please specify the path to the R file." - exit 1 -fi - -# Check if the input file exists -if [ ! -f $1 ]; then - echo "Error: Input file does not exist." - exit 1 -fi - -# delete lines -sed -i '/^[[:blank:]]*self$content <- content/{n;N;N;N;d}' $1 -# replace deleted lines -# allow initialization of type $new("string", api_response_class) -# that is used in the *_api.R classes -sed -i 's@^\([[:blank:]]*\)self$content <- content@\ -\1# allow initialization of type $new(\"string\", api_response_class)\ -\1# that is used in the *_api.R classes\ -\1if (typeof(response) == \"environment\"){\ -\1 self$content <- content\ -\1 self$response <- response$response\ -\1 self$status_code <- response$status_code\ -\1 self$status_code_desc <- response$status_code_desc\ -\1 self$headers <- response$headers\ -\1\ -\1# standard initialization\ -\1} else {\ -\1 self$content <- content\ -\1 self$response <- response\ -\1 self$status_code <- status_code\ -\1 self$status_code_desc <- status_code_desc\ -\1 self$headers <- headers\ -\1}@' $1 diff --git a/client-api_r/compounds_api_fix.sh b/client-api_r/compounds_api_fix.sh deleted file mode 100755 index 4ae65f74..00000000 --- a/client-api_r/compounds_api_fix.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -# Check if the input file is given as an argument -if [ $# -eq 0 ]; then - echo "Error: No input file specified." - exit 1 -fi - -# Check if the number of arguments is correct -if [ "$#" -ne 1 ]; then - echo "Error: Illegal number of arguments. Please specify the path to the R file." - exit 1 -fi - -# Check if the input file exists -if [ ! -f $1 ]; then - echo "Error: Input file does not exist." - exit 1 -fi - - -# fix simple local_var_body -sed -i 's/^\([[:blank:]]*\)local_var_body <- `body`$toJSONString()/\1local_var_body <- `body`/' $1 -#sed -i 's/^\([[:blank:]]*\)local_var_body <- `job_submission`$toJSONString()/\1local_var_body <- jsonlite::toJSON(job_submission)/' $1 -#sed -i 's/^\([[:blank:]]*\)local_var_body <- `gui_parameters`$toJSONString()/\1local_var_body <- jsonlite::toJSON(gui_parameters)/' $1 -#sed -i 's/^\([[:blank:]]*\)local_var_body <- `account_credentials`$toJSONString()/\1local_var_body <- jsonlite::toJSON(account_credentials)/' $1 - -## fix multi-row if statement -# delete lines -sed -i '/^[[:blank:]]*if (!is.null(`request_body`)) {/{n;N;N;N;d}' $1 -#insert new line with fitting indentation -sed -i 's/^\([[:blank:]]*\)if (!is.null(`request_body`)) {/\1if (!is.null(`request_body`)) {\n\1 local_var_body <- jsonlite::toJSON(`request_body`)/' $1 diff --git a/client-api_r/computations_api_fix.sh b/client-api_r/computations_api_fix.sh deleted file mode 100755 index 2c45862e..00000000 --- a/client-api_r/computations_api_fix.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# Check if the input file is given as an argument -if [ $# -eq 0 ]; then - echo "Error: No input file specified." - exit 1 -fi - -# Check if the number of arguments is correct -if [ "$#" -ne 1 ]; then - echo "Error: Illegal number of arguments. Please specify the path to the R file." - exit 1 -fi - -# Check if the input file exists -if [ ! -f $1 ]; then - echo "Error: Input file does not exist." - exit 1 -fi - -## In: PostJobConfigWithHttpInfo -# fix deserialization of response coming back as simple string and not as JSON -sed -i "s@^\([[:blank:]]*\)self\$api_client\$deserialize(local_var_resp\$response, \"character\", loadNamespace(\"Rsirius\")),@\1self\$api_client\$deserialize(jsonlite::toJSON(local_var_resp\$response), \"character\", loadNamespace(\"Rsirius\")),@" $1 - -## In: StartJobFromConfigWithHttpInfo -# fix multi-row if statement -# delete lines -sed -i '/^[[:blank:]]*if (!is.null(`request_body`)) {/{n;N;N;N;d}' $1 -#insert new line with fitting indentation -sed -i 's/^\([[:blank:]]*\)if (!is.null(`request_body`)) {/\1if (!is.null(`request_body`)) {\n\1 local_var_body <- jsonlite::toJSON(`request_body`)/' $1 diff --git a/client-api_r/job_submission_fix.sh b/client-api_r/job_submission_fix.sh deleted file mode 100755 index a717f137..00000000 --- a/client-api_r/job_submission_fix.sh +++ /dev/null @@ -1,24 +0,0 @@ -## CURRENTLY NOT USED - MADE OBSOLETE BY TEMPLATE CHANGE - -#!/bin/bash - -# Check if the input file is given as an argument -if [ $# -eq 0 ]; then - echo "Error: No input file specified." - exit 1 -fi - -# Check if the number of arguments is correct -if [ "$#" -ne 1 ]; then - echo "Error: Illegal number of arguments. Please specify the path to the R file." - exit 1 -fi - -# Check if the input file exists -if [ ! -f $1 ]; then - echo "Error: Input file does not exist." - exit 1 -fi - -# fix serialization of configMap in toJSONString -sed -i "s@^\([[:blank:]]*\)\"\%s\"@\1\%s@" $1 From fbddef9cddbc7a23ae1cea0f8e6e82cbaf8dcbf5 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 18:04:06 +0200 Subject: [PATCH 66/76] activate mzML import tests for python --- .../generated/test/test_projects_api.py | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/client-api_python/generated/test/test_projects_api.py b/client-api_python/generated/test/test_projects_api.py index 11fe7644..364a04f4 100644 --- a/client-api_python/generated/test/test_projects_api.py +++ b/client-api_python/generated/test/test_projects_api.py @@ -105,24 +105,20 @@ def test_import_ms_run_data(self) -> None: Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) """ - # TODO this still has API side issues - # input_files = [self.full_ms_file] - # parameters = LcmsSubmissionParameters(align_lcms_runs=False) - # response = self.projects.import_ms_run_data(project_id=self.project_id, parameters=parameters, input_files=input_files) - # self.assertIsInstance(response, ImportResult) - pass + input_files = [self.full_ms_file] + parameters = LcmsSubmissionParameters(align_lcms_runs=False, noise_intensity=0.05, trace_max_mass_deviation=None, align_max_mass_deviation=None) + response = self.projects.import_ms_run_data(project_id=self.project_id, parameters=parameters, input_files=input_files) + self.assertIsInstance(response, ImportResult) def test_import_ms_run_data_as_job(self) -> None: """Test case for import_ms_run_data_as_job Import and Align full MS-Runs from various formats into the specified project as background job. """ - # TODO this still has API side issues - # input_files = [self.full_ms_file] - # parameters = LcmsSubmissionParameters(align_lcms_runs=False) - # response = self.projects.import_ms_run_data_as_job(project_id=self.project_id, parameters=parameters, input_files=input_files) - # self.assertIsInstance(response, Job) - pass + input_files = [self.full_ms_file] + parameters = LcmsSubmissionParameters(align_lcms_runs=False, noise_intensity=0.05, trace_max_mass_deviation=None, align_max_mass_deviation=None) + response = self.projects.import_ms_run_data_as_job(project_id=self.project_id, parameters=parameters, input_files=input_files) + self.assertIsInstance(response, Job) def test_import_preprocessed_data(self) -> None: """Test case for import_preprocessed_data From dc7bcbbb4cb52c68ca4aee1b2ec170e99c58fe4d Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 18:10:48 +0200 Subject: [PATCH 67/76] version is added in generated folders anyway --- .updater/openapi_generator/version | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .updater/openapi_generator/version diff --git a/.updater/openapi_generator/version b/.updater/openapi_generator/version deleted file mode 100644 index 758bb9c8..00000000 --- a/.updater/openapi_generator/version +++ /dev/null @@ -1 +0,0 @@ -7.10.0 From 06e77bb4731769e14f63fd221c10769be4a50660 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 18:32:46 +0200 Subject: [PATCH 68/76] update to 7.16 generator for PySirius and generate with fixed sirius 6.3.3 api docs --- .github/workflows/NewUpdate.yml | 20 +- client-api_python/formatting/format_init.sh | 11 + .../generated/.github/workflows/python.yml | 7 +- .../generated/.openapi-generator/VERSION | 2 +- .../generated/PySirius/__init__.py | 493 +- .../generated/PySirius/api/actuator_api.py | 429 +- .../PySirius/api/compound_statistics_api.py | 969 +- .../generated/PySirius/api/compounds_api.py | 3059 ++--- .../PySirius/api/feature_statistics_api.py | 969 +- .../generated/PySirius/api/features_api.py | 10095 ++++++++-------- .../generated/PySirius/api/info_api.py | 464 +- .../generated/PySirius/api/jobs_api.py | 3352 ++--- .../PySirius/api/login_and_account_api.py | 1855 +-- .../generated/PySirius/api/projects_api.py | 2769 ++--- .../generated/PySirius/api/runs_api.py | 1921 +-- .../PySirius/api/searchable_databases_api.py | 2043 ++-- .../generated/PySirius/api/tags_api.py | 1971 +-- .../generated/PySirius/api_client.py | 104 +- .../generated/PySirius/configuration.py | 11 +- .../generated/PySirius/exceptions.py | 17 + .../generated/PySirius/models/__init__.py | 2 +- .../PySirius/models/formula_candidate.py | 5 + .../models/lcms_submission_parameters.py | 10 + client-api_python/generated/PySirius/rest.py | 1 + client-api_python/generated/README.md | 4 +- .../generated/docs/CompoundStatisticsApi.md | 18 +- .../generated/docs/CompoundsApi.md | 75 +- .../generated/docs/FeatureStatisticsApi.md | 18 +- .../generated/docs/FeaturesApi.md | 172 +- client-api_python/generated/docs/InfoApi.md | 4 - client-api_python/generated/docs/JobsApi.md | 6 +- .../generated/docs/ProjectsApi.md | 17 +- client-api_python/generated/docs/RunsApi.md | 57 +- .../generated/docs/SearchableDatabasesApi.md | 14 - client-api_python/generated/docs/TagsApi.md | 42 +- client-api_python/generated/pyproject.toml | 29 +- client-api_python/generated/requirements.txt | 2 +- client-api_python/generated/setup.py | 6 +- .../templates/python/api_client.mustache | 787 -- 39 files changed, 15969 insertions(+), 15861 deletions(-) create mode 100644 client-api_python/formatting/format_init.sh delete mode 100644 client-api_python/templates/python/api_client.mustache diff --git a/.github/workflows/NewUpdate.yml b/.github/workflows/NewUpdate.yml index ba905326..5564270d 100644 --- a/.github/workflows/NewUpdate.yml +++ b/.github/workflows/NewUpdate.yml @@ -20,8 +20,8 @@ jobs: - name: Download latest generators run: | cd .updater/openapi_generator - wget -nv https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar -O openapi-generator-cli.jar - java -jar openapi-generator-cli.jar version > version + wget -nv https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.10.0/openapi-generator-cli-7.10.0.jar -O openapi-generator-cli-7.10.jar + wget -nv https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.16.0/openapi-generator-cli-7.16.0.jar -O openapi-generator-cli-7.16.jar - name: Download latest Sirius Release uses: nick-fields/retry@v2 with: @@ -67,7 +67,7 @@ jobs: rm -rf client-api_python/generated/docs rm -rf client-api_python/generated/PySirius - java -jar .updater/openapi_generator/openapi-generator-cli.jar generate -i .updater/api/api-docs-enums.json -c .updater/config/Python/config.json -g python -o client-api_python/generated -t client-api_python/templates/python --additional-properties=packageVersion=$packageVersion + java -jar .updater/openapi_generator/openapi-generator-cli-7.16.jar generate -i .updater/api/api-docs-enums.json -c .updater/config/Python/config.json -g python -o client-api_python/generated -t client-api_python/templates/python --additional-properties=packageVersion=$packageVersion echo "temporarily move R manual folder" mv client-api_r/generated/man/ client-api_r/ @@ -76,14 +76,11 @@ jobs: rm -rf client-api_r/generated/docs rm -rf client-api_r/generated/R - java -jar .updater/openapi_generator/openapi-generator-cli.jar generate -i .updater/api/api-docs-strings.json -c .updater/config/R/config.json -g r -o client-api_r/generated -t client-api_r/templates/r --additional-properties=packageVersion=$packageVersion + java -jar .updater/openapi_generator/openapi-generator-cli-7.10.jar generate -i .updater/api/api-docs-strings.json -c .updater/config/R/config.json -g r -o client-api_r/generated -t client-api_r/templates/r --additional-properties=packageVersion=$packageVersion echo "recover R manual folder" mv client-api_r/man/ client-api_r/generated/ - # echo "generating Ruby Code" - # rm -rf client-api_ruby/generated/* - # java -jar .updater/openapi_generator/openapi-generator-cli.jar generate -i .updater/api/api-docs.json -c .updater/config/Ruby/config.json -g ruby -o client-api_ruby/generated echo "generating Finished!" - name: Format Python Package run: | @@ -91,11 +88,8 @@ jobs: cp client-api_python/pysirius_sdk.py client-api_python/generated/PySirius cp client-api_python/pysirius_helper.py client-api_python/generated/PySirius - echo >> client-api_python/generated/PySirius/__init__.py - echo "# import manually generated API and SDK files" >> client-api_python/generated/PySirius/__init__.py - echo "from PySirius.pysirius_api import PySiriusAPI" >> client-api_python/generated/PySirius/__init__.py - echo "from PySirius.pysirius_sdk import SiriusSDK" >> client-api_python/generated/PySirius/__init__.py - echo "from PySirius.pysirius_helper import Helper" >> client-api_python/generated/PySirius/__init__.py + chmod +x ./client-api_python/formatting/format_init.sh + ./client-api_python/formatting/format_init.sh - name: Format R package run: | cp client-api_r/rsirius_sdk.R client-api_r/generated/R/rsirius_sdk.R @@ -115,7 +109,7 @@ jobs: echo "Done" - name: Remove Openapi Generator Files run: | - rm .updater/openapi_generator/openapi-generator-cli.jar + rm .updater/openapi_generator/*.jar ls ./.github/workflows echo "Done" - name: update file and push to remote diff --git a/client-api_python/formatting/format_init.sh b/client-api_python/formatting/format_init.sh new file mode 100644 index 00000000..19e8dcde --- /dev/null +++ b/client-api_python/formatting/format_init.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +file="./client-api_python/generated/PySirius/__init__.py" + +# Use sed to insert the new items before the closing bracket +sed -i '/^]$/i\ "PySiriusAPI",\n "SiriusSDK",\n "Helper",' "$file" + +echo "# import manually generated API and SDK files" >> $file +echo "from PySirius.pysirius_api import PySiriusAPI as PySiriusAPI" >> $file +echo "from PySirius.pysirius_sdk import SiriusSDK as SiriusSDK" >> $file +echo "from PySirius.pysirius_helper import Helper as Helper" >> $file \ No newline at end of file diff --git a/client-api_python/generated/.github/workflows/python.yml b/client-api_python/generated/.github/workflows/python.yml index 27205343..d30506aa 100644 --- a/client-api_python/generated/.github/workflows/python.yml +++ b/client-api_python/generated/.github/workflows/python.yml @@ -7,13 +7,16 @@ name: PySirius Python package on: [push, pull_request] +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 @@ -28,4 +31,4 @@ jobs: pip install -r test-requirements.txt - name: Test with pytest run: | - pytest --cov={{packageName}} + pytest --cov=PySirius diff --git a/client-api_python/generated/.openapi-generator/VERSION b/client-api_python/generated/.openapi-generator/VERSION index 758bb9c8..971ecb25 100644 --- a/client-api_python/generated/.openapi-generator/VERSION +++ b/client-api_python/generated/.openapi-generator/VERSION @@ -1 +1 @@ -7.10.0 +7.16.0 diff --git a/client-api_python/generated/PySirius/__init__.py b/client-api_python/generated/PySirius/__init__.py index 468ab854..d4afb829 100644 --- a/client-api_python/generated/PySirius/__init__.py +++ b/client-api_python/generated/PySirius/__init__.py @@ -14,173 +14,340 @@ __version__ = "6.3.3" +# Define package exports +__all__ = [ + "ActuatorApi", + "CompoundStatisticsApi", + "CompoundsApi", + "FeatureStatisticsApi", + "FeaturesApi", + "InfoApi", + "JobsApi", + "LoginAndAccountApi", + "ProjectsApi", + "RunsApi", + "SearchableDatabasesApi", + "TagsApi", + "ApiResponse", + "ApiClient", + "Configuration", + "OpenApiException", + "ApiTypeError", + "ApiValueError", + "ApiKeyError", + "ApiAttributeError", + "ApiException", + "AccountCredentials", + "AccountInfo", + "AdductEdgeExperimental", + "AdductNetworkExperimental", + "AdductNodeExperimental", + "AggregationType", + "AlignedFeature", + "AlignedFeatureOptField", + "AlignedFeatureQualityExperimental", + "AllowedFeatures", + "AnnotatedMsMsData", + "AnnotatedPeak", + "AnnotatedSpectrum", + "ApiVersion", + "Axes", + "BackgroundComputationsStateEvent", + "BasicSpectrum", + "BinaryFingerprint", + "BioTransformerParameters", + "BioTransformerSequenceStep", + "Canopus", + "CanopusPrediction", + "Category", + "Compound", + "CompoundClass", + "CompoundClassType", + "CompoundClasses", + "CompoundImport", + "CompoundOptField", + "ComputedSubtools", + "ConfidenceMode", + "ConnectionCheck", + "ConnectionError", + "ConnectionErrorClass", + "ConnectionErrorType", + "ConsensusAnnotationsCSI", + "ConsensusAnnotationsDeNovo", + "ConsensusCriterionCSI", + "ConsensusCriterionDeNovo", + "Cyp450Mode", + "DBLink", + "DataImportEvent", + "DataQuality", + "Deviation", + "FeatureAnnotations", + "FeatureImport", + "FingerprintPrediction", + "FoldChange", + "FormulaCandidate", + "FormulaCandidateOptField", + "FragmentNode", + "FragmentationTree", + "ImportResult", + "Info", + "InstrumentProfile", + "IsotopeMs2Strategy", + "IsotopePatternAnnotation", + "Job", + "JobEffect", + "JobOptField", + "JobProgress", + "JobState", + "JobSubmission", + "LcmsSubmissionParameters", + "LicenseInfo", + "LipidAnnotation", + "LossEdge", + "MetabolicTransformation", + "MsData", + "MsNovelist", + "P2Mode", + "PageMetadata", + "PagedModelAlignedFeature", + "PagedModelCompound", + "PagedModelFormulaCandidate", + "PagedModelJob", + "PagedModelRun", + "PagedModelSpectralLibraryMatch", + "PagedModelStructureCandidateFormula", + "PagedModelStructureCandidateScored", + "ParentPeak", + "PeakAnnotation", + "PeakPair", + "ProjectChangeEvent", + "ProjectEventType", + "ProjectInfo", + "ProjectInfoOptField", + "ProjectType", + "QualityItem", + "QualityWeight", + "QuantMeasure", + "QuantRowType", + "QuantTableExperimental", + "Run", + "RunOptField", + "SampleTypeFoldChangeRequest", + "SearchableDatabase", + "SearchableDatabaseParameters", + "SecurityContext", + "SecurityContextPrincipal", + "SimplePeak", + "Sirius", + "Solver", + "SpectralLibraryMatch", + "SpectralLibraryMatchOptField", + "SpectralLibraryMatchSummary", + "SpectralLibrarySearch", + "SpectralMatchType", + "SpectralMatchingType", + "SpectrumAnnotation", + "SpectrumType", + "StatisticsTable", + "StatisticsType", + "StoredJobSubmission", + "StructureCandidate", + "StructureCandidateFormula", + "StructureCandidateOptField", + "StructureCandidateScored", + "StructureDbSearch", + "Subscription", + "SubscriptionConsumables", + "Tag", + "TagDefinition", + "TagDefinitionImport", + "TagGroup", + "Term", + "Timeout", + "TraceAnnotationExperimental", + "TraceAnnotationTypeExperimental", + "TraceExperimental", + "TraceSetExperimental", + "UseHeuristic", + "ValueType", + "WebServerNamespace", + "Zodiac", + "ZodiacAnalogueNodes", + "ZodiacEdgeFilterThresholds", + "ZodiacEpochs", + "ZodiacLibraryScoring", + "PySiriusAPI", + "SiriusSDK", + "Helper", +] + # import apis into sdk package -from PySirius.api.actuator_api import ActuatorApi -from PySirius.api.compound_statistics_api import CompoundStatisticsApi -from PySirius.api.compounds_api import CompoundsApi -from PySirius.api.feature_statistics_api import FeatureStatisticsApi -from PySirius.api.features_api import FeaturesApi -from PySirius.api.info_api import InfoApi -from PySirius.api.jobs_api import JobsApi -from PySirius.api.login_and_account_api import LoginAndAccountApi -from PySirius.api.projects_api import ProjectsApi -from PySirius.api.runs_api import RunsApi -from PySirius.api.searchable_databases_api import SearchableDatabasesApi -from PySirius.api.tags_api import TagsApi +from PySirius.api.actuator_api import ActuatorApi as ActuatorApi +from PySirius.api.compound_statistics_api import CompoundStatisticsApi as CompoundStatisticsApi +from PySirius.api.compounds_api import CompoundsApi as CompoundsApi +from PySirius.api.feature_statistics_api import FeatureStatisticsApi as FeatureStatisticsApi +from PySirius.api.features_api import FeaturesApi as FeaturesApi +from PySirius.api.info_api import InfoApi as InfoApi +from PySirius.api.jobs_api import JobsApi as JobsApi +from PySirius.api.login_and_account_api import LoginAndAccountApi as LoginAndAccountApi +from PySirius.api.projects_api import ProjectsApi as ProjectsApi +from PySirius.api.runs_api import RunsApi as RunsApi +from PySirius.api.searchable_databases_api import SearchableDatabasesApi as SearchableDatabasesApi +from PySirius.api.tags_api import TagsApi as TagsApi # import ApiClient -from PySirius.api_response import ApiResponse -from PySirius.api_client import ApiClient -from PySirius.configuration import Configuration -from PySirius.exceptions import OpenApiException -from PySirius.exceptions import ApiTypeError -from PySirius.exceptions import ApiValueError -from PySirius.exceptions import ApiKeyError -from PySirius.exceptions import ApiAttributeError -from PySirius.exceptions import ApiException +from PySirius.api_response import ApiResponse as ApiResponse +from PySirius.api_client import ApiClient as ApiClient +from PySirius.configuration import Configuration as Configuration +from PySirius.exceptions import OpenApiException as OpenApiException +from PySirius.exceptions import ApiTypeError as ApiTypeError +from PySirius.exceptions import ApiValueError as ApiValueError +from PySirius.exceptions import ApiKeyError as ApiKeyError +from PySirius.exceptions import ApiAttributeError as ApiAttributeError +from PySirius.exceptions import ApiException as ApiException # import models into sdk package -from PySirius.models.account_credentials import AccountCredentials -from PySirius.models.account_info import AccountInfo -from PySirius.models.adduct_edge_experimental import AdductEdgeExperimental -from PySirius.models.adduct_network_experimental import AdductNetworkExperimental -from PySirius.models.adduct_node_experimental import AdductNodeExperimental -from PySirius.models.aggregation_type import AggregationType -from PySirius.models.aligned_feature import AlignedFeature -from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField -from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental -from PySirius.models.allowed_features import AllowedFeatures -from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData -from PySirius.models.annotated_peak import AnnotatedPeak -from PySirius.models.annotated_spectrum import AnnotatedSpectrum -from PySirius.models.api_version import ApiVersion -from PySirius.models.axes import Axes -from PySirius.models.background_computations_state_event import BackgroundComputationsStateEvent -from PySirius.models.basic_spectrum import BasicSpectrum -from PySirius.models.binary_fingerprint import BinaryFingerprint -from PySirius.models.bio_transformer_parameters import BioTransformerParameters -from PySirius.models.bio_transformer_sequence_step import BioTransformerSequenceStep -from PySirius.models.canopus import Canopus -from PySirius.models.canopus_prediction import CanopusPrediction -from PySirius.models.category import Category -from PySirius.models.compound import Compound -from PySirius.models.compound_class import CompoundClass -from PySirius.models.compound_class_type import CompoundClassType -from PySirius.models.compound_classes import CompoundClasses -from PySirius.models.compound_import import CompoundImport -from PySirius.models.compound_opt_field import CompoundOptField -from PySirius.models.computed_subtools import ComputedSubtools -from PySirius.models.confidence_mode import ConfidenceMode -from PySirius.models.connection_check import ConnectionCheck -from PySirius.models.connection_error import ConnectionError -from PySirius.models.connection_error_class import ConnectionErrorClass -from PySirius.models.connection_error_type import ConnectionErrorType -from PySirius.models.consensus_annotations_csi import ConsensusAnnotationsCSI -from PySirius.models.consensus_annotations_de_novo import ConsensusAnnotationsDeNovo -from PySirius.models.consensus_criterion_csi import ConsensusCriterionCSI -from PySirius.models.consensus_criterion_de_novo import ConsensusCriterionDeNovo -from PySirius.models.cyp450_mode import Cyp450Mode -from PySirius.models.db_link import DBLink -from PySirius.models.data_import_event import DataImportEvent -from PySirius.models.data_quality import DataQuality -from PySirius.models.deviation import Deviation -from PySirius.models.feature_annotations import FeatureAnnotations -from PySirius.models.feature_import import FeatureImport -from PySirius.models.fingerprint_prediction import FingerprintPrediction -from PySirius.models.fold_change import FoldChange -from PySirius.models.formula_candidate import FormulaCandidate -from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField -from PySirius.models.fragment_node import FragmentNode -from PySirius.models.fragmentation_tree import FragmentationTree -from PySirius.models.import_result import ImportResult -from PySirius.models.info import Info -from PySirius.models.instrument_profile import InstrumentProfile -from PySirius.models.isotope_ms2_strategy import IsotopeMs2Strategy -from PySirius.models.isotope_pattern_annotation import IsotopePatternAnnotation -from PySirius.models.job import Job -from PySirius.models.job_effect import JobEffect -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.job_progress import JobProgress -from PySirius.models.job_state import JobState -from PySirius.models.job_submission import JobSubmission -from PySirius.models.lcms_submission_parameters import LcmsSubmissionParameters -from PySirius.models.license_info import LicenseInfo -from PySirius.models.lipid_annotation import LipidAnnotation -from PySirius.models.loss_edge import LossEdge -from PySirius.models.metabolic_transformation import MetabolicTransformation -from PySirius.models.ms_data import MsData -from PySirius.models.ms_novelist import MsNovelist -from PySirius.models.p2_mode import P2Mode -from PySirius.models.page_metadata import PageMetadata -from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature -from PySirius.models.paged_model_compound import PagedModelCompound -from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate -from PySirius.models.paged_model_job import PagedModelJob -from PySirius.models.paged_model_run import PagedModelRun -from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch -from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula -from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored -from PySirius.models.parent_peak import ParentPeak -from PySirius.models.peak_annotation import PeakAnnotation -from PySirius.models.peak_pair import PeakPair -from PySirius.models.project_change_event import ProjectChangeEvent -from PySirius.models.project_event_type import ProjectEventType -from PySirius.models.project_info import ProjectInfo -from PySirius.models.project_info_opt_field import ProjectInfoOptField -from PySirius.models.project_type import ProjectType -from PySirius.models.quality_item import QualityItem -from PySirius.models.quality_weight import QualityWeight -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.quant_row_type import QuantRowType -from PySirius.models.quant_table_experimental import QuantTableExperimental -from PySirius.models.run import Run -from PySirius.models.run_opt_field import RunOptField -from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest -from PySirius.models.searchable_database import SearchableDatabase -from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters -from PySirius.models.security_context import SecurityContext -from PySirius.models.security_context_principal import SecurityContextPrincipal -from PySirius.models.simple_peak import SimplePeak -from PySirius.models.sirius import Sirius -from PySirius.models.solver import Solver -from PySirius.models.spectral_library_match import SpectralLibraryMatch -from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField -from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary -from PySirius.models.spectral_library_search import SpectralLibrarySearch -from PySirius.models.spectral_match_type import SpectralMatchType -from PySirius.models.spectral_matching_type import SpectralMatchingType -from PySirius.models.spectrum_annotation import SpectrumAnnotation -from PySirius.models.spectrum_type import SpectrumType -from PySirius.models.statistics_table import StatisticsTable -from PySirius.models.statistics_type import StatisticsType -from PySirius.models.stored_job_submission import StoredJobSubmission -from PySirius.models.structure_candidate import StructureCandidate -from PySirius.models.structure_candidate_formula import StructureCandidateFormula -from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField -from PySirius.models.structure_candidate_scored import StructureCandidateScored -from PySirius.models.structure_db_search import StructureDbSearch -from PySirius.models.subscription import Subscription -from PySirius.models.subscription_consumables import SubscriptionConsumables -from PySirius.models.tag import Tag -from PySirius.models.tag_definition import TagDefinition -from PySirius.models.tag_definition_import import TagDefinitionImport -from PySirius.models.tag_group import TagGroup -from PySirius.models.term import Term -from PySirius.models.timeout import Timeout -from PySirius.models.trace_annotation_experimental import TraceAnnotationExperimental -from PySirius.models.trace_annotation_type_experimental import TraceAnnotationTypeExperimental -from PySirius.models.trace_experimental import TraceExperimental -from PySirius.models.trace_set_experimental import TraceSetExperimental -from PySirius.models.use_heuristic import UseHeuristic -from PySirius.models.value_type import ValueType -from PySirius.models.web_server_namespace import WebServerNamespace -from PySirius.models.zodiac import Zodiac -from PySirius.models.zodiac_analogue_nodes import ZodiacAnalogueNodes -from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds -from PySirius.models.zodiac_epochs import ZodiacEpochs -from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring +from PySirius.models.account_credentials import AccountCredentials as AccountCredentials +from PySirius.models.account_info import AccountInfo as AccountInfo +from PySirius.models.adduct_edge_experimental import AdductEdgeExperimental as AdductEdgeExperimental +from PySirius.models.adduct_network_experimental import AdductNetworkExperimental as AdductNetworkExperimental +from PySirius.models.adduct_node_experimental import AdductNodeExperimental as AdductNodeExperimental +from PySirius.models.aggregation_type import AggregationType as AggregationType +from PySirius.models.aligned_feature import AlignedFeature as AlignedFeature +from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField as AlignedFeatureOptField +from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental as AlignedFeatureQualityExperimental +from PySirius.models.allowed_features import AllowedFeatures as AllowedFeatures +from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData as AnnotatedMsMsData +from PySirius.models.annotated_peak import AnnotatedPeak as AnnotatedPeak +from PySirius.models.annotated_spectrum import AnnotatedSpectrum as AnnotatedSpectrum +from PySirius.models.api_version import ApiVersion as ApiVersion +from PySirius.models.axes import Axes as Axes +from PySirius.models.background_computations_state_event import BackgroundComputationsStateEvent as BackgroundComputationsStateEvent +from PySirius.models.basic_spectrum import BasicSpectrum as BasicSpectrum +from PySirius.models.binary_fingerprint import BinaryFingerprint as BinaryFingerprint +from PySirius.models.bio_transformer_parameters import BioTransformerParameters as BioTransformerParameters +from PySirius.models.bio_transformer_sequence_step import BioTransformerSequenceStep as BioTransformerSequenceStep +from PySirius.models.canopus import Canopus as Canopus +from PySirius.models.canopus_prediction import CanopusPrediction as CanopusPrediction +from PySirius.models.category import Category as Category +from PySirius.models.compound import Compound as Compound +from PySirius.models.compound_class import CompoundClass as CompoundClass +from PySirius.models.compound_class_type import CompoundClassType as CompoundClassType +from PySirius.models.compound_classes import CompoundClasses as CompoundClasses +from PySirius.models.compound_import import CompoundImport as CompoundImport +from PySirius.models.compound_opt_field import CompoundOptField as CompoundOptField +from PySirius.models.computed_subtools import ComputedSubtools as ComputedSubtools +from PySirius.models.confidence_mode import ConfidenceMode as ConfidenceMode +from PySirius.models.connection_check import ConnectionCheck as ConnectionCheck +from PySirius.models.connection_error import ConnectionError as ConnectionError +from PySirius.models.connection_error_class import ConnectionErrorClass as ConnectionErrorClass +from PySirius.models.connection_error_type import ConnectionErrorType as ConnectionErrorType +from PySirius.models.consensus_annotations_csi import ConsensusAnnotationsCSI as ConsensusAnnotationsCSI +from PySirius.models.consensus_annotations_de_novo import ConsensusAnnotationsDeNovo as ConsensusAnnotationsDeNovo +from PySirius.models.consensus_criterion_csi import ConsensusCriterionCSI as ConsensusCriterionCSI +from PySirius.models.consensus_criterion_de_novo import ConsensusCriterionDeNovo as ConsensusCriterionDeNovo +from PySirius.models.cyp450_mode import Cyp450Mode as Cyp450Mode +from PySirius.models.db_link import DBLink as DBLink +from PySirius.models.data_import_event import DataImportEvent as DataImportEvent +from PySirius.models.data_quality import DataQuality as DataQuality +from PySirius.models.deviation import Deviation as Deviation +from PySirius.models.feature_annotations import FeatureAnnotations as FeatureAnnotations +from PySirius.models.feature_import import FeatureImport as FeatureImport +from PySirius.models.fingerprint_prediction import FingerprintPrediction as FingerprintPrediction +from PySirius.models.fold_change import FoldChange as FoldChange +from PySirius.models.formula_candidate import FormulaCandidate as FormulaCandidate +from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField as FormulaCandidateOptField +from PySirius.models.fragment_node import FragmentNode as FragmentNode +from PySirius.models.fragmentation_tree import FragmentationTree as FragmentationTree +from PySirius.models.import_result import ImportResult as ImportResult +from PySirius.models.info import Info as Info +from PySirius.models.instrument_profile import InstrumentProfile as InstrumentProfile +from PySirius.models.isotope_ms2_strategy import IsotopeMs2Strategy as IsotopeMs2Strategy +from PySirius.models.isotope_pattern_annotation import IsotopePatternAnnotation as IsotopePatternAnnotation +from PySirius.models.job import Job as Job +from PySirius.models.job_effect import JobEffect as JobEffect +from PySirius.models.job_opt_field import JobOptField as JobOptField +from PySirius.models.job_progress import JobProgress as JobProgress +from PySirius.models.job_state import JobState as JobState +from PySirius.models.job_submission import JobSubmission as JobSubmission +from PySirius.models.lcms_submission_parameters import LcmsSubmissionParameters as LcmsSubmissionParameters +from PySirius.models.license_info import LicenseInfo as LicenseInfo +from PySirius.models.lipid_annotation import LipidAnnotation as LipidAnnotation +from PySirius.models.loss_edge import LossEdge as LossEdge +from PySirius.models.metabolic_transformation import MetabolicTransformation as MetabolicTransformation +from PySirius.models.ms_data import MsData as MsData +from PySirius.models.ms_novelist import MsNovelist as MsNovelist +from PySirius.models.p2_mode import P2Mode as P2Mode +from PySirius.models.page_metadata import PageMetadata as PageMetadata +from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature as PagedModelAlignedFeature +from PySirius.models.paged_model_compound import PagedModelCompound as PagedModelCompound +from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate as PagedModelFormulaCandidate +from PySirius.models.paged_model_job import PagedModelJob as PagedModelJob +from PySirius.models.paged_model_run import PagedModelRun as PagedModelRun +from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch as PagedModelSpectralLibraryMatch +from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula as PagedModelStructureCandidateFormula +from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored as PagedModelStructureCandidateScored +from PySirius.models.parent_peak import ParentPeak as ParentPeak +from PySirius.models.peak_annotation import PeakAnnotation as PeakAnnotation +from PySirius.models.peak_pair import PeakPair as PeakPair +from PySirius.models.project_change_event import ProjectChangeEvent as ProjectChangeEvent +from PySirius.models.project_event_type import ProjectEventType as ProjectEventType +from PySirius.models.project_info import ProjectInfo as ProjectInfo +from PySirius.models.project_info_opt_field import ProjectInfoOptField as ProjectInfoOptField +from PySirius.models.project_type import ProjectType as ProjectType +from PySirius.models.quality_item import QualityItem as QualityItem +from PySirius.models.quality_weight import QualityWeight as QualityWeight +from PySirius.models.quant_measure import QuantMeasure as QuantMeasure +from PySirius.models.quant_row_type import QuantRowType as QuantRowType +from PySirius.models.quant_table_experimental import QuantTableExperimental as QuantTableExperimental +from PySirius.models.run import Run as Run +from PySirius.models.run_opt_field import RunOptField as RunOptField +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest as SampleTypeFoldChangeRequest +from PySirius.models.searchable_database import SearchableDatabase as SearchableDatabase +from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters as SearchableDatabaseParameters +from PySirius.models.security_context import SecurityContext as SecurityContext +from PySirius.models.security_context_principal import SecurityContextPrincipal as SecurityContextPrincipal +from PySirius.models.simple_peak import SimplePeak as SimplePeak +from PySirius.models.sirius import Sirius as Sirius +from PySirius.models.solver import Solver as Solver +from PySirius.models.spectral_library_match import SpectralLibraryMatch as SpectralLibraryMatch +from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField as SpectralLibraryMatchOptField +from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary as SpectralLibraryMatchSummary +from PySirius.models.spectral_library_search import SpectralLibrarySearch as SpectralLibrarySearch +from PySirius.models.spectral_match_type import SpectralMatchType as SpectralMatchType +from PySirius.models.spectral_matching_type import SpectralMatchingType as SpectralMatchingType +from PySirius.models.spectrum_annotation import SpectrumAnnotation as SpectrumAnnotation +from PySirius.models.spectrum_type import SpectrumType as SpectrumType +from PySirius.models.statistics_table import StatisticsTable as StatisticsTable +from PySirius.models.statistics_type import StatisticsType as StatisticsType +from PySirius.models.stored_job_submission import StoredJobSubmission as StoredJobSubmission +from PySirius.models.structure_candidate import StructureCandidate as StructureCandidate +from PySirius.models.structure_candidate_formula import StructureCandidateFormula as StructureCandidateFormula +from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField as StructureCandidateOptField +from PySirius.models.structure_candidate_scored import StructureCandidateScored as StructureCandidateScored +from PySirius.models.structure_db_search import StructureDbSearch as StructureDbSearch +from PySirius.models.subscription import Subscription as Subscription +from PySirius.models.subscription_consumables import SubscriptionConsumables as SubscriptionConsumables +from PySirius.models.tag import Tag as Tag +from PySirius.models.tag_definition import TagDefinition as TagDefinition +from PySirius.models.tag_definition_import import TagDefinitionImport as TagDefinitionImport +from PySirius.models.tag_group import TagGroup as TagGroup +from PySirius.models.term import Term as Term +from PySirius.models.timeout import Timeout as Timeout +from PySirius.models.trace_annotation_experimental import TraceAnnotationExperimental as TraceAnnotationExperimental +from PySirius.models.trace_annotation_type_experimental import TraceAnnotationTypeExperimental as TraceAnnotationTypeExperimental +from PySirius.models.trace_experimental import TraceExperimental as TraceExperimental +from PySirius.models.trace_set_experimental import TraceSetExperimental as TraceSetExperimental +from PySirius.models.use_heuristic import UseHeuristic as UseHeuristic +from PySirius.models.value_type import ValueType as ValueType +from PySirius.models.web_server_namespace import WebServerNamespace as WebServerNamespace +from PySirius.models.zodiac import Zodiac as Zodiac +from PySirius.models.zodiac_analogue_nodes import ZodiacAnalogueNodes as ZodiacAnalogueNodes +from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds as ZodiacEdgeFilterThresholds +from PySirius.models.zodiac_epochs import ZodiacEpochs as ZodiacEpochs +from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring as ZodiacLibraryScoring # import manually generated API and SDK files -from PySirius.pysirius_api import PySiriusAPI -from PySirius.pysirius_sdk import SiriusSDK -from PySirius.pysirius_helper import Helper \ No newline at end of file +from PySirius.pysirius_api import PySiriusAPI as PySiriusAPI +from PySirius.pysirius_sdk import SiriusSDK as SiriusSDK +from PySirius.pysirius_helper import Helper as Helper diff --git a/client-api_python/generated/PySirius/api/actuator_api.py b/client-api_python/generated/PySirius/api/actuator_api.py index da6147ad..263e6997 100644 --- a/client-api_python/generated/PySirius/api/actuator_api.py +++ b/client-api_python/generated/PySirius/api/actuator_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,33 +8,33 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from typing import Any, Dict - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class ActuatorApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from typing import Any, Dict + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class ActuatorApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def health( self, _request_timeout: Union[ @@ -49,7 +49,7 @@ def health( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> object: + ) -> object: """Actuator web endpoint 'health' @@ -84,19 +84,19 @@ def health( _response_types_map: Dict[str, Optional[str]] = { '200': "object", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def health_with_http_info( self, _request_timeout: Union[ @@ -111,7 +111,7 @@ def health_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[object]: + ) -> ApiResponse[object]: """Actuator web endpoint 'health' @@ -146,19 +146,19 @@ def health_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "object", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def health_without_preload_content( self, _request_timeout: Union[ @@ -173,7 +173,7 @@ def health_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Actuator web endpoint 'health' @@ -208,74 +208,77 @@ def health_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "object", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _health_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/vnd.spring-boot.actuator.v3+json', - 'application/vnd.spring-boot.actuator.v2+json', - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/actuator/health', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _health_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/vnd.spring-boot.actuator.v3+json', + 'application/vnd.spring-boot.actuator.v2+json', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/actuator/health', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def shutdown( self, _request_timeout: Union[ @@ -290,7 +293,7 @@ def shutdown( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Actuator web endpoint 'shutdown' @@ -326,19 +329,19 @@ def shutdown( _response_types_map: Dict[str, Optional[str]] = { '204': None, '400': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def shutdown_with_http_info( self, _request_timeout: Union[ @@ -353,7 +356,7 @@ def shutdown_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Actuator web endpoint 'shutdown' @@ -389,19 +392,19 @@ def shutdown_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '204': None, '400': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def shutdown_without_preload_content( self, _request_timeout: Union[ @@ -416,7 +419,7 @@ def shutdown_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Actuator web endpoint 'shutdown' @@ -452,60 +455,62 @@ def shutdown_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '204': None, '400': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _shutdown_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/actuator/shutdown', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _shutdown_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/actuator/shutdown', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/compound_statistics_api.py b/client-api_python/generated/PySirius/api/compound_statistics_api.py index 8d9586c5..9de9e08b 100644 --- a/client-api_python/generated/PySirius/api/compound_statistics_api.py +++ b/client-api_python/generated/PySirius/api/compound_statistics_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,41 +8,41 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aggregation_type import AggregationType -from PySirius.models.fold_change import FoldChange -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.statistics_table import StatisticsTable - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class CompoundStatisticsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.fold_change import FoldChange +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class CompoundStatisticsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def compute_compound_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -63,7 +63,7 @@ def compute_compound_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -117,19 +117,19 @@ def compute_compound_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def compute_compound_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -150,7 +150,7 @@ def compute_compound_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -204,19 +204,19 @@ def compute_compound_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def compute_compound_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -237,7 +237,7 @@ def compute_compound_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -291,101 +291,104 @@ def compute_compound_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _compute_compound_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchange/compute', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_compound_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchange/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_compound_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -405,7 +408,7 @@ def delete_compound_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -456,19 +459,19 @@ def delete_compound_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_compound_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -488,7 +491,7 @@ def delete_compound_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -539,19 +542,19 @@ def delete_compound_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_compound_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -571,7 +574,7 @@ def delete_compound_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -622,89 +625,91 @@ def delete_compound_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_compound_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_compound_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_fold_change_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -722,7 +727,7 @@ def get_compound_fold_change_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StatisticsTable: + ) -> StatisticsTable: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -767,19 +772,19 @@ def get_compound_fold_change_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_fold_change_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -797,7 +802,7 @@ def get_compound_fold_change_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StatisticsTable]: + ) -> ApiResponse[StatisticsTable]: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -842,19 +847,19 @@ def get_compound_fold_change_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_fold_change_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -872,7 +877,7 @@ def get_compound_fold_change_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -917,85 +922,88 @@ def get_compound_fold_change_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_fold_change_table_experimental_serialize( - self, - project_id, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_fold_change_table_experimental_serialize( + self, + project_id, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/stats-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_fold_changes_by_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1012,7 +1020,7 @@ def get_fold_changes_by_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FoldChange]: + ) -> List[FoldChange]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1054,19 +1062,19 @@ def get_fold_changes_by_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_fold_changes_by_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1083,7 +1091,7 @@ def get_fold_changes_by_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FoldChange]]: + ) -> ApiResponse[List[FoldChange]]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1125,19 +1133,19 @@ def get_fold_changes_by_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_fold_changes_by_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1154,7 +1162,7 @@ def get_fold_changes_by_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1196,72 +1204,75 @@ def get_fold_changes_by_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_fold_changes_by_compound_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fold_changes_by_compound_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/statistics/foldchanges/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/compounds_api.py b/client-api_python/generated/PySirius/api/compounds_api.py index 5da928f6..9c90a007 100644 --- a/client-api_python/generated/PySirius/api/compounds_api.py +++ b/client-api_python/generated/PySirius/api/compounds_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,45 +8,45 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField -from PySirius.models.compound import Compound -from PySirius.models.compound_import import CompoundImport -from PySirius.models.compound_opt_field import CompoundOptField -from PySirius.models.instrument_profile import InstrumentProfile -from PySirius.models.paged_model_compound import PagedModelCompound -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.quant_table_experimental import QuantTableExperimental -from PySirius.models.tag import Tag -from PySirius.models.trace_set_experimental import TraceSetExperimental - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class CompoundsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField +from PySirius.models.compound import Compound +from PySirius.models.compound_import import CompoundImport +from PySirius.models.compound_opt_field import CompoundOptField +from PySirius.models.instrument_profile import InstrumentProfile +from PySirius.models.paged_model_compound import PagedModelCompound +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.models.tag import Tag +from PySirius.models.trace_set_experimental import TraceSetExperimental + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class CompoundsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_compounds( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -66,7 +66,7 @@ def add_compounds( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Compound]: + ) -> List[Compound]: """Import Compounds and its contained features. Import Compounds and its contained features. Compounds and Features must not exist in the project. Otherwise, they will exist twice. @@ -117,19 +117,19 @@ def add_compounds( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_compounds_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -149,7 +149,7 @@ def add_compounds_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Compound]]: + ) -> ApiResponse[List[Compound]]: """Import Compounds and its contained features. Import Compounds and its contained features. Compounds and Features must not exist in the project. Otherwise, they will exist twice. @@ -200,19 +200,19 @@ def add_compounds_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_compounds_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -232,7 +232,7 @@ def add_compounds_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import Compounds and its contained features. Import Compounds and its contained features. Compounds and Features must not exist in the project. Otherwise, they will exist twice. @@ -283,109 +283,112 @@ def add_compounds_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_compounds_serialize( - self, - project_id, - compound_import, - profile, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'CompoundImport': '', - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if profile is not None: - - _query_params.append(('profile', profile.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - if compound_import is not None: - _body_params = compound_import - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/compounds', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_compounds_serialize( + self, + project_id, + compound_import, + profile, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'CompoundImport': '', + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if profile is not None: + + _query_params.append(('profile', profile.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + if compound_import is not None: + _body_params = compound_import + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/compounds', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_tags_to_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -403,7 +406,7 @@ def add_tags_to_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Tags with the same name will be overwritten [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -448,19 +451,19 @@ def add_tags_to_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_tags_to_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -478,7 +481,7 @@ def add_tags_to_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Tags with the same name will be overwritten [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -523,19 +526,19 @@ def add_tags_to_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_tags_to_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -553,7 +556,7 @@ def add_tags_to_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Tags with the same name will be overwritten [EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -598,95 +601,98 @@ def add_tags_to_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_tags_to_compound_experimental_serialize( - self, - project_id, - compound_id, - tag, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'Tag': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag is not None: - _body_params = tag - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tags_to_compound_experimental_serialize( + self, + project_id, + compound_id, + tag, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'Tag': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag is not None: + _body_params = tag + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_compound( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -703,7 +709,7 @@ def delete_compound( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. @@ -745,19 +751,19 @@ def delete_compound( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_compound_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -774,7 +780,7 @@ def delete_compound_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. @@ -816,19 +822,19 @@ def delete_compound_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_compound_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -845,7 +851,7 @@ def delete_compound_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. @@ -887,72 +893,74 @@ def delete_compound_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_compound_serialize( - self, - project_id, - compound_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/compounds/{compoundId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_compound_serialize( + self, + project_id, + compound_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/{compoundId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -972,7 +980,7 @@ def get_compound( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Compound: + ) -> Compound: """Get compound (group of ion identities) with the given identifier from the specified project-space. Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -1023,19 +1031,19 @@ def get_compound( _response_types_map: Dict[str, Optional[str]] = { '200': "Compound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1055,7 +1063,7 @@ def get_compound_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Compound]: + ) -> ApiResponse[Compound]: """Get compound (group of ion identities) with the given identifier from the specified project-space. Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -1106,19 +1114,19 @@ def get_compound_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Compound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1138,7 +1146,7 @@ def get_compound_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get compound (group of ion identities) with the given identifier from the specified project-space. Get compound (group of ion identities) with the given identifier from the specified project-space. @@ -1189,95 +1197,98 @@ def get_compound_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Compound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_serialize( - self, - project_id, - compound_id, - ms_data_search_prepared, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/{compoundId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_serialize( + self, + project_id, + compound_id, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/{compoundId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_quant_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1294,7 +1305,7 @@ def get_compound_quant_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns the full quantification table of compounds [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1336,19 +1347,19 @@ def get_compound_quant_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_quant_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1365,7 +1376,7 @@ def get_compound_quant_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns the full quantification table of compounds [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1407,19 +1418,19 @@ def get_compound_quant_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_quant_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1436,7 +1447,7 @@ def get_compound_quant_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the full quantification table of compounds [EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1478,80 +1489,83 @@ def get_compound_quant_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_quant_table_experimental_serialize( - self, - project_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/quant-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_quant_table_experimental_serialize( + self, + project_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/quant-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_quant_table_row_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1569,7 +1583,7 @@ def get_compound_quant_table_row_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns a single quantification table row for the given compound [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1614,19 +1628,19 @@ def get_compound_quant_table_row_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_quant_table_row_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1644,7 +1658,7 @@ def get_compound_quant_table_row_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns a single quantification table row for the given compound [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1689,19 +1703,19 @@ def get_compound_quant_table_row_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_quant_table_row_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1719,7 +1733,7 @@ def get_compound_quant_table_row_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns a single quantification table row for the given compound [EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1764,83 +1778,86 @@ def get_compound_quant_table_row_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_quant_table_row_experimental_serialize( - self, - project_id, - compound_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/{compoundId}/quant-table-row', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_quant_table_row_experimental_serialize( + self, + project_id, + compound_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/{compoundId}/quant-table-row', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compound_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1858,7 +1875,7 @@ def get_compound_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: + ) -> TraceSetExperimental: """[EXPERIMENTAL] Returns the traces of the given compound [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1903,19 +1920,19 @@ def get_compound_traces_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compound_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1933,7 +1950,7 @@ def get_compound_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: + ) -> ApiResponse[TraceSetExperimental]: """[EXPERIMENTAL] Returns the traces of the given compound [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -1978,19 +1995,19 @@ def get_compound_traces_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compound_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2008,7 +2025,7 @@ def get_compound_traces_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the traces of the given compound [EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* @@ -2053,83 +2070,86 @@ def get_compound_traces_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compound_traces_experimental_serialize( - self, - project_id, - compound_id, - feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - # process the query parameters - if feature_id is not None: - - _query_params.append(('featureId', feature_id)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/{compoundId}/traces', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compound_traces_experimental_serialize( + self, + project_id, + compound_id, + feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + # process the query parameters + if feature_id is not None: + + _query_params.append(('featureId', feature_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/{compoundId}/traces', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2148,7 +2168,7 @@ def get_compounds( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Compound]: + ) -> List[Compound]: """List of all available compounds (group of ion identities) in the given project-space. List of all available compounds (group of ion identities) in the given project-space. @@ -2196,19 +2216,19 @@ def get_compounds( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2227,7 +2247,7 @@ def get_compounds_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Compound]]: + ) -> ApiResponse[List[Compound]]: """List of all available compounds (group of ion identities) in the given project-space. List of all available compounds (group of ion identities) in the given project-space. @@ -2275,19 +2295,19 @@ def get_compounds_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2306,7 +2326,7 @@ def get_compounds_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of all available compounds (group of ion identities) in the given project-space. List of all available compounds (group of ion identities) in the given project-space. @@ -2354,92 +2374,95 @@ def get_compounds_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Compound]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_serialize( - self, - project_id, - ms_data_search_prepared, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_serialize( + self, + project_id, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds_by_group_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2460,7 +2483,7 @@ def get_compounds_by_group_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelCompound: + ) -> PagedModelCompound: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2514,19 +2537,19 @@ def get_compounds_by_group_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_by_group_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2547,7 +2570,7 @@ def get_compounds_by_group_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelCompound]: + ) -> ApiResponse[PagedModelCompound]: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2601,19 +2624,19 @@ def get_compounds_by_group_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_by_group_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2634,7 +2657,7 @@ def get_compounds_by_group_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag group [EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2688,102 +2711,105 @@ def get_compounds_by_group_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_by_group_experimental_serialize( - self, - project_id, - group_name, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_name is not None: - - _query_params.append(('groupName', group_name)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/grouped', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds_by_tag_experimental( self, project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], @@ -2804,7 +2830,7 @@ def get_compounds_by_tag_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelCompound: + ) -> PagedModelCompound: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2858,19 +2884,19 @@ def get_compounds_by_tag_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_by_tag_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], @@ -2891,7 +2917,7 @@ def get_compounds_by_tag_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelCompound]: + ) -> ApiResponse[PagedModelCompound]: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2945,19 +2971,19 @@ def get_compounds_by_tag_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_by_tag_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project space to get compounds (group of ion identities) from.")], @@ -2978,7 +3004,7 @@ def get_compounds_by_tag_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get compounds (group of ion identities) by tag [EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3032,102 +3058,105 @@ def get_compounds_by_tag_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_by_tag_experimental_serialize( - self, - project_id, - filter, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/tagged', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_compounds_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3149,7 +3178,7 @@ def get_compounds_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelCompound: + ) -> PagedModelCompound: """Page of available compounds (group of ion identities) in the given project-space. Page of available compounds (group of ion identities) in the given project-space. @@ -3206,19 +3235,19 @@ def get_compounds_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_compounds_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3240,7 +3269,7 @@ def get_compounds_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelCompound]: + ) -> ApiResponse[PagedModelCompound]: """Page of available compounds (group of ion identities) in the given project-space. Page of available compounds (group of ion identities) in the given project-space. @@ -3297,19 +3326,19 @@ def get_compounds_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_compounds_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3331,7 +3360,7 @@ def get_compounds_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of available compounds (group of ion identities) in the given project-space. Page of available compounds (group of ion identities) in the given project-space. @@ -3388,108 +3417,111 @@ def get_compounds_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelCompound", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_compounds_paged_serialize( - self, - project_id, - page, - size, - sort, - ms_data_search_prepared, - opt_fields, - opt_fields_features, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - 'optFieldsFeatures': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - if opt_fields_features is not None: - - _query_params.append(('optFieldsFeatures', opt_fields_features)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_compounds_paged_serialize( + self, + project_id, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, + opt_fields_features, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + 'optFieldsFeatures': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + if opt_fields_features is not None: + + _query_params.append(('optFieldsFeatures', opt_fields_features)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags_for_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -3506,7 +3538,7 @@ def get_tags_for_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Get all tags associated with this Compound [EXPERIMENTAL] Get all tags associated with this Compound @@ -3548,19 +3580,19 @@ def get_tags_for_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_for_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -3577,7 +3609,7 @@ def get_tags_for_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Get all tags associated with this Compound [EXPERIMENTAL] Get all tags associated with this Compound @@ -3619,19 +3651,19 @@ def get_tags_for_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_for_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -3648,7 +3680,7 @@ def get_tags_for_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tags associated with this Compound [EXPERIMENTAL] Get all tags associated with this Compound @@ -3690,78 +3722,81 @@ def get_tags_for_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_for_compound_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/compounds/tags/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_compound_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/compounds/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_tag_from_compound_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -3779,7 +3814,7 @@ def remove_tag_from_compound_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3824,19 +3859,19 @@ def remove_tag_from_compound_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_tag_from_compound_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -3854,7 +3889,7 @@ def remove_tag_from_compound_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3899,19 +3934,19 @@ def remove_tag_from_compound_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_tag_from_compound_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -3929,7 +3964,7 @@ def remove_tag_from_compound_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3974,69 +4009,71 @@ def remove_tag_from_compound_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_tag_from_compound_experimental_serialize( - self, - project_id, - compound_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if compound_id is not None: - _path_params['compoundId'] = compound_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_compound_experimental_serialize( + self, + project_id, + compound_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if compound_id is not None: + _path_params['compoundId'] = compound_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/compounds/tags/{compoundId}/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/feature_statistics_api.py b/client-api_python/generated/PySirius/api/feature_statistics_api.py index c31aaead..36dc5cac 100644 --- a/client-api_python/generated/PySirius/api/feature_statistics_api.py +++ b/client-api_python/generated/PySirius/api/feature_statistics_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,41 +8,41 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aggregation_type import AggregationType -from PySirius.models.fold_change import FoldChange -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.statistics_table import StatisticsTable - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class FeatureStatisticsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aggregation_type import AggregationType +from PySirius.models.fold_change import FoldChange +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.statistics_table import StatisticsTable + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class FeatureStatisticsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def compute_aligned_feature_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -63,7 +63,7 @@ def compute_aligned_feature_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -117,19 +117,19 @@ def compute_aligned_feature_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def compute_aligned_feature_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -150,7 +150,7 @@ def compute_aligned_feature_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -204,19 +204,19 @@ def compute_aligned_feature_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def compute_aligned_feature_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -237,7 +237,7 @@ def compute_aligned_feature_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Compute the fold change between two groups of runs [EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -291,101 +291,104 @@ def compute_aligned_feature_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _compute_aligned_feature_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchange/compute', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_aligned_feature_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchange/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_aligned_feature_fold_changes_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -405,7 +408,7 @@ def delete_aligned_feature_fold_changes_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -456,19 +459,19 @@ def delete_aligned_feature_fold_changes_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_aligned_feature_fold_changes_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -488,7 +491,7 @@ def delete_aligned_feature_fold_changes_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -539,19 +542,19 @@ def delete_aligned_feature_fold_changes_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_aligned_feature_fold_changes_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -571,7 +574,7 @@ def delete_aligned_feature_fold_changes_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete fold changes [EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -622,89 +625,91 @@ def delete_aligned_feature_fold_changes_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_aligned_feature_fold_changes_experimental_serialize( - self, - project_id, - left_group_name, - right_group_name, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if left_group_name is not None: - - _query_params.append(('leftGroupName', left_group_name)) - - if right_group_name is not None: - - _query_params.append(('rightGroupName', right_group_name)) - - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_aligned_feature_fold_changes_experimental_serialize( + self, + project_id, + left_group_name, + right_group_name, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if left_group_name is not None: + + _query_params.append(('leftGroupName', left_group_name)) + + if right_group_name is not None: + + _query_params.append(('rightGroupName', right_group_name)) + + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_feature_fold_change_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -722,7 +727,7 @@ def get_aligned_feature_fold_change_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StatisticsTable: + ) -> StatisticsTable: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -767,19 +772,19 @@ def get_aligned_feature_fold_change_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_feature_fold_change_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -797,7 +802,7 @@ def get_aligned_feature_fold_change_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StatisticsTable]: + ) -> ApiResponse[StatisticsTable]: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -842,19 +847,19 @@ def get_aligned_feature_fold_change_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_feature_fold_change_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -872,7 +877,7 @@ def get_aligned_feature_fold_change_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get table of all fold changes in the project space [EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -917,85 +922,88 @@ def get_aligned_feature_fold_change_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StatisticsTable", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_feature_fold_change_table_experimental_serialize( - self, - project_id, - aggregation, - quantification, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if aggregation is not None: - - _query_params.append(('aggregation', aggregation.value)) - - if quantification is not None: - - _query_params.append(('quantification', quantification.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_feature_fold_change_table_experimental_serialize( + self, + project_id, + aggregation, + quantification, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if aggregation is not None: + + _query_params.append(('aggregation', aggregation.value)) + + if quantification is not None: + + _query_params.append(('quantification', quantification.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/stats-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_fold_changes_by_aligned_feature_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1012,7 +1020,7 @@ def get_fold_changes_by_aligned_feature_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FoldChange]: + ) -> List[FoldChange]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1054,19 +1062,19 @@ def get_fold_changes_by_aligned_feature_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_fold_changes_by_aligned_feature_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1083,7 +1091,7 @@ def get_fold_changes_by_aligned_feature_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FoldChange]]: + ) -> ApiResponse[List[FoldChange]]: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1125,19 +1133,19 @@ def get_fold_changes_by_aligned_feature_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_fold_changes_by_aligned_feature_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1154,7 +1162,7 @@ def get_fold_changes_by_aligned_feature_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] List all fold changes that are associated with an object [EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1196,72 +1204,75 @@ def get_fold_changes_by_aligned_feature_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FoldChange]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_fold_changes_by_aligned_feature_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fold_changes_by_aligned_feature_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/statistics/foldchanges/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/features_api.py b/client-api_python/generated/PySirius/api/features_api.py index eca235c8..a81aefc8 100644 --- a/client-api_python/generated/PySirius/api/features_api.py +++ b/client-api_python/generated/PySirius/api/features_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,65 +8,65 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictInt, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.aligned_feature import AlignedFeature -from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField -from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental -from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData -from PySirius.models.annotated_spectrum import AnnotatedSpectrum -from PySirius.models.canopus_prediction import CanopusPrediction -from PySirius.models.compound_classes import CompoundClasses -from PySirius.models.feature_import import FeatureImport -from PySirius.models.formula_candidate import FormulaCandidate -from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField -from PySirius.models.fragmentation_tree import FragmentationTree -from PySirius.models.instrument_profile import InstrumentProfile -from PySirius.models.isotope_pattern_annotation import IsotopePatternAnnotation -from PySirius.models.lipid_annotation import LipidAnnotation -from PySirius.models.ms_data import MsData -from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature -from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate -from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch -from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula -from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored -from PySirius.models.quant_measure import QuantMeasure -from PySirius.models.quant_table_experimental import QuantTableExperimental -from PySirius.models.spectral_library_match import SpectralLibraryMatch -from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField -from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary -from PySirius.models.structure_candidate_formula import StructureCandidateFormula -from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField -from PySirius.models.structure_candidate_scored import StructureCandidateScored -from PySirius.models.tag import Tag -from PySirius.models.trace_set_experimental import TraceSetExperimental - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class FeaturesApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.aligned_feature import AlignedFeature +from PySirius.models.aligned_feature_opt_field import AlignedFeatureOptField +from PySirius.models.aligned_feature_quality_experimental import AlignedFeatureQualityExperimental +from PySirius.models.annotated_ms_ms_data import AnnotatedMsMsData +from PySirius.models.annotated_spectrum import AnnotatedSpectrum +from PySirius.models.canopus_prediction import CanopusPrediction +from PySirius.models.compound_classes import CompoundClasses +from PySirius.models.feature_import import FeatureImport +from PySirius.models.formula_candidate import FormulaCandidate +from PySirius.models.formula_candidate_opt_field import FormulaCandidateOptField +from PySirius.models.fragmentation_tree import FragmentationTree +from PySirius.models.instrument_profile import InstrumentProfile +from PySirius.models.isotope_pattern_annotation import IsotopePatternAnnotation +from PySirius.models.lipid_annotation import LipidAnnotation +from PySirius.models.ms_data import MsData +from PySirius.models.paged_model_aligned_feature import PagedModelAlignedFeature +from PySirius.models.paged_model_formula_candidate import PagedModelFormulaCandidate +from PySirius.models.paged_model_spectral_library_match import PagedModelSpectralLibraryMatch +from PySirius.models.paged_model_structure_candidate_formula import PagedModelStructureCandidateFormula +from PySirius.models.paged_model_structure_candidate_scored import PagedModelStructureCandidateScored +from PySirius.models.quant_measure import QuantMeasure +from PySirius.models.quant_table_experimental import QuantTableExperimental +from PySirius.models.spectral_library_match import SpectralLibraryMatch +from PySirius.models.spectral_library_match_opt_field import SpectralLibraryMatchOptField +from PySirius.models.spectral_library_match_summary import SpectralLibraryMatchSummary +from PySirius.models.structure_candidate_formula import StructureCandidateFormula +from PySirius.models.structure_candidate_opt_field import StructureCandidateOptField +from PySirius.models.structure_candidate_scored import StructureCandidateScored +from PySirius.models.tag import Tag +from PySirius.models.trace_set_experimental import TraceSetExperimental + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class FeaturesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_aligned_features( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -85,7 +85,7 @@ def add_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AlignedFeature]: + ) -> List[AlignedFeature]: """Import (aligned) features into the project. Import (aligned) features into the project. Features must not exist in the project. Otherwise, they will exist twice. @@ -133,19 +133,19 @@ def add_aligned_features( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_aligned_features_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -164,7 +164,7 @@ def add_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AlignedFeature]]: + ) -> ApiResponse[List[AlignedFeature]]: """Import (aligned) features into the project. Import (aligned) features into the project. Features must not exist in the project. Otherwise, they will exist twice. @@ -212,19 +212,19 @@ def add_aligned_features_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_aligned_features_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -243,7 +243,7 @@ def add_aligned_features_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import (aligned) features into the project. Import (aligned) features into the project. Features must not exist in the project. Otherwise, they will exist twice. @@ -291,103 +291,106 @@ def add_aligned_features_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_aligned_features_serialize( - self, - project_id, - feature_import, - profile, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'FeatureImport': '', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if profile is not None: - - _query_params.append(('profile', profile.value)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if feature_import is not None: - _body_params = feature_import - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/aligned-features', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_aligned_features_serialize( + self, + project_id, + feature_import, + profile, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'FeatureImport': '', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if profile is not None: + + _query_params.append(('profile', profile.value)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if feature_import is not None: + _body_params = feature_import + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/aligned-features', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_de_novo_structure_candidate( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -405,7 +408,7 @@ def add_de_novo_structure_candidate( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: + ) -> List[StructureCandidateFormula]: """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. @@ -450,19 +453,19 @@ def add_de_novo_structure_candidate( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_de_novo_structure_candidate_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -480,7 +483,7 @@ def add_de_novo_structure_candidate_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: + ) -> ApiResponse[List[StructureCandidateFormula]]: """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. @@ -525,19 +528,19 @@ def add_de_novo_structure_candidate_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_de_novo_structure_candidate_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -555,7 +558,7 @@ def add_de_novo_structure_candidate_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. [EXPERIMENTAL] Add molecular structures (as SMILES) to the list of de novo structures. This starts a scoring job to incorporate the structures in the de novo results list. @@ -600,83 +603,86 @@ def add_de_novo_structure_candidate_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_de_novo_structure_candidate_serialize( - self, - project_id, - aligned_feature_id, - smiles, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if smiles is not None: - - _query_params.append(('smiles', smiles)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_de_novo_structure_candidate_serialize( + self, + project_id, + aligned_feature_id, + smiles, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if smiles is not None: + + _query_params.append(('smiles', smiles)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_tags_to_aligned_feature_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -694,7 +700,7 @@ def add_tags_to_aligned_feature_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -739,19 +745,19 @@ def add_tags_to_aligned_feature_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_tags_to_aligned_feature_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -769,7 +775,7 @@ def add_tags_to_aligned_feature_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -814,19 +820,19 @@ def add_tags_to_aligned_feature_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_tags_to_aligned_feature_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -844,7 +850,7 @@ def add_tags_to_aligned_feature_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -889,95 +895,98 @@ def add_tags_to_aligned_feature_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_tags_to_aligned_feature_experimental_serialize( - self, - project_id, - aligned_feature_id, - tag, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'Tag': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag is not None: - _body_params = tag - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tags_to_aligned_feature_experimental_serialize( + self, + project_id, + aligned_feature_id, + tag, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'Tag': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag is not None: + _body_params = tag + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_aligned_feature( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -994,7 +1003,7 @@ def delete_aligned_feature( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1036,19 +1045,19 @@ def delete_aligned_feature( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_aligned_feature_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1065,7 +1074,7 @@ def delete_aligned_feature_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1107,19 +1116,19 @@ def delete_aligned_feature_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_aligned_feature_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1136,7 +1145,7 @@ def delete_aligned_feature_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1178,72 +1187,74 @@ def delete_aligned_feature_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_aligned_feature_serialize( - self, - project_id, - aligned_feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_aligned_feature_serialize( + self, + project_id, + aligned_feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_aligned_features( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1260,7 +1271,7 @@ def delete_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1302,19 +1313,19 @@ def delete_aligned_features( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_aligned_features_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1331,7 +1342,7 @@ def delete_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1373,19 +1384,19 @@ def delete_aligned_features_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_aligned_features_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1402,7 +1413,7 @@ def delete_aligned_features_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete feature (aligned over runs) with the given identifier from the specified project-space. Delete feature (aligned over runs) with the given identifier from the specified project-space. @@ -1444,86 +1455,88 @@ def delete_aligned_features_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_aligned_features_serialize( - self, - project_id, - request_body, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/aligned-features/delete', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_aligned_features_serialize( + self, + project_id, + request_body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/aligned-features/delete', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_adduct_network_with_merged_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1540,7 +1553,7 @@ def get_adduct_network_with_merged_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: + ) -> TraceSetExperimental: """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1582,19 +1595,19 @@ def get_adduct_network_with_merged_traces_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_adduct_network_with_merged_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1611,7 +1624,7 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: + ) -> ApiResponse[TraceSetExperimental]: """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1653,19 +1666,19 @@ def get_adduct_network_with_merged_traces_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_adduct_network_with_merged_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1682,7 +1695,7 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1724,78 +1737,81 @@ def get_adduct_network_with_merged_traces_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_adduct_network_with_merged_traces_experimental_serialize( - self, - project_id, - aligned_feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_adduct_network_with_merged_traces_experimental_serialize( + self, + project_id, + aligned_feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/adducts', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_feature( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1814,7 +1830,7 @@ def get_aligned_feature( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AlignedFeature: + ) -> AlignedFeature: """Get feature (aligned over runs) with the given identifier from the specified project-space. Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -1862,19 +1878,19 @@ def get_aligned_feature( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_feature_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1893,7 +1909,7 @@ def get_aligned_feature_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AlignedFeature]: + ) -> ApiResponse[AlignedFeature]: """Get feature (aligned over runs) with the given identifier from the specified project-space. Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -1941,19 +1957,19 @@ def get_aligned_feature_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_feature_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1972,7 +1988,7 @@ def get_aligned_feature_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get feature (aligned over runs) with the given identifier from the specified project-space. Get feature (aligned over runs) with the given identifier from the specified project-space. @@ -2020,89 +2036,92 @@ def get_aligned_feature_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_feature_serialize( - self, - project_id, - aligned_feature_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_feature_serialize( + self, + project_id, + aligned_feature_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_feature_quality_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2119,7 +2138,7 @@ def get_aligned_feature_quality_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AlignedFeatureQualityExperimental: + ) -> AlignedFeatureQualityExperimental: """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2161,19 +2180,19 @@ def get_aligned_feature_quality_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeatureQualityExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_feature_quality_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2190,7 +2209,7 @@ def get_aligned_feature_quality_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AlignedFeatureQualityExperimental]: + ) -> ApiResponse[AlignedFeatureQualityExperimental]: """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2232,19 +2251,19 @@ def get_aligned_feature_quality_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeatureQualityExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_feature_quality_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2261,7 +2280,7 @@ def get_aligned_feature_quality_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2303,78 +2322,81 @@ def get_aligned_feature_quality_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AlignedFeatureQualityExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_feature_quality_experimental_serialize( - self, - project_id, - aligned_feature_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_feature_quality_experimental_serialize( + self, + project_id, + aligned_feature_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quality-report', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2392,7 +2414,7 @@ def get_aligned_features( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AlignedFeature]: + ) -> List[AlignedFeature]: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -2437,19 +2459,19 @@ def get_aligned_features( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2467,7 +2489,7 @@ def get_aligned_features_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AlignedFeature]]: + ) -> ApiResponse[List[AlignedFeature]]: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -2512,19 +2534,19 @@ def get_aligned_features_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2542,7 +2564,7 @@ def get_aligned_features_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -2587,86 +2609,89 @@ def get_aligned_features_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[AlignedFeature]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_serialize( - self, - project_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_serialize( + self, + project_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features_by_group_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2687,7 +2712,7 @@ def get_aligned_features_by_group_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelAlignedFeature: + ) -> PagedModelAlignedFeature: """[EXPERIMENTAL] Get features (aligned over runs) by tag group [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2741,19 +2766,19 @@ def get_aligned_features_by_group_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_by_group_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2774,7 +2799,7 @@ def get_aligned_features_by_group_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelAlignedFeature]: + ) -> ApiResponse[PagedModelAlignedFeature]: """[EXPERIMENTAL] Get features (aligned over runs) by tag group [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2828,19 +2853,19 @@ def get_aligned_features_by_group_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_by_group_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2861,7 +2886,7 @@ def get_aligned_features_by_group_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get features (aligned over runs) by tag group [EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2915,102 +2940,105 @@ def get_aligned_features_by_group_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_by_group_experimental_serialize( - self, - project_id, - group_name, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_name is not None: - - _query_params.append(('groupName', group_name)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/grouped', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features_by_tag_experimental( self, project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], @@ -3031,7 +3059,7 @@ def get_aligned_features_by_tag_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelAlignedFeature: + ) -> PagedModelAlignedFeature: """[EXPERIMENTAL] Get features (aligned over runs) by tag [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3085,19 +3113,19 @@ def get_aligned_features_by_tag_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_by_tag_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], @@ -3118,7 +3146,7 @@ def get_aligned_features_by_tag_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelAlignedFeature]: + ) -> ApiResponse[PagedModelAlignedFeature]: """[EXPERIMENTAL] Get features (aligned over runs) by tag [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3172,19 +3200,19 @@ def get_aligned_features_by_tag_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_by_tag_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project space to get features (aligned over runs) from.")], @@ -3205,7 +3233,7 @@ def get_aligned_features_by_tag_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get features (aligned over runs) by tag [EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -3259,102 +3287,105 @@ def get_aligned_features_by_tag_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_by_tag_experimental_serialize( - self, - project_id, - filter, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/tagged', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_aligned_features_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3375,7 +3406,7 @@ def get_aligned_features_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelAlignedFeature: + ) -> PagedModelAlignedFeature: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -3429,19 +3460,19 @@ def get_aligned_features_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_aligned_features_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3462,7 +3493,7 @@ def get_aligned_features_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelAlignedFeature]: + ) -> ApiResponse[PagedModelAlignedFeature]: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -3516,19 +3547,19 @@ def get_aligned_features_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_aligned_features_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3549,7 +3580,7 @@ def get_aligned_features_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get all available features (aligned over runs) in the given project-space. Get all available features (aligned over runs) in the given project-space. @@ -3603,102 +3634,105 @@ def get_aligned_features_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelAlignedFeature", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_aligned_features_paged_serialize( - self, - project_id, - page, - size, - sort, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_aligned_features_paged_serialize( + self, + project_id, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_best_matching_compound_classes( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3716,7 +3750,7 @@ def get_best_matching_compound_classes( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> CompoundClasses: + ) -> CompoundClasses: """Return Best matching compound classes for given formulaId Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, @@ -3761,19 +3795,19 @@ def get_best_matching_compound_classes( _response_types_map: Dict[str, Optional[str]] = { '200': "CompoundClasses", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_best_matching_compound_classes_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3791,7 +3825,7 @@ def get_best_matching_compound_classes_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[CompoundClasses]: + ) -> ApiResponse[CompoundClasses]: """Return Best matching compound classes for given formulaId Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, @@ -3836,19 +3870,19 @@ def get_best_matching_compound_classes_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "CompoundClasses", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_best_matching_compound_classes_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -3866,7 +3900,7 @@ def get_best_matching_compound_classes_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Return Best matching compound classes for given formulaId Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, @@ -3911,81 +3945,84 @@ def get_best_matching_compound_classes_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "CompoundClasses", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_best_matching_compound_classes_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_best_matching_compound_classes_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/best-compound-classes', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_canopus_prediction( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4003,7 +4040,7 @@ def get_canopus_prediction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> CanopusPrediction: + ) -> CanopusPrediction: """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, @@ -4048,19 +4085,19 @@ def get_canopus_prediction( _response_types_map: Dict[str, Optional[str]] = { '200': "CanopusPrediction", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_canopus_prediction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4078,7 +4115,7 @@ def get_canopus_prediction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[CanopusPrediction]: + ) -> ApiResponse[CanopusPrediction]: """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, @@ -4123,19 +4160,19 @@ def get_canopus_prediction_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "CanopusPrediction", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_canopus_prediction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4153,7 +4190,7 @@ def get_canopus_prediction_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, All predicted compound classes (CANOPUS) from ClassyFire and NPC and their probabilities, @@ -4198,81 +4235,84 @@ def get_canopus_prediction_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "CanopusPrediction", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_canopus_prediction_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_canopus_prediction_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/canopus-prediction', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_de_novo_structure_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4290,7 +4330,7 @@ def get_de_novo_structure_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: + ) -> List[StructureCandidateFormula]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4335,19 +4375,19 @@ def get_de_novo_structure_candidates( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4365,7 +4405,7 @@ def get_de_novo_structure_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: + ) -> ApiResponse[List[StructureCandidateFormula]]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4410,19 +4450,19 @@ def get_de_novo_structure_candidates_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4440,7 +4480,7 @@ def get_de_novo_structure_candidates_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4485,84 +4525,87 @@ def get_de_novo_structure_candidates_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_serialize( - self, - project_id, - aligned_feature_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_serialize( + self, + project_id, + aligned_feature_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_de_novo_structure_candidates_by_formula( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4581,7 +4624,7 @@ def get_de_novo_structure_candidates_by_formula( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateScored]: + ) -> List[StructureCandidateScored]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4629,19 +4672,19 @@ def get_de_novo_structure_candidates_by_formula( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_by_formula_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4660,7 +4703,7 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateScored]]: + ) -> ApiResponse[List[StructureCandidateScored]]: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4708,19 +4751,19 @@ def get_de_novo_structure_candidates_by_formula_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_by_formula_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4739,7 +4782,7 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4787,87 +4830,90 @@ def get_de_novo_structure_candidates_by_formula_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_by_formula_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_by_formula_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_de_novo_structure_candidates_by_formula_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4889,7 +4935,7 @@ def get_de_novo_structure_candidates_by_formula_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateScored: + ) -> PagedModelStructureCandidateScored: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -4946,19 +4992,19 @@ def get_de_novo_structure_candidates_by_formula_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_by_formula_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -4980,7 +5026,7 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateScored]: + ) -> ApiResponse[PagedModelStructureCandidateScored]: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5037,19 +5083,19 @@ def get_de_novo_structure_candidates_by_formula_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5071,7 +5117,7 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5128,103 +5174,106 @@ def get_de_novo_structure_candidates_by_formula_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_by_formula_paged_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_by_formula_paged_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/denovo-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_de_novo_structure_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5245,7 +5294,7 @@ def get_de_novo_structure_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateFormula: + ) -> PagedModelStructureCandidateFormula: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5299,19 +5348,19 @@ def get_de_novo_structure_candidates_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_de_novo_structure_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5332,7 +5381,7 @@ def get_de_novo_structure_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateFormula]: + ) -> ApiResponse[PagedModelStructureCandidateFormula]: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5386,19 +5435,19 @@ def get_de_novo_structure_candidates_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_de_novo_structure_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5419,7 +5468,7 @@ def get_de_novo_structure_candidates_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. @@ -5473,100 +5522,103 @@ def get_de_novo_structure_candidates_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_de_novo_structure_candidates_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_de_novo_structure_candidates_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/denovo-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_feature_quant_table_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5583,7 +5635,7 @@ def get_feature_quant_table_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -5625,19 +5677,19 @@ def get_feature_quant_table_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_feature_quant_table_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5654,7 +5706,7 @@ def get_feature_quant_table_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -5696,19 +5748,19 @@ def get_feature_quant_table_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_feature_quant_table_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5725,7 +5777,7 @@ def get_feature_quant_table_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -5767,80 +5819,83 @@ def get_feature_quant_table_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_feature_quant_table_experimental_serialize( - self, - project_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/quant-table', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_feature_quant_table_experimental_serialize( + self, + project_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/quant-table', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_fingerprint_prediction( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5858,7 +5913,7 @@ def get_fingerprint_prediction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[float]: + ) -> List[float]: """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. @@ -5903,19 +5958,19 @@ def get_fingerprint_prediction( _response_types_map: Dict[str, Optional[str]] = { '200': "List[float]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_fingerprint_prediction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -5933,7 +5988,7 @@ def get_fingerprint_prediction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[float]]: + ) -> ApiResponse[List[float]]: """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. @@ -5978,19 +6033,19 @@ def get_fingerprint_prediction_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[float]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_fingerprint_prediction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6008,7 +6063,7 @@ def get_fingerprint_prediction_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. @@ -6053,81 +6108,84 @@ def get_fingerprint_prediction_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[float]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_fingerprint_prediction_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_fingerprint_prediction_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fingerprint', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_annotated_ms_ms_data( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6146,7 +6204,7 @@ def get_formula_annotated_ms_ms_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedMsMsData: + ) -> AnnotatedMsMsData: """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. @@ -6194,19 +6252,19 @@ def get_formula_annotated_ms_ms_data( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_annotated_ms_ms_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6225,7 +6283,7 @@ def get_formula_annotated_ms_ms_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedMsMsData]: + ) -> ApiResponse[AnnotatedMsMsData]: """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. @@ -6273,19 +6331,19 @@ def get_formula_annotated_ms_ms_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_annotated_ms_ms_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6304,7 +6362,7 @@ def get_formula_annotated_ms_ms_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. @@ -6352,86 +6410,89 @@ def get_formula_annotated_ms_ms_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_annotated_ms_ms_data_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - ms_data_search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_annotated_ms_ms_data_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + ms_data_search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-msmsdata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_annotated_spectrum( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6451,7 +6512,7 @@ def get_formula_annotated_spectrum( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: + ) -> AnnotatedSpectrum: """Returns a fragmentation spectrum (e Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. @@ -6502,19 +6563,19 @@ def get_formula_annotated_spectrum( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_annotated_spectrum_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6534,7 +6595,7 @@ def get_formula_annotated_spectrum_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: + ) -> ApiResponse[AnnotatedSpectrum]: """Returns a fragmentation spectrum (e Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. @@ -6585,19 +6646,19 @@ def get_formula_annotated_spectrum_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_annotated_spectrum_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6617,7 +6678,7 @@ def get_formula_annotated_spectrum_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns a fragmentation spectrum (e Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. @@ -6668,91 +6729,94 @@ def get_formula_annotated_spectrum_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_annotated_spectrum_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - spectrum_index, - search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if spectrum_index is not None: - - _query_params.append(('spectrumIndex', spectrum_index)) - - if search_prepared is not None: - - _query_params.append(('searchPrepared', search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_annotated_spectrum_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + spectrum_index, + search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if spectrum_index is not None: + + _query_params.append(('spectrumIndex', spectrum_index)) + + if search_prepared is not None: + + _query_params.append(('searchPrepared', search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/annotated-spectrum', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_candidate( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6772,7 +6836,7 @@ def get_formula_candidate( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FormulaCandidate: + ) -> FormulaCandidate: """FormulaResultContainers for the given 'formulaId' with minimal information. FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. @@ -6823,19 +6887,19 @@ def get_formula_candidate( _response_types_map: Dict[str, Optional[str]] = { '200': "FormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_candidate_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6855,7 +6919,7 @@ def get_formula_candidate_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FormulaCandidate]: + ) -> ApiResponse[FormulaCandidate]: """FormulaResultContainers for the given 'formulaId' with minimal information. FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. @@ -6906,19 +6970,19 @@ def get_formula_candidate_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "FormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_candidate_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -6938,7 +7002,7 @@ def get_formula_candidate_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """FormulaResultContainers for the given 'formulaId' with minimal information. FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. @@ -6989,92 +7053,95 @@ def get_formula_candidate_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "FormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_candidate_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_candidate_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7093,7 +7160,7 @@ def get_formula_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FormulaCandidate]: + ) -> List[FormulaCandidate]: """List of FormulaResultContainers available for this feature with minimal information. List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7141,19 +7208,19 @@ def get_formula_candidates( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FormulaCandidate]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7172,7 +7239,7 @@ def get_formula_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FormulaCandidate]]: + ) -> ApiResponse[List[FormulaCandidate]]: """List of FormulaResultContainers available for this feature with minimal information. List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7220,19 +7287,19 @@ def get_formula_candidates_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FormulaCandidate]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7251,7 +7318,7 @@ def get_formula_candidates_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of FormulaResultContainers available for this feature with minimal information. List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7299,89 +7366,92 @@ def get_formula_candidates_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[FormulaCandidate]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_candidates_serialize( - self, - project_id, - aligned_feature_id, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_candidates_serialize( + self, + project_id, + aligned_feature_id, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_formula_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7403,7 +7473,7 @@ def get_formula_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelFormulaCandidate: + ) -> PagedModelFormulaCandidate: """Page of FormulaResultContainers available for this feature with minimal information. Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7460,19 +7530,19 @@ def get_formula_candidates_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelFormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_formula_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7494,7 +7564,7 @@ def get_formula_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelFormulaCandidate]: + ) -> ApiResponse[PagedModelFormulaCandidate]: """Page of FormulaResultContainers available for this feature with minimal information. Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7551,19 +7621,19 @@ def get_formula_candidates_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelFormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_formula_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7585,7 +7655,7 @@ def get_formula_candidates_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of FormulaResultContainers available for this feature with minimal information. Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. @@ -7642,105 +7712,108 @@ def get_formula_candidates_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelFormulaCandidate", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_formula_candidates_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - ms_data_search_prepared, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_formula_candidates_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + ms_data_search_prepared, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_frag_tree( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7758,7 +7831,7 @@ def get_frag_tree( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FragmentationTree: + ) -> FragmentationTree: """Returns fragmentation tree (SIRIUS) for the given formula result identifier Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). @@ -7803,19 +7876,19 @@ def get_frag_tree( _response_types_map: Dict[str, Optional[str]] = { '200': "FragmentationTree", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_frag_tree_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7833,7 +7906,7 @@ def get_frag_tree_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FragmentationTree]: + ) -> ApiResponse[FragmentationTree]: """Returns fragmentation tree (SIRIUS) for the given formula result identifier Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). @@ -7878,19 +7951,19 @@ def get_frag_tree_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "FragmentationTree", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_frag_tree_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -7908,7 +7981,7 @@ def get_frag_tree_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns fragmentation tree (SIRIUS) for the given formula result identifier Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). @@ -7953,81 +8026,84 @@ def get_frag_tree_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "FragmentationTree", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_frag_tree_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_frag_tree_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/fragtree', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_isotope_pattern_annotation( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8045,7 +8121,7 @@ def get_isotope_pattern_annotation( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> IsotopePatternAnnotation: + ) -> IsotopePatternAnnotation: """Returns Isotope pattern information for given formulaId Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). @@ -8090,19 +8166,19 @@ def get_isotope_pattern_annotation( _response_types_map: Dict[str, Optional[str]] = { '200': "IsotopePatternAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_isotope_pattern_annotation_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8120,7 +8196,7 @@ def get_isotope_pattern_annotation_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[IsotopePatternAnnotation]: + ) -> ApiResponse[IsotopePatternAnnotation]: """Returns Isotope pattern information for given formulaId Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). @@ -8165,19 +8241,19 @@ def get_isotope_pattern_annotation_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "IsotopePatternAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_isotope_pattern_annotation_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8195,7 +8271,7 @@ def get_isotope_pattern_annotation_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns Isotope pattern information for given formulaId Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). @@ -8240,81 +8316,84 @@ def get_isotope_pattern_annotation_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "IsotopePatternAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_isotope_pattern_annotation_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_isotope_pattern_annotation_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/isotope-pattern', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_lipid_annotation( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8332,7 +8411,7 @@ def get_lipid_annotation( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LipidAnnotation: + ) -> LipidAnnotation: """Returns Lipid annotation (ElGordo) for the given formulaId Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. @@ -8377,19 +8456,19 @@ def get_lipid_annotation( _response_types_map: Dict[str, Optional[str]] = { '200': "LipidAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_lipid_annotation_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8407,7 +8486,7 @@ def get_lipid_annotation_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LipidAnnotation]: + ) -> ApiResponse[LipidAnnotation]: """Returns Lipid annotation (ElGordo) for the given formulaId Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. @@ -8452,19 +8531,19 @@ def get_lipid_annotation_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "LipidAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_lipid_annotation_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8482,7 +8561,7 @@ def get_lipid_annotation_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Returns Lipid annotation (ElGordo) for the given formulaId Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. @@ -8527,81 +8606,84 @@ def get_lipid_annotation_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "LipidAnnotation", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_lipid_annotation_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_lipid_annotation_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/lipid-annotation', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_ms_data( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8619,7 +8701,7 @@ def get_ms_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> MsData: + ) -> MsData: """Mass Spec data (input data) for the given 'alignedFeatureId' . Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -8664,19 +8746,19 @@ def get_ms_data( _response_types_map: Dict[str, Optional[str]] = { '200': "MsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_ms_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8694,7 +8776,7 @@ def get_ms_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[MsData]: + ) -> ApiResponse[MsData]: """Mass Spec data (input data) for the given 'alignedFeatureId' . Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -8739,19 +8821,19 @@ def get_ms_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "MsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_ms_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8769,7 +8851,7 @@ def get_ms_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Mass Spec data (input data) for the given 'alignedFeatureId' . Mass Spec data (input data) for the given 'alignedFeatureId' . @@ -8814,83 +8896,86 @@ def get_ms_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "MsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_ms_data_serialize( - self, - project_id, - aligned_feature_id, - ms_data_search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_ms_data_serialize( + self, + project_id, + aligned_feature_id, + ms_data_search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/ms-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_quant_table_row_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8908,7 +8993,7 @@ def get_quant_table_row_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> QuantTableExperimental: + ) -> QuantTableExperimental: """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -8953,19 +9038,19 @@ def get_quant_table_row_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_quant_table_row_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -8983,7 +9068,7 @@ def get_quant_table_row_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[QuantTableExperimental]: + ) -> ApiResponse[QuantTableExperimental]: """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -9028,19 +9113,19 @@ def get_quant_table_row_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_quant_table_row_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9058,7 +9143,7 @@ def get_quant_table_row_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -9103,83 +9188,86 @@ def get_quant_table_row_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "QuantTableExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_quant_table_row_experimental_serialize( - self, - project_id, - aligned_feature_id, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if type is not None: - - _query_params.append(('type', type.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_quant_table_row_experimental_serialize( + self, + project_id, + aligned_feature_id, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/quant-table-row', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_match( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9198,7 +9286,7 @@ def get_spectral_library_match( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SpectralLibraryMatch: + ) -> SpectralLibraryMatch: """Spectral library match for the given 'alignedFeatureId'. Spectral library match for the given 'alignedFeatureId'. @@ -9246,19 +9334,19 @@ def get_spectral_library_match( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_match_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9277,7 +9365,7 @@ def get_spectral_library_match_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SpectralLibraryMatch]: + ) -> ApiResponse[SpectralLibraryMatch]: """Spectral library match for the given 'alignedFeatureId'. Spectral library match for the given 'alignedFeatureId'. @@ -9325,19 +9413,19 @@ def get_spectral_library_match_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_match_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9356,7 +9444,7 @@ def get_spectral_library_match_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Spectral library match for the given 'alignedFeatureId'. Spectral library match for the given 'alignedFeatureId'. @@ -9404,87 +9492,90 @@ def get_spectral_library_match_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_match_serialize( - self, - project_id, - aligned_feature_id, - match_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if match_id is not None: - _path_params['matchId'] = match_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_match_serialize( + self, + project_id, + aligned_feature_id, + match_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if match_id is not None: + _path_params['matchId'] = match_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_matches( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9505,7 +9596,7 @@ def get_spectral_library_matches( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SpectralLibraryMatch]: + ) -> List[SpectralLibraryMatch]: """List of spectral library matches for the given 'alignedFeatureId'. List of spectral library matches for the given 'alignedFeatureId'. @@ -9559,19 +9650,19 @@ def get_spectral_library_matches( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SpectralLibraryMatch]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_matches_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9592,7 +9683,7 @@ def get_spectral_library_matches_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SpectralLibraryMatch]]: + ) -> ApiResponse[List[SpectralLibraryMatch]]: """List of spectral library matches for the given 'alignedFeatureId'. List of spectral library matches for the given 'alignedFeatureId'. @@ -9646,19 +9737,19 @@ def get_spectral_library_matches_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SpectralLibraryMatch]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_matches_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9679,7 +9770,7 @@ def get_spectral_library_matches_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of spectral library matches for the given 'alignedFeatureId'. List of spectral library matches for the given 'alignedFeatureId'. @@ -9733,99 +9824,102 @@ def get_spectral_library_matches_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SpectralLibraryMatch]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_matches_serialize( - self, - project_id, - aligned_feature_id, - min_shared_peaks, - min_similarity, - inchi_key, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - - if inchi_key is not None: - - _query_params.append(('inchiKey', inchi_key)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_serialize( + self, + project_id, + aligned_feature_id, + min_shared_peaks, + min_similarity, + inchi_key, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_matches_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9849,7 +9943,7 @@ def get_spectral_library_matches_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelSpectralLibraryMatch: + ) -> PagedModelSpectralLibraryMatch: """Page of spectral library matches for the given 'alignedFeatureId'. Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. @@ -9912,19 +10006,19 @@ def get_spectral_library_matches_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelSpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_matches_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -9948,7 +10042,7 @@ def get_spectral_library_matches_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelSpectralLibraryMatch]: + ) -> ApiResponse[PagedModelSpectralLibraryMatch]: """Page of spectral library matches for the given 'alignedFeatureId'. Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. @@ -10011,19 +10105,19 @@ def get_spectral_library_matches_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelSpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_matches_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10047,7 +10141,7 @@ def get_spectral_library_matches_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of spectral library matches for the given 'alignedFeatureId'. Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. @@ -10110,115 +10204,118 @@ def get_spectral_library_matches_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelSpectralLibraryMatch", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_matches_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - min_shared_peaks, - min_similarity, - inchi_key, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - - if inchi_key is not None: - - _query_params.append(('inchiKey', inchi_key)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + min_shared_peaks, + min_similarity, + inchi_key, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_spectral_library_matches_summary( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10238,7 +10335,7 @@ def get_spectral_library_matches_summary( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SpectralLibraryMatchSummary: + ) -> SpectralLibraryMatchSummary: """Summarize matched reference spectra for the given 'alignedFeatureId'. Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. @@ -10289,19 +10386,19 @@ def get_spectral_library_matches_summary( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatchSummary", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_spectral_library_matches_summary_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10321,7 +10418,7 @@ def get_spectral_library_matches_summary_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SpectralLibraryMatchSummary]: + ) -> ApiResponse[SpectralLibraryMatchSummary]: """Summarize matched reference spectra for the given 'alignedFeatureId'. Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. @@ -10372,19 +10469,19 @@ def get_spectral_library_matches_summary_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatchSummary", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_spectral_library_matches_summary_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10404,7 +10501,7 @@ def get_spectral_library_matches_summary_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Summarize matched reference spectra for the given 'alignedFeatureId'. Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. @@ -10455,93 +10552,96 @@ def get_spectral_library_matches_summary_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SpectralLibraryMatchSummary", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_spectral_library_matches_summary_serialize( - self, - project_id, - aligned_feature_id, - min_shared_peaks, - min_similarity, - inchi_key, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if min_shared_peaks is not None: - - _query_params.append(('minSharedPeaks', min_shared_peaks)) - - if min_similarity is not None: - - _query_params.append(('minSimilarity', min_similarity)) - - if inchi_key is not None: - - _query_params.append(('inchiKey', inchi_key)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_spectral_library_matches_summary_serialize( + self, + project_id, + aligned_feature_id, + min_shared_peaks, + min_similarity, + inchi_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if min_shared_peaks is not None: + + _query_params.append(('minSharedPeaks', min_shared_peaks)) + + if min_similarity is not None: + + _query_params.append(('minSimilarity', min_similarity)) + + if inchi_key is not None: + + _query_params.append(('inchiKey', inchi_key)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/summary', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_annotated_ms_data_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10561,7 +10661,7 @@ def get_structure_annotated_ms_data_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedMsMsData: + ) -> AnnotatedMsMsData: """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10612,19 +10712,19 @@ def get_structure_annotated_ms_data_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_annotated_ms_data_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10644,7 +10744,7 @@ def get_structure_annotated_ms_data_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedMsMsData]: + ) -> ApiResponse[AnnotatedMsMsData]: """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10695,19 +10795,19 @@ def get_structure_annotated_ms_data_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_annotated_ms_data_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10727,7 +10827,7 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10778,89 +10878,92 @@ def get_structure_annotated_ms_data_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedMsMsData", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_annotated_ms_data_experimental_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - inchi_key, - ms_data_search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - if inchi_key is not None: - _path_params['inchiKey'] = inchi_key - # process the query parameters - if ms_data_search_prepared is not None: - - _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_annotated_ms_data_experimental_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + inchi_key, + ms_data_search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + if inchi_key is not None: + _path_params['inchiKey'] = inchi_key + # process the query parameters + if ms_data_search_prepared is not None: + + _query_params.append(('msDataSearchPrepared', ms_data_search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-msmsdata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_annotated_spectral_library_match_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10878,7 +10981,7 @@ def get_structure_annotated_spectral_library_match_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: + ) -> AnnotatedSpectrum: """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10923,19 +11026,19 @@ def get_structure_annotated_spectral_library_match_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_annotated_spectral_library_match_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -10953,7 +11056,7 @@ def get_structure_annotated_spectral_library_match_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: + ) -> ApiResponse[AnnotatedSpectrum]: """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -10998,19 +11101,19 @@ def get_structure_annotated_spectral_library_match_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_annotated_spectral_library_match_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11028,7 +11131,7 @@ def get_structure_annotated_spectral_library_match_experimental_without_preload_ _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11073,81 +11176,84 @@ def get_structure_annotated_spectral_library_match_experimental_without_preload_ _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_annotated_spectral_library_match_experimental_serialize( - self, - project_id, - aligned_feature_id, - match_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if match_id is not None: - _path_params['matchId'] = match_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_annotated_spectral_library_match_experimental_serialize( + self, + project_id, + aligned_feature_id, + match_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if match_id is not None: + _path_params['matchId'] = match_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/spectral-library-matches/{matchId}/annotated', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_annotated_spectrum_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11168,7 +11274,7 @@ def get_structure_annotated_spectrum_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AnnotatedSpectrum: + ) -> AnnotatedSpectrum: """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11222,19 +11328,19 @@ def get_structure_annotated_spectrum_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_annotated_spectrum_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11255,7 +11361,7 @@ def get_structure_annotated_spectrum_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AnnotatedSpectrum]: + ) -> ApiResponse[AnnotatedSpectrum]: """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11309,19 +11415,19 @@ def get_structure_annotated_spectrum_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_annotated_spectrum_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11342,7 +11448,7 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -11396,94 +11502,97 @@ def get_structure_annotated_spectrum_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AnnotatedSpectrum", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_annotated_spectrum_experimental_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - inchi_key, - spectrum_index, - search_prepared, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - if inchi_key is not None: - _path_params['inchiKey'] = inchi_key - # process the query parameters - if spectrum_index is not None: - - _query_params.append(('spectrumIndex', spectrum_index)) - - if search_prepared is not None: - - _query_params.append(('searchPrepared', search_prepared)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_annotated_spectrum_experimental_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + inchi_key, + spectrum_index, + search_prepared, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + if inchi_key is not None: + _path_params['inchiKey'] = inchi_key + # process the query parameters + if spectrum_index is not None: + + _query_params.append(('spectrumIndex', spectrum_index)) + + if search_prepared is not None: + + _query_params.append(('searchPrepared', search_prepared)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/structures/{inchiKey}/annotated-spectrum', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11501,7 +11610,7 @@ def get_structure_candidates( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateFormula]: + ) -> List[StructureCandidateFormula]: """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11546,19 +11655,19 @@ def get_structure_candidates( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11576,7 +11685,7 @@ def get_structure_candidates_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateFormula]]: + ) -> ApiResponse[List[StructureCandidateFormula]]: """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11621,19 +11730,19 @@ def get_structure_candidates_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11651,7 +11760,7 @@ def get_structure_candidates_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11696,84 +11805,87 @@ def get_structure_candidates_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateFormula]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_serialize( - self, - project_id, - aligned_feature_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_serialize( + self, + project_id, + aligned_feature_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates_by_formula( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11792,7 +11904,7 @@ def get_structure_candidates_by_formula( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StructureCandidateScored]: + ) -> List[StructureCandidateScored]: """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11840,19 +11952,19 @@ def get_structure_candidates_by_formula( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_by_formula_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11871,7 +11983,7 @@ def get_structure_candidates_by_formula_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StructureCandidateScored]]: + ) -> ApiResponse[List[StructureCandidateScored]]: """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11919,19 +12031,19 @@ def get_structure_candidates_by_formula_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_by_formula_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -11950,7 +12062,7 @@ def get_structure_candidates_by_formula_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -11998,87 +12110,90 @@ def get_structure_candidates_by_formula_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StructureCandidateScored]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_by_formula_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_by_formula_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates_by_formula_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12100,7 +12215,7 @@ def get_structure_candidates_by_formula_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateScored: + ) -> PagedModelStructureCandidateScored: """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12157,19 +12272,19 @@ def get_structure_candidates_by_formula_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_by_formula_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12191,7 +12306,7 @@ def get_structure_candidates_by_formula_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateScored]: + ) -> ApiResponse[PagedModelStructureCandidateScored]: """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12248,19 +12363,19 @@ def get_structure_candidates_by_formula_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_by_formula_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12282,7 +12397,7 @@ def get_structure_candidates_by_formula_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12339,103 +12454,106 @@ def get_structure_candidates_by_formula_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateScored", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_by_formula_paged_serialize( - self, - project_id, - aligned_feature_id, - formula_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if formula_id is not None: - _path_params['formulaId'] = formula_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_by_formula_paged_serialize( + self, + project_id, + aligned_feature_id, + formula_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if formula_id is not None: + _path_params['formulaId'] = formula_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/formulas/{formulaId}/db-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_structure_candidates_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12456,7 +12574,7 @@ def get_structure_candidates_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelStructureCandidateFormula: + ) -> PagedModelStructureCandidateFormula: """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12510,19 +12628,19 @@ def get_structure_candidates_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_structure_candidates_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12543,7 +12661,7 @@ def get_structure_candidates_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelStructureCandidateFormula]: + ) -> ApiResponse[PagedModelStructureCandidateFormula]: """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12597,19 +12715,19 @@ def get_structure_candidates_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_structure_candidates_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -12630,7 +12748,7 @@ def get_structure_candidates_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. @@ -12684,100 +12802,103 @@ def get_structure_candidates_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelStructureCandidateFormula", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_structure_candidates_paged_serialize( - self, - project_id, - aligned_feature_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_structure_candidates_paged_serialize( + self, + project_id, + aligned_feature_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/db-structures/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags_for_aligned_features_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -12794,7 +12915,7 @@ def get_tags_for_aligned_features_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Get all tags associated with this Object [EXPERIMENTAL] Get all tags associated with this Object @@ -12836,19 +12957,19 @@ def get_tags_for_aligned_features_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_for_aligned_features_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -12865,7 +12986,7 @@ def get_tags_for_aligned_features_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Get all tags associated with this Object [EXPERIMENTAL] Get all tags associated with this Object @@ -12907,19 +13028,19 @@ def get_tags_for_aligned_features_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_for_aligned_features_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -12936,7 +13057,7 @@ def get_tags_for_aligned_features_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tags associated with this Object [EXPERIMENTAL] Get all tags associated with this Object @@ -12978,78 +13099,81 @@ def get_tags_for_aligned_features_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_for_aligned_features_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/tags/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_aligned_features_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_traces_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -13067,7 +13191,7 @@ def get_traces_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TraceSetExperimental: + ) -> TraceSetExperimental: """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13112,19 +13236,19 @@ def get_traces_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_traces_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -13142,7 +13266,7 @@ def get_traces_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TraceSetExperimental]: + ) -> ApiResponse[TraceSetExperimental]: """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13187,19 +13311,19 @@ def get_traces_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_traces_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -13217,7 +13341,7 @@ def get_traces_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13262,83 +13386,86 @@ def get_traces_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TraceSetExperimental", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_traces_experimental_serialize( - self, - project_id, - aligned_feature_id, - include_all, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - # process the query parameters - if include_all is not None: - - _query_params.append(('includeAll', include_all)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_traces_experimental_serialize( + self, + project_id, + aligned_feature_id, + include_all, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + # process the query parameters + if include_all is not None: + + _query_params.append(('includeAll', include_all)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/aligned-features/{alignedFeatureId}/traces', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_tag_from_aligned_feature_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -13356,7 +13483,7 @@ def remove_tag_from_aligned_feature_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13401,19 +13528,19 @@ def remove_tag_from_aligned_feature_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_tag_from_aligned_feature_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -13431,7 +13558,7 @@ def remove_tag_from_aligned_feature_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13476,19 +13603,19 @@ def remove_tag_from_aligned_feature_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_tag_from_aligned_feature_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -13506,7 +13633,7 @@ def remove_tag_from_aligned_feature_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -13551,69 +13678,71 @@ def remove_tag_from_aligned_feature_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_tag_from_aligned_feature_experimental_serialize( - self, - project_id, - aligned_feature_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if aligned_feature_id is not None: - _path_params['alignedFeatureId'] = aligned_feature_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_aligned_feature_experimental_serialize( + self, + project_id, + aligned_feature_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if aligned_feature_id is not None: + _path_params['alignedFeatureId'] = aligned_feature_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/aligned-features/tags/{alignedFeatureId}/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/info_api.py b/client-api_python/generated/PySirius/api/info_api.py index bd03e280..15e01432 100644 --- a/client-api_python/generated/PySirius/api/info_api.py +++ b/client-api_python/generated/PySirius/api/info_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,36 +8,36 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import StrictBool -from typing import Optional -from PySirius.models.connection_check import ConnectionCheck -from PySirius.models.info import Info - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class InfoApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import StrictBool +from typing import Optional +from PySirius.models.connection_check import ConnectionCheck +from PySirius.models.info import Info + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class InfoApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def get_connection_check( self, _request_timeout: Union[ @@ -52,7 +52,7 @@ def get_connection_check( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ConnectionCheck: + ) -> ConnectionCheck: """get_connection_check @@ -87,19 +87,19 @@ def get_connection_check( _response_types_map: Dict[str, Optional[str]] = { '200': "ConnectionCheck", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_connection_check_with_http_info( self, _request_timeout: Union[ @@ -114,7 +114,7 @@ def get_connection_check_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ConnectionCheck]: + ) -> ApiResponse[ConnectionCheck]: """get_connection_check @@ -149,19 +149,19 @@ def get_connection_check_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ConnectionCheck", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_connection_check_without_preload_content( self, _request_timeout: Union[ @@ -176,7 +176,7 @@ def get_connection_check_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_connection_check @@ -211,72 +211,75 @@ def get_connection_check_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ConnectionCheck", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_connection_check_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/connection-status', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connection_check_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/connection-status', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_info( self, server_info: Optional[StrictBool] = None, @@ -293,7 +296,7 @@ def get_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Info: + ) -> Info: """get_info @@ -334,19 +337,19 @@ def get_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Info", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_info_with_http_info( self, server_info: Optional[StrictBool] = None, @@ -363,7 +366,7 @@ def get_info_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Info]: + ) -> ApiResponse[Info]: """get_info @@ -404,19 +407,19 @@ def get_info_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Info", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_info_without_preload_content( self, server_info: Optional[StrictBool] = None, @@ -433,7 +436,7 @@ def get_info_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_info @@ -474,76 +477,79 @@ def get_info_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Info", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_info_serialize( - self, - server_info, - update_info, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if server_info is not None: - - _query_params.append(('serverInfo', server_info)) - - if update_info is not None: - - _query_params.append(('updateInfo', update_info)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/info', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_info_serialize( + self, + server_info, + update_info, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if server_info is not None: + + _query_params.append(('serverInfo', server_info)) + + if update_info is not None: + + _query_params.append(('updateInfo', update_info)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/info', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/jobs_api.py b/client-api_python/generated/PySirius/api/jobs_api.py index 3327e913..043b725d 100644 --- a/client-api_python/generated/PySirius/api/jobs_api.py +++ b/client-api_python/generated/PySirius/api/jobs_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,40 +8,40 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.job_submission import JobSubmission -from PySirius.models.paged_model_job import PagedModelJob -from PySirius.models.stored_job_submission import StoredJobSubmission - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class JobsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.job_submission import JobSubmission +from PySirius.models.paged_model_job import PagedModelJob +from PySirius.models.stored_job_submission import StoredJobSubmission + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class JobsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def delete_job( self, project_id: Annotated[StrictStr, Field(description="project-space to delete job from")], @@ -60,7 +60,7 @@ def delete_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete job. Delete job. Specify how to behave for running jobs. @@ -108,19 +108,19 @@ def delete_job( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete job from")], @@ -139,7 +139,7 @@ def delete_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete job. Delete job. Specify how to behave for running jobs. @@ -187,19 +187,19 @@ def delete_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete job from")], @@ -218,7 +218,7 @@ def delete_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete job. Delete job. Specify how to behave for running jobs. @@ -266,82 +266,84 @@ def delete_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_job_serialize( - self, - project_id, - job_id, - cancel_if_running, - await_deletion, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if job_id is not None: - _path_params['jobId'] = job_id - # process the query parameters - if cancel_if_running is not None: - - _query_params.append(('cancelIfRunning', cancel_if_running)) - - if await_deletion is not None: - - _query_params.append(('awaitDeletion', await_deletion)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/jobs/{jobId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_job_serialize( + self, + project_id, + job_id, + cancel_if_running, + await_deletion, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if job_id is not None: + _path_params['jobId'] = job_id + # process the query parameters + if cancel_if_running is not None: + + _query_params.append(('cancelIfRunning', cancel_if_running)) + + if await_deletion is not None: + + _query_params.append(('awaitDeletion', await_deletion)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/jobs/{jobId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_job_config( self, name: Annotated[StrictStr, Field(description="name of the job-config to delete")], @@ -357,7 +359,7 @@ def delete_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Delete job configuration with given name. Delete job configuration with given name. @@ -396,19 +398,19 @@ def delete_job_config( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_job_config_with_http_info( self, name: Annotated[StrictStr, Field(description="name of the job-config to delete")], @@ -424,7 +426,7 @@ def delete_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Delete job configuration with given name. Delete job configuration with given name. @@ -463,19 +465,19 @@ def delete_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_job_config_without_preload_content( self, name: Annotated[StrictStr, Field(description="name of the job-config to delete")], @@ -491,7 +493,7 @@ def delete_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Delete job configuration with given name. Delete job configuration with given name. @@ -530,69 +532,71 @@ def delete_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_job_config_serialize( - self, - name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if name is not None: - _path_params['name'] = name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/job-configs/{name}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_job_config_serialize( + self, + name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if name is not None: + _path_params['name'] = name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/job-configs/{name}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_jobs( self, project_id: Annotated[StrictStr, Field(description="project-space to delete jobs from")], @@ -610,7 +614,7 @@ def delete_jobs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """* Delete ALL jobs. * Delete ALL jobs. Specify how to behave for running jobs. @@ -655,19 +659,19 @@ def delete_jobs( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_jobs_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete jobs from")], @@ -685,7 +689,7 @@ def delete_jobs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """* Delete ALL jobs. * Delete ALL jobs. Specify how to behave for running jobs. @@ -730,19 +734,19 @@ def delete_jobs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_jobs_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete jobs from")], @@ -760,7 +764,7 @@ def delete_jobs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """* Delete ALL jobs. * Delete ALL jobs. Specify how to behave for running jobs. @@ -805,79 +809,81 @@ def delete_jobs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_jobs_serialize( - self, - project_id, - cancel_if_running, - await_deletion, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if cancel_if_running is not None: - - _query_params.append(('cancelIfRunning', cancel_if_running)) - - if await_deletion is not None: - - _query_params.append(('awaitDeletion', await_deletion)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_jobs_serialize( + self, + project_id, + cancel_if_running, + await_deletion, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if cancel_if_running is not None: + + _query_params.append(('cancelIfRunning', cancel_if_running)) + + if await_deletion is not None: + + _query_params.append(('awaitDeletion', await_deletion)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_command( self, job_submission: JobSubmission, @@ -893,7 +899,7 @@ def get_command( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[str]: + ) -> List[str]: """Get a CLI command for the given job configuration. Get a CLI command for the given job configuration. @@ -932,19 +938,19 @@ def get_command( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_command_with_http_info( self, job_submission: JobSubmission, @@ -960,7 +966,7 @@ def get_command_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[str]]: + ) -> ApiResponse[List[str]]: """Get a CLI command for the given job configuration. Get a CLI command for the given job configuration. @@ -999,19 +1005,19 @@ def get_command_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_command_without_preload_content( self, job_submission: JobSubmission, @@ -1027,7 +1033,7 @@ def get_command_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get a CLI command for the given job configuration. Get a CLI command for the given job configuration. @@ -1066,88 +1072,91 @@ def get_command_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_command_serialize( - self, - job_submission, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if job_submission is not None: - _body_params = job_submission - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/job-configs/get-command', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_command_serialize( + self, + job_submission, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if job_submission is not None: + _body_params = job_submission + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/job-configs/get-command', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_default_job_config( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, @@ -1165,7 +1174,7 @@ def get_default_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> JobSubmission: + ) -> JobSubmission: """Request default job configuration Request default job configuration @@ -1210,19 +1219,19 @@ def get_default_job_config( _response_types_map: Dict[str, Optional[str]] = { '200': "JobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_default_job_config_with_http_info( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, @@ -1240,7 +1249,7 @@ def get_default_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[JobSubmission]: + ) -> ApiResponse[JobSubmission]: """Request default job configuration Request default job configuration @@ -1285,19 +1294,19 @@ def get_default_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "JobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_default_job_config_without_preload_content( self, include_config_map: Annotated[Optional[StrictBool], Field(description="if true, generic configmap with-defaults will be included")] = None, @@ -1315,7 +1324,7 @@ def get_default_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Request default job configuration Request default job configuration @@ -1360,87 +1369,90 @@ def get_default_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "JobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_default_job_config_serialize( - self, - include_config_map, - move_parameters_to_config_map, - include_custom_dbs_for_structure_search, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_config_map is not None: - - _query_params.append(('includeConfigMap', include_config_map)) - - if move_parameters_to_config_map is not None: - - _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) - - if include_custom_dbs_for_structure_search is not None: - - _query_params.append(('includeCustomDbsForStructureSearch', include_custom_dbs_for_structure_search)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/default-job-config', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_default_job_config_serialize( + self, + include_config_map, + move_parameters_to_config_map, + include_custom_dbs_for_structure_search, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_config_map is not None: + + _query_params.append(('includeConfigMap', include_config_map)) + + if move_parameters_to_config_map is not None: + + _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) + + if include_custom_dbs_for_structure_search is not None: + + _query_params.append(('includeCustomDbsForStructureSearch', include_custom_dbs_for_structure_search)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/default-job-config', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -1458,7 +1470,7 @@ def get_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Get job information and its current state and progress (if available). Get job information and its current state and progress (if available). @@ -1503,19 +1515,19 @@ def get_job( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -1533,7 +1545,7 @@ def get_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Get job information and its current state and progress (if available). Get job information and its current state and progress (if available). @@ -1578,19 +1590,19 @@ def get_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -1608,7 +1620,7 @@ def get_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get job information and its current state and progress (if available). Get job information and its current state and progress (if available). @@ -1653,84 +1665,87 @@ def get_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_serialize( - self, - project_id, - job_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if job_id is not None: - _path_params['jobId'] = job_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/jobs/{jobId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_serialize( + self, + project_id, + job_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if job_id is not None: + _path_params['jobId'] = job_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/jobs/{jobId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job_config( self, name: Annotated[StrictStr, Field(description="name of the job-config to return")], @@ -1747,7 +1762,7 @@ def get_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StoredJobSubmission: + ) -> StoredJobSubmission: """Request job configuration with given name. Request job configuration with given name. @@ -1789,19 +1804,19 @@ def get_job_config( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_config_with_http_info( self, name: Annotated[StrictStr, Field(description="name of the job-config to return")], @@ -1818,7 +1833,7 @@ def get_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StoredJobSubmission]: + ) -> ApiResponse[StoredJobSubmission]: """Request job configuration with given name. Request job configuration with given name. @@ -1860,19 +1875,19 @@ def get_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_config_without_preload_content( self, name: Annotated[StrictStr, Field(description="name of the job-config to return")], @@ -1889,7 +1904,7 @@ def get_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Request job configuration with given name. Request job configuration with given name. @@ -1931,80 +1946,83 @@ def get_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_config_serialize( - self, - name, - move_parameters_to_config_map, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if name is not None: - _path_params['name'] = name - # process the query parameters - if move_parameters_to_config_map is not None: - - _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/job-configs/{name}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_config_serialize( + self, + name, + move_parameters_to_config_map, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if name is not None: + _path_params['name'] = name + # process the query parameters + if move_parameters_to_config_map is not None: + + _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/job-configs/{name}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job_config_names( self, _request_timeout: Union[ @@ -2019,7 +2037,7 @@ def get_job_config_names( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[str]: + ) -> List[str]: """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. @@ -2056,19 +2074,19 @@ def get_job_config_names( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_config_names_with_http_info( self, _request_timeout: Union[ @@ -2083,7 +2101,7 @@ def get_job_config_names_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[str]]: + ) -> ApiResponse[List[str]]: """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. @@ -2120,19 +2138,19 @@ def get_job_config_names_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_config_names_without_preload_content( self, _request_timeout: Union[ @@ -2147,7 +2165,7 @@ def get_job_config_names_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """(Deprecated) [DEPRECATED] Get all (non-default) job configuration names [DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. @@ -2184,72 +2202,75 @@ def get_job_config_names_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_config_names_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/job-config-names', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_config_names_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/job-config-names', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_job_configs( self, _request_timeout: Union[ @@ -2264,7 +2285,7 @@ def get_job_configs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[StoredJobSubmission]: + ) -> List[StoredJobSubmission]: """Request all available job configurations Request all available job configurations @@ -2300,19 +2321,19 @@ def get_job_configs( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StoredJobSubmission]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_job_configs_with_http_info( self, _request_timeout: Union[ @@ -2327,7 +2348,7 @@ def get_job_configs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[StoredJobSubmission]]: + ) -> ApiResponse[List[StoredJobSubmission]]: """Request all available job configurations Request all available job configurations @@ -2363,19 +2384,19 @@ def get_job_configs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StoredJobSubmission]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_job_configs_without_preload_content( self, _request_timeout: Union[ @@ -2390,7 +2411,7 @@ def get_job_configs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Request all available job configurations Request all available job configurations @@ -2426,72 +2447,75 @@ def get_job_configs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[StoredJobSubmission]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_job_configs_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/job-configs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_job_configs_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/job-configs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_jobs( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -2508,7 +2532,7 @@ def get_jobs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Job]: + ) -> List[Job]: """Get List of all available jobs with information such as current state and progress (if available). Get List of all available jobs with information such as current state and progress (if available). @@ -2550,19 +2574,19 @@ def get_jobs( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Job]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_jobs_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -2579,7 +2603,7 @@ def get_jobs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Job]]: + ) -> ApiResponse[List[Job]]: """Get List of all available jobs with information such as current state and progress (if available). Get List of all available jobs with information such as current state and progress (if available). @@ -2621,19 +2645,19 @@ def get_jobs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Job]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_jobs_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -2650,7 +2674,7 @@ def get_jobs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get List of all available jobs with information such as current state and progress (if available). Get List of all available jobs with information such as current state and progress (if available). @@ -2692,81 +2716,84 @@ def get_jobs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Job]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_jobs_serialize( - self, - project_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_jobs_serialize( + self, + project_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_jobs_paged( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -2786,7 +2813,7 @@ def get_jobs_paged( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelJob: + ) -> PagedModelJob: """Get Page of jobs with information such as current state and progress (if available). Get Page of jobs with information such as current state and progress (if available). @@ -2837,19 +2864,19 @@ def get_jobs_paged( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelJob", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_jobs_paged_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -2869,7 +2896,7 @@ def get_jobs_paged_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelJob]: + ) -> ApiResponse[PagedModelJob]: """Get Page of jobs with information such as current state and progress (if available). Get Page of jobs with information such as current state and progress (if available). @@ -2920,19 +2947,19 @@ def get_jobs_paged_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelJob", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_jobs_paged_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -2952,7 +2979,7 @@ def get_jobs_paged_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get Page of jobs with information such as current state and progress (if available). Get Page of jobs with information such as current state and progress (if available). @@ -3003,97 +3030,100 @@ def get_jobs_paged_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelJob", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_jobs_paged_serialize( - self, - project_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/jobs/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_jobs_paged_serialize( + self, + project_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/jobs/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def has_jobs( self, project_id: StrictStr, @@ -3110,7 +3140,7 @@ def has_jobs( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bool: + ) -> bool: """has_jobs @@ -3151,19 +3181,19 @@ def has_jobs( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def has_jobs_with_http_info( self, project_id: StrictStr, @@ -3180,7 +3210,7 @@ def has_jobs_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bool]: + ) -> ApiResponse[bool]: """has_jobs @@ -3221,19 +3251,19 @@ def has_jobs_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def has_jobs_without_preload_content( self, project_id: StrictStr, @@ -3250,7 +3280,7 @@ def has_jobs_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """has_jobs @@ -3291,80 +3321,83 @@ def has_jobs_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _has_jobs_serialize( - self, - project_id, - include_finished, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if include_finished is not None: - - _query_params.append(('includeFinished', include_finished)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/has-jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _has_jobs_serialize( + self, + project_id, + include_finished, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if include_finished is not None: + + _query_params.append(('includeFinished', include_finished)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/has-jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def save_job_config( self, name: Annotated[StrictStr, Field(description="name of the job-config to add")], @@ -3383,7 +3416,7 @@ def save_job_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> StoredJobSubmission: + ) -> StoredJobSubmission: """Add new job configuration with given name. Add new job configuration with given name. @@ -3431,19 +3464,19 @@ def save_job_config( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def save_job_config_with_http_info( self, name: Annotated[StrictStr, Field(description="name of the job-config to add")], @@ -3462,7 +3495,7 @@ def save_job_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[StoredJobSubmission]: + ) -> ApiResponse[StoredJobSubmission]: """Add new job configuration with given name. Add new job configuration with given name. @@ -3510,19 +3543,19 @@ def save_job_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def save_job_config_without_preload_content( self, name: Annotated[StrictStr, Field(description="name of the job-config to add")], @@ -3541,7 +3574,7 @@ def save_job_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Add new job configuration with given name. Add new job configuration with given name. @@ -3589,101 +3622,104 @@ def save_job_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "StoredJobSubmission", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _save_job_config_serialize( - self, - name, - job_submission, - override_existing, - move_parameters_to_config_map, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if name is not None: - _path_params['name'] = name - # process the query parameters - if override_existing is not None: - - _query_params.append(('overrideExisting', override_existing)) - - if move_parameters_to_config_map is not None: - - _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) - - # process the header parameters - # process the form parameters - # process the body parameter - if job_submission is not None: - _body_params = job_submission - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/job-configs/{name}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _save_job_config_serialize( + self, + name, + job_submission, + override_existing, + move_parameters_to_config_map, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if name is not None: + _path_params['name'] = name + # process the query parameters + if override_existing is not None: + + _query_params.append(('overrideExisting', override_existing)) + + if move_parameters_to_config_map is not None: + + _query_params.append(('moveParametersToConfigMap', move_parameters_to_config_map)) + + # process the header parameters + # process the form parameters + # process the body parameter + if job_submission is not None: + _body_params = job_submission + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/job-configs/{name}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def start_job( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -3701,7 +3737,7 @@ def start_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Start computation for given compounds and with given parameters. Start computation for given compounds and with given parameters. @@ -3746,19 +3782,19 @@ def start_job( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def start_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -3776,7 +3812,7 @@ def start_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Start computation for given compounds and with given parameters. Start computation for given compounds and with given parameters. @@ -3821,19 +3857,19 @@ def start_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def start_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -3851,7 +3887,7 @@ def start_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Start computation for given compounds and with given parameters. Start computation for given compounds and with given parameters. @@ -3896,97 +3932,100 @@ def start_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _start_job_serialize( - self, - project_id, - job_submission, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if job_submission is not None: - _body_params = job_submission - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/jobs', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_job_serialize( + self, + project_id, + job_submission, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if job_submission is not None: + _body_params = job_submission + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def start_job_from_config( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -4006,7 +4045,7 @@ def start_job_from_config( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Start computation for given compounds and with parameters from a stored job-config. Start computation for given compounds and with parameters from a stored job-config. @@ -4057,19 +4096,19 @@ def start_job_from_config( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def start_job_from_config_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -4089,7 +4128,7 @@ def start_job_from_config_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Start computation for given compounds and with parameters from a stored job-config. Start computation for given compounds and with parameters from a stored job-config. @@ -4140,19 +4179,19 @@ def start_job_from_config_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def start_job_from_config_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to run jobs on")], @@ -4172,7 +4211,7 @@ def start_job_from_config_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Start computation for given compounds and with parameters from a stored job-config. Start computation for given compounds and with parameters from a stored job-config. @@ -4223,102 +4262,105 @@ def start_job_from_config_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '202': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _start_job_from_config_serialize( - self, - project_id, - job_config_name, - request_body, - recompute, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if job_config_name is not None: - - _query_params.append(('jobConfigName', job_config_name)) - - if recompute is not None: - - _query_params.append(('recompute', recompute)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/jobs/from-config', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_job_from_config_serialize( + self, + project_id, + job_config_name, + request_body, + recompute, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if job_config_name is not None: + + _query_params.append(('jobConfigName', job_config_name)) + + if recompute is not None: + + _query_params.append(('recompute', recompute)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/jobs/from-config', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/login_and_account_api.py b/client-api_python/generated/PySirius/api/login_and_account_api.py index 0bd3c6a4..a74ff992 100644 --- a/client-api_python/generated/PySirius/api/login_and_account_api.py +++ b/client-api_python/generated/PySirius/api/login_and_account_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,38 +8,38 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.account_credentials import AccountCredentials -from PySirius.models.account_info import AccountInfo -from PySirius.models.subscription import Subscription - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class LoginAndAccountApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.account_credentials import AccountCredentials +from PySirius.models.account_info import AccountInfo +from PySirius.models.subscription import Subscription + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class LoginAndAccountApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def get_account_info( self, include_subs: Annotated[Optional[StrictBool], Field(description="include available and active subscriptions in {@link AccountInfo AccountInfo}.")] = None, @@ -55,7 +55,7 @@ def get_account_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AccountInfo: + ) -> AccountInfo: """Get information about the account currently logged in. Get information about the account currently logged in. Fails if not logged in. @@ -94,19 +94,19 @@ def get_account_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_account_info_with_http_info( self, include_subs: Annotated[Optional[StrictBool], Field(description="include available and active subscriptions in {@link AccountInfo AccountInfo}.")] = None, @@ -122,7 +122,7 @@ def get_account_info_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AccountInfo]: + ) -> ApiResponse[AccountInfo]: """Get information about the account currently logged in. Get information about the account currently logged in. Fails if not logged in. @@ -161,19 +161,19 @@ def get_account_info_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_account_info_without_preload_content( self, include_subs: Annotated[Optional[StrictBool], Field(description="include available and active subscriptions in {@link AccountInfo AccountInfo}.")] = None, @@ -189,7 +189,7 @@ def get_account_info_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get information about the account currently logged in. Get information about the account currently logged in. Fails if not logged in. @@ -228,77 +228,80 @@ def get_account_info_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_account_info_serialize( - self, - include_subs, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_subs is not None: - - _query_params.append(('includeSubs', include_subs)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_account_info_serialize( + self, + include_subs, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_subs is not None: + + _query_params.append(('includeSubs', include_subs)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_sign_up_url( self, _request_timeout: Union[ @@ -313,7 +316,7 @@ def get_sign_up_url( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get SignUp URL (For signUp via web browser) Get SignUp URL (For signUp via web browser) @@ -349,19 +352,19 @@ def get_sign_up_url( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_sign_up_url_with_http_info( self, _request_timeout: Union[ @@ -376,7 +379,7 @@ def get_sign_up_url_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get SignUp URL (For signUp via web browser) Get SignUp URL (For signUp via web browser) @@ -412,19 +415,19 @@ def get_sign_up_url_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_sign_up_url_without_preload_content( self, _request_timeout: Union[ @@ -439,7 +442,7 @@ def get_sign_up_url_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get SignUp URL (For signUp via web browser) Get SignUp URL (For signUp via web browser) @@ -475,72 +478,75 @@ def get_sign_up_url_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_sign_up_url_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/plain;charset=UTF-8' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/signUpURL', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_sign_up_url_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/plain;charset=UTF-8' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/signUpURL', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_subscriptions( self, _request_timeout: Union[ @@ -555,7 +561,7 @@ def get_subscriptions( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Subscription]: + ) -> List[Subscription]: """Get available subscriptions of the account currently logged in. Get available subscriptions of the account currently logged in. Fails if not logged in. @@ -591,19 +597,19 @@ def get_subscriptions( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Subscription]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_subscriptions_with_http_info( self, _request_timeout: Union[ @@ -618,7 +624,7 @@ def get_subscriptions_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Subscription]]: + ) -> ApiResponse[List[Subscription]]: """Get available subscriptions of the account currently logged in. Get available subscriptions of the account currently logged in. Fails if not logged in. @@ -654,19 +660,19 @@ def get_subscriptions_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Subscription]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_subscriptions_without_preload_content( self, _request_timeout: Union[ @@ -681,7 +687,7 @@ def get_subscriptions_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get available subscriptions of the account currently logged in. Get available subscriptions of the account currently logged in. Fails if not logged in. @@ -717,72 +723,75 @@ def get_subscriptions_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Subscription]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_subscriptions_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/subscriptions', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_subscriptions_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/subscriptions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def is_logged_in( self, _request_timeout: Union[ @@ -797,7 +806,7 @@ def is_logged_in( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bool: + ) -> bool: """Check if a user is logged in. Check if a user is logged in. @@ -833,19 +842,19 @@ def is_logged_in( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def is_logged_in_with_http_info( self, _request_timeout: Union[ @@ -860,7 +869,7 @@ def is_logged_in_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bool]: + ) -> ApiResponse[bool]: """Check if a user is logged in. Check if a user is logged in. @@ -896,19 +905,19 @@ def is_logged_in_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def is_logged_in_without_preload_content( self, _request_timeout: Union[ @@ -923,7 +932,7 @@ def is_logged_in_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Check if a user is logged in. Check if a user is logged in. @@ -959,72 +968,75 @@ def is_logged_in_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "bool", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _is_logged_in_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/isLoggedIn', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _is_logged_in_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/isLoggedIn', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def login( self, accept_terms: StrictBool, @@ -1043,7 +1055,7 @@ def login( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AccountInfo: + ) -> AccountInfo: """Login into SIRIUS web services and activate default subscription if available. Login into SIRIUS web services and activate default subscription if available. @@ -1091,19 +1103,19 @@ def login( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def login_with_http_info( self, accept_terms: StrictBool, @@ -1122,7 +1134,7 @@ def login_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AccountInfo]: + ) -> ApiResponse[AccountInfo]: """Login into SIRIUS web services and activate default subscription if available. Login into SIRIUS web services and activate default subscription if available. @@ -1170,19 +1182,19 @@ def login_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def login_without_preload_content( self, accept_terms: StrictBool, @@ -1201,7 +1213,7 @@ def login_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Login into SIRIUS web services and activate default subscription if available. Login into SIRIUS web services and activate default subscription if available. @@ -1249,103 +1261,106 @@ def login_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _login_serialize( - self, - accept_terms, - account_credentials, - fail_when_logged_in, - include_subs, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if accept_terms is not None: - - _query_params.append(('acceptTerms', accept_terms)) - - if fail_when_logged_in is not None: - - _query_params.append(('failWhenLoggedIn', fail_when_logged_in)) - - if include_subs is not None: - - _query_params.append(('includeSubs', include_subs)) - - # process the header parameters - # process the form parameters - # process the body parameter - if account_credentials is not None: - _body_params = account_credentials - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/account/login', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _login_serialize( + self, + accept_terms, + account_credentials, + fail_when_logged_in, + include_subs, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if accept_terms is not None: + + _query_params.append(('acceptTerms', accept_terms)) + + if fail_when_logged_in is not None: + + _query_params.append(('failWhenLoggedIn', fail_when_logged_in)) + + if include_subs is not None: + + _query_params.append(('includeSubs', include_subs)) + + # process the header parameters + # process the form parameters + # process the body parameter + if account_credentials is not None: + _body_params = account_credentials + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/account/login', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def logout( self, _request_timeout: Union[ @@ -1360,7 +1375,7 @@ def logout( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Logout from SIRIUS web services. Logout from SIRIUS web services. @@ -1396,19 +1411,19 @@ def logout( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def logout_with_http_info( self, _request_timeout: Union[ @@ -1423,7 +1438,7 @@ def logout_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Logout from SIRIUS web services. Logout from SIRIUS web services. @@ -1459,19 +1474,19 @@ def logout_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def logout_without_preload_content( self, _request_timeout: Union[ @@ -1486,7 +1501,7 @@ def logout_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Logout from SIRIUS web services. Logout from SIRIUS web services. @@ -1522,66 +1537,68 @@ def logout_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _logout_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/account/logout', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _logout_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/account/logout', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def open_portal( self, _request_timeout: Union[ @@ -1596,7 +1613,7 @@ def open_portal( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Open User portal in browser. Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser. @@ -1632,19 +1649,19 @@ def open_portal( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def open_portal_with_http_info( self, _request_timeout: Union[ @@ -1659,7 +1676,7 @@ def open_portal_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Open User portal in browser. Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser. @@ -1695,19 +1712,19 @@ def open_portal_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def open_portal_without_preload_content( self, _request_timeout: Union[ @@ -1722,7 +1739,7 @@ def open_portal_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Open User portal in browser. Open User portal in browser. If user is logged in SIRIUS tries to transfer the login state to the browser. @@ -1758,66 +1775,68 @@ def open_portal_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _open_portal_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/openPortal', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _open_portal_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/openPortal', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def select_subscription( self, sid: StrictStr, @@ -1833,7 +1852,7 @@ def select_subscription( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AccountInfo: + ) -> AccountInfo: """Select a subscription as active subscription to be used for computations. Select a subscription as active subscription to be used for computations. @@ -1872,19 +1891,19 @@ def select_subscription( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def select_subscription_with_http_info( self, sid: StrictStr, @@ -1900,7 +1919,7 @@ def select_subscription_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AccountInfo]: + ) -> ApiResponse[AccountInfo]: """Select a subscription as active subscription to be used for computations. Select a subscription as active subscription to be used for computations. @@ -1939,19 +1958,19 @@ def select_subscription_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def select_subscription_without_preload_content( self, sid: StrictStr, @@ -1967,7 +1986,7 @@ def select_subscription_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Select a subscription as active subscription to be used for computations. Select a subscription as active subscription to be used for computations. @@ -2006,77 +2025,80 @@ def select_subscription_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "AccountInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _select_subscription_serialize( - self, - sid, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if sid is not None: - - _query_params.append(('sid', sid)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/account/subscriptions/select-active', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _select_subscription_serialize( + self, + sid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if sid is not None: + + _query_params.append(('sid', sid)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/account/subscriptions/select-active', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def sign_up( self, _request_timeout: Union[ @@ -2091,7 +2113,7 @@ def sign_up( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Open SignUp window in system browser and return signUp link. Open SignUp window in system browser and return signUp link. @@ -2127,19 +2149,19 @@ def sign_up( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def sign_up_with_http_info( self, _request_timeout: Union[ @@ -2154,7 +2176,7 @@ def sign_up_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Open SignUp window in system browser and return signUp link. Open SignUp window in system browser and return signUp link. @@ -2190,19 +2212,19 @@ def sign_up_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def sign_up_without_preload_content( self, _request_timeout: Union[ @@ -2217,7 +2239,7 @@ def sign_up_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Open SignUp window in system browser and return signUp link. Open SignUp window in system browser and return signUp link. @@ -2253,66 +2275,69 @@ def sign_up_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _sign_up_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/plain;charset=UTF-8' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/account/signUp', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _sign_up_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/plain;charset=UTF-8' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/account/signUp', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/projects_api.py b/client-api_python/generated/PySirius/api/projects_api.py index 270639dd..506ca817 100644 --- a/client-api_python/generated/PySirius/api/projects_api.py +++ b/client-api_python/generated/PySirius/api/projects_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,41 +8,41 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr -from typing import List, Optional, Tuple, Union -from typing_extensions import Annotated -from PySirius.models.import_result import ImportResult -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.lcms_submission_parameters import LcmsSubmissionParameters -from PySirius.models.project_info import ProjectInfo -from PySirius.models.project_info_opt_field import ProjectInfoOptField - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class ProjectsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr +from typing import List, Optional, Tuple, Union +from typing_extensions import Annotated +from PySirius.models.import_result import ImportResult +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.lcms_submission_parameters import LcmsSubmissionParameters +from PySirius.models.project_info import ProjectInfo +from PySirius.models.project_info_opt_field import ProjectInfoOptField + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class ProjectsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def close_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], @@ -59,7 +59,7 @@ def close_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """Close project-space and remove it from the application Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. @@ -101,19 +101,19 @@ def close_project( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def close_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], @@ -130,7 +130,7 @@ def close_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """Close project-space and remove it from the application Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. @@ -172,19 +172,19 @@ def close_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def close_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier of the project-space to be closed.")], @@ -201,7 +201,7 @@ def close_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Close project-space and remove it from the application Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. @@ -243,74 +243,76 @@ def close_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _close_project_serialize( - self, - project_id, - compact, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if compact is not None: - - _query_params.append(('compact', compact)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _close_project_serialize( + self, + project_id, + compact, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if compact is not None: + + _query_params.append(('compact', compact)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def create_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], @@ -328,7 +330,7 @@ def create_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ProjectInfo: + ) -> ProjectInfo: """Create and open a new project-space at given location and make it accessible via the given projectId. Create and open a new project-space at given location and make it accessible via the given projectId. @@ -373,19 +375,19 @@ def create_project( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def create_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], @@ -403,7 +405,7 @@ def create_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ProjectInfo]: + ) -> ApiResponse[ProjectInfo]: """Create and open a new project-space at given location and make it accessible via the given projectId. Create and open a new project-space at given location and make it accessible via the given projectId. @@ -448,19 +450,19 @@ def create_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def create_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-].")], @@ -478,7 +480,7 @@ def create_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Create and open a new project-space at given location and make it accessible via the given projectId. Create and open a new project-space at given location and make it accessible via the given projectId. @@ -523,86 +525,89 @@ def create_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _create_project_serialize( - self, - project_id, - path_to_project, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if path_to_project is not None: - - _query_params.append(('pathToProject', path_to_project)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_project_serialize( + self, + project_id, + path_to_project, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if path_to_project is not None: + + _query_params.append(('pathToProject', path_to_project)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_canopus_classy_fire_data( self, project_id: StrictStr, @@ -619,7 +624,7 @@ def get_canopus_classy_fire_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get CANOPUS prediction vector definition for ClassyFire classes @@ -660,19 +665,19 @@ def get_canopus_classy_fire_data( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_canopus_classy_fire_data_with_http_info( self, project_id: StrictStr, @@ -689,7 +694,7 @@ def get_canopus_classy_fire_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get CANOPUS prediction vector definition for ClassyFire classes @@ -730,19 +735,19 @@ def get_canopus_classy_fire_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_canopus_classy_fire_data_without_preload_content( self, project_id: StrictStr, @@ -759,7 +764,7 @@ def get_canopus_classy_fire_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get CANOPUS prediction vector definition for ClassyFire classes @@ -800,81 +805,84 @@ def get_canopus_classy_fire_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_canopus_classy_fire_data_serialize( - self, - project_id, - charge, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if charge is not None: - - _query_params.append(('charge', charge)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/cf-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_canopus_classy_fire_data_serialize( + self, + project_id, + charge, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if charge is not None: + + _query_params.append(('charge', charge)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/cf-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_canopus_npc_data( self, project_id: StrictStr, @@ -891,7 +899,7 @@ def get_canopus_npc_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get CANOPUS prediction vector definition for NPC classes @@ -932,19 +940,19 @@ def get_canopus_npc_data( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_canopus_npc_data_with_http_info( self, project_id: StrictStr, @@ -961,7 +969,7 @@ def get_canopus_npc_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get CANOPUS prediction vector definition for NPC classes @@ -1002,19 +1010,19 @@ def get_canopus_npc_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_canopus_npc_data_without_preload_content( self, project_id: StrictStr, @@ -1031,7 +1039,7 @@ def get_canopus_npc_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get CANOPUS prediction vector definition for NPC classes @@ -1072,81 +1080,84 @@ def get_canopus_npc_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_canopus_npc_data_serialize( - self, - project_id, - charge, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if charge is not None: - - _query_params.append(('charge', charge)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/npc-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_canopus_npc_data_serialize( + self, + project_id, + charge, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if charge is not None: + + _query_params.append(('charge', charge)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/npc-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_finger_id_data( self, project_id: StrictStr, @@ -1163,7 +1174,7 @@ def get_finger_id_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> str: """Get CSI:FingerID fingerprint (prediction vector) definition @@ -1204,19 +1215,19 @@ def get_finger_id_data( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_finger_id_data_with_http_info( self, project_id: StrictStr, @@ -1233,7 +1244,7 @@ def get_finger_id_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[str]: """Get CSI:FingerID fingerprint (prediction vector) definition @@ -1274,19 +1285,19 @@ def get_finger_id_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_finger_id_data_without_preload_content( self, project_id: StrictStr, @@ -1303,7 +1314,7 @@ def get_finger_id_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get CSI:FingerID fingerprint (prediction vector) definition @@ -1344,81 +1355,84 @@ def get_finger_id_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_finger_id_data_serialize( - self, - project_id, - charge, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if charge is not None: - - _query_params.append(('charge', charge)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/csv', - 'application/CSV' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/fingerid-data', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_finger_id_data_serialize( + self, + project_id, + charge, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if charge is not None: + + _query_params.append(('charge', charge)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/csv', + 'application/CSV' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/fingerid-data', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], @@ -1435,7 +1449,7 @@ def get_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ProjectInfo: + ) -> ProjectInfo: """Get project space info by its projectId. Get project space info by its projectId. @@ -1477,19 +1491,19 @@ def get_project( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], @@ -1506,7 +1520,7 @@ def get_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ProjectInfo]: + ) -> ApiResponse[ProjectInfo]: """Get project space info by its projectId. Get project space info by its projectId. @@ -1548,19 +1562,19 @@ def get_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier tof the project-space to be accessed.")], @@ -1577,7 +1591,7 @@ def get_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Get project space info by its projectId. Get project space info by its projectId. @@ -1619,81 +1633,84 @@ def get_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_project_serialize( - self, - project_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_project_serialize( + self, + project_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_projects( self, _request_timeout: Union[ @@ -1708,7 +1725,7 @@ def get_projects( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[ProjectInfo]: + ) -> List[ProjectInfo]: """List opened project spaces. List opened project spaces. @@ -1744,19 +1761,19 @@ def get_projects( _response_types_map: Dict[str, Optional[str]] = { '200': "List[ProjectInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_projects_with_http_info( self, _request_timeout: Union[ @@ -1771,7 +1788,7 @@ def get_projects_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[ProjectInfo]]: + ) -> ApiResponse[List[ProjectInfo]]: """List opened project spaces. List opened project spaces. @@ -1807,19 +1824,19 @@ def get_projects_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[ProjectInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_projects_without_preload_content( self, _request_timeout: Union[ @@ -1834,7 +1851,7 @@ def get_projects_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """List opened project spaces. List opened project spaces. @@ -1870,72 +1887,75 @@ def get_projects_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[ProjectInfo]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_projects_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_projects_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_ms_run_data( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], @@ -1953,7 +1973,7 @@ def import_ms_run_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ImportResult: + ) -> ImportResult: """Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -1998,19 +2018,19 @@ def import_ms_run_data( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_ms_run_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], @@ -2028,7 +2048,7 @@ def import_ms_run_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ImportResult]: + ) -> ApiResponse[ImportResult]: """Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -2073,19 +2093,19 @@ def import_ms_run_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_ms_run_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], @@ -2103,7 +2123,7 @@ def import_ms_run_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) @@ -2148,95 +2168,107 @@ def import_ms_run_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_ms_run_data_serialize( - self, - project_id, - input_files, - parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - if parameters is not None: - _form_params.append(('parameters', parameters)) - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/ms-data-files', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_ms_run_data_serialize( + self, + project_id, + input_files, + parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + if parameters is not None: + # JSON-encode model parameters for multipart/form-data + import json + if hasattr(parameters, 'model_dump'): + params_dict = parameters.model_dump(mode='json') + elif hasattr(parameters, 'dict'): + params_dict = parameters.dict() + else: + params_dict = parameters + params_json = json.dumps(params_dict, default=str, separators=(',', ':')) + _form_params.append(('parameters', (None, params_json, 'application/json'))) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/ms-data-files', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_ms_run_data_as_job( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], @@ -2255,7 +2287,7 @@ def import_ms_run_data_as_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Import and Align full MS-Runs from various formats into the specified project as background job. Import and Align full MS-Runs from various formats into the specified project as background job. Possible formats (mzML, mzXML) @@ -2303,19 +2335,19 @@ def import_ms_run_data_as_job( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_ms_run_data_as_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], @@ -2334,7 +2366,7 @@ def import_ms_run_data_as_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Import and Align full MS-Runs from various formats into the specified project as background job. Import and Align full MS-Runs from various formats into the specified project as background job. Possible formats (mzML, mzXML) @@ -2382,19 +2414,19 @@ def import_ms_run_data_as_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_ms_run_data_as_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="Project-space to import into.")], @@ -2413,7 +2445,7 @@ def import_ms_run_data_as_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import and Align full MS-Runs from various formats into the specified project as background job. Import and Align full MS-Runs from various formats into the specified project as background job. Possible formats (mzML, mzXML) @@ -2461,101 +2493,113 @@ def import_ms_run_data_as_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_ms_run_data_as_job_serialize( - self, - project_id, - input_files, - parameters, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - if parameters is not None: - _form_params.append(('parameters', parameters)) - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/ms-data-files-job', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_ms_run_data_as_job_serialize( + self, + project_id, + input_files, + parameters, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + if parameters is not None: + # JSON-encode model parameters for multipart/form-data + import json + if hasattr(parameters, 'model_dump'): + params_dict = parameters.model_dump(mode='json') + elif hasattr(parameters, 'dict'): + params_dict = parameters.dict() + else: + params_dict = parameters + params_json = json.dumps(params_dict, default=str, separators=(',', ':')) + _form_params.append(('parameters', (None, params_json, 'application/json'))) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/ms-data-files-job', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_preprocessed_data( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2574,7 +2618,7 @@ def import_preprocessed_data( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ImportResult: + ) -> ImportResult: """Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -2622,19 +2666,19 @@ def import_preprocessed_data( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_preprocessed_data_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2653,7 +2697,7 @@ def import_preprocessed_data_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ImportResult]: + ) -> ApiResponse[ImportResult]: """Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -2701,19 +2745,19 @@ def import_preprocessed_data_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_preprocessed_data_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2732,7 +2776,7 @@ def import_preprocessed_data_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) @@ -2780,102 +2824,105 @@ def import_preprocessed_data_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ImportResult", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_preprocessed_data_serialize( - self, - project_id, - input_files, - ignore_formulas, - allow_ms1_only, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ignore_formulas is not None: - - _query_params.append(('ignoreFormulas', ignore_formulas)) - - if allow_ms1_only is not None: - - _query_params.append(('allowMs1Only', allow_ms1_only)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/preprocessed-data-files', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_preprocessed_data_serialize( + self, + project_id, + input_files, + ignore_formulas, + allow_ms1_only, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ignore_formulas is not None: + + _query_params.append(('ignoreFormulas', ignore_formulas)) + + if allow_ms1_only is not None: + + _query_params.append(('allowMs1Only', allow_ms1_only)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/preprocessed-data-files', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_preprocessed_data_as_job( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2895,7 +2942,7 @@ def import_preprocessed_data_as_job( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """Import ms/ms data from the given format into the specified project-space as background job. Import ms/ms data from the given format into the specified project-space as background job. Possible formats (ms, mgf, cef, msp) @@ -2946,19 +2993,19 @@ def import_preprocessed_data_as_job( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_preprocessed_data_as_job_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -2978,7 +3025,7 @@ def import_preprocessed_data_as_job_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """Import ms/ms data from the given format into the specified project-space as background job. Import ms/ms data from the given format into the specified project-space as background job. Possible formats (ms, mgf, cef, msp) @@ -3029,19 +3076,19 @@ def import_preprocessed_data_as_job_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_preprocessed_data_as_job_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to import into.")], @@ -3061,7 +3108,7 @@ def import_preprocessed_data_as_job_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Import ms/ms data from the given format into the specified project-space as background job. Import ms/ms data from the given format into the specified project-space as background job. Possible formats (ms, mgf, cef, msp) @@ -3112,108 +3159,111 @@ def import_preprocessed_data_as_job_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_preprocessed_data_as_job_serialize( - self, - project_id, - input_files, - ignore_formulas, - allow_ms1_only, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'csv', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if ignore_formulas is not None: - - _query_params.append(('ignoreFormulas', ignore_formulas)) - - if allow_ms1_only is not None: - - _query_params.append(('allowMs1Only', allow_ms1_only)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/import/preprocessed-data-files-job', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_preprocessed_data_as_job_serialize( + self, + project_id, + input_files, + ignore_formulas, + allow_ms1_only, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'csv', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if ignore_formulas is not None: + + _query_params.append(('ignoreFormulas', ignore_formulas)) + + if allow_ms1_only is not None: + + _query_params.append(('allowMs1Only', allow_ms1_only)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/import/preprocessed-data-files-job', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def open_project( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], @@ -3231,7 +3281,7 @@ def open_project( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ProjectInfo: + ) -> ProjectInfo: """Open an existing project-space and make it accessible via the given projectId. Open an existing project-space and make it accessible via the given projectId. @@ -3276,19 +3326,19 @@ def open_project( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def open_project_with_http_info( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], @@ -3306,7 +3356,7 @@ def open_project_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ProjectInfo]: + ) -> ApiResponse[ProjectInfo]: """Open an existing project-space and make it accessible via the given projectId. Open an existing project-space and make it accessible via the given projectId. @@ -3351,19 +3401,19 @@ def open_project_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def open_project_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-].")], @@ -3381,7 +3431,7 @@ def open_project_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Open an existing project-space and make it accessible via the given projectId. Open an existing project-space and make it accessible via the given projectId. @@ -3426,80 +3476,83 @@ def open_project_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "ProjectInfo", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _open_project_serialize( - self, - project_id, - path_to_project, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if path_to_project is not None: - - _query_params.append(('pathToProject', path_to_project)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _open_project_serialize( + self, + project_id, + path_to_project, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if path_to_project is not None: + + _query_params.append(('pathToProject', path_to_project)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/runs_api.py b/client-api_python/generated/PySirius/api/runs_api.py index 14452864..a0cadfba 100644 --- a/client-api_python/generated/PySirius/api/runs_api.py +++ b/client-api_python/generated/PySirius/api/runs_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,42 +8,42 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import List, Optional -from typing_extensions import Annotated -from PySirius.models.job import Job -from PySirius.models.job_opt_field import JobOptField -from PySirius.models.paged_model_run import PagedModelRun -from PySirius.models.run import Run -from PySirius.models.run_opt_field import RunOptField -from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest -from PySirius.models.tag import Tag - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class RunsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from PySirius.models.job import Job +from PySirius.models.job_opt_field import JobOptField +from PySirius.models.paged_model_run import PagedModelRun +from PySirius.models.run import Run +from PySirius.models.run_opt_field import RunOptField +from PySirius.models.sample_type_fold_change_request import SampleTypeFoldChangeRequest +from PySirius.models.tag import Tag + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class RunsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_tags_to_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -61,7 +61,7 @@ def add_tags_to_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Add tags to a run in the project [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -106,19 +106,19 @@ def add_tags_to_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_tags_to_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -136,7 +136,7 @@ def add_tags_to_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Add tags to a run in the project [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -181,19 +181,19 @@ def add_tags_to_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_tags_to_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -211,7 +211,7 @@ def add_tags_to_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add tags to a run in the project [EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -256,95 +256,98 @@ def add_tags_to_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_tags_to_run_experimental_serialize( - self, - project_id, - run_id, - tag, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'Tag': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if run_id is not None: - _path_params['runId'] = run_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag is not None: - _body_params = tag - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/runs/tags/{runId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_tags_to_run_experimental_serialize( + self, + project_id, + run_id, + tag, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'Tag': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag is not None: + _body_params = tag + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/runs/tags/{runId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def compute_fold_change_for_blank_subtraction( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -362,7 +365,7 @@ def compute_fold_change_for_blank_subtraction( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Job: + ) -> Job: """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

@@ -407,19 +410,19 @@ def compute_fold_change_for_blank_subtraction( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def compute_fold_change_for_blank_subtraction_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -437,7 +440,7 @@ def compute_fold_change_for_blank_subtraction_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Job]: + ) -> ApiResponse[Job]: """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

@@ -482,19 +485,19 @@ def compute_fold_change_for_blank_subtraction_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def compute_fold_change_for_blank_subtraction_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to compute the fold change in.")], @@ -512,7 +515,7 @@ def compute_fold_change_for_blank_subtraction_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

@@ -557,97 +560,100 @@ def compute_fold_change_for_blank_subtraction_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Job", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _compute_fold_change_for_blank_subtraction_serialize( - self, - project_id, - sample_type_fold_change_request, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - if sample_type_fold_change_request is not None: - _body_params = sample_type_fold_change_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/runs/blanksubtract/compute', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _compute_fold_change_for_blank_subtraction_serialize( + self, + project_id, + sample_type_fold_change_request, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + if sample_type_fold_change_request is not None: + _body_params = sample_type_fold_change_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/runs/blanksubtract/compute', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -665,7 +671,7 @@ def get_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> Run: + ) -> Run: """[EXPERIMENTAL] Get run with the given identifier from the specified project-space [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -710,19 +716,19 @@ def get_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "Run", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -740,7 +746,7 @@ def get_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[Run]: + ) -> ApiResponse[Run]: """[EXPERIMENTAL] Get run with the given identifier from the specified project-space [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -785,19 +791,19 @@ def get_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "Run", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -815,7 +821,7 @@ def get_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get run with the given identifier from the specified project-space [EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -860,84 +866,87 @@ def get_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "Run", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_run_experimental_serialize( - self, - project_id, - run_id, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if run_id is not None: - _path_params['runId'] = run_id - # process the query parameters - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/{runId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_run_experimental_serialize( + self, + project_id, + run_id, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + # process the query parameters + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/{runId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_run_page_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -957,7 +966,7 @@ def get_run_page_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelRun: + ) -> PagedModelRun: """[EXPERIMENTAL] Get all available runs in the given project-space [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1008,19 +1017,19 @@ def get_run_page_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_run_page_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1040,7 +1049,7 @@ def get_run_page_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelRun]: + ) -> ApiResponse[PagedModelRun]: """[EXPERIMENTAL] Get all available runs in the given project-space [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1091,19 +1100,19 @@ def get_run_page_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_run_page_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1123,7 +1132,7 @@ def get_run_page_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all available runs in the given project-space [EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1174,97 +1183,100 @@ def get_run_page_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_run_page_experimental_serialize( - self, - project_id, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/page', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_run_page_experimental_serialize( + self, + project_id, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/page', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_runs_by_group_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1285,7 +1297,7 @@ def get_runs_by_group_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelRun: + ) -> PagedModelRun: """[EXPERIMENTAL] Get runs by tag group [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1339,19 +1351,19 @@ def get_runs_by_group_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_runs_by_group_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1372,7 +1384,7 @@ def get_runs_by_group_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelRun]: + ) -> ApiResponse[PagedModelRun]: """[EXPERIMENTAL] Get runs by tag group [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1426,19 +1438,19 @@ def get_runs_by_group_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_runs_by_group_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1459,7 +1471,7 @@ def get_runs_by_group_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get runs by tag group [EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1513,102 +1525,105 @@ def get_runs_by_group_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_runs_by_group_experimental_serialize( - self, - project_id, - group_name, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_name is not None: - - _query_params.append(('groupName', group_name)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/grouped', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_runs_by_group_experimental_serialize( + self, + project_id, + group_name, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_name is not None: + + _query_params.append(('groupName', group_name)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/grouped', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_runs_by_tag_experimental( self, project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], @@ -1629,7 +1644,7 @@ def get_runs_by_tag_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PagedModelRun: + ) -> PagedModelRun: """[EXPERIMENTAL] Get runs by tag [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1683,19 +1698,19 @@ def get_runs_by_tag_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_runs_by_tag_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], @@ -1716,7 +1731,7 @@ def get_runs_by_tag_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PagedModelRun]: + ) -> ApiResponse[PagedModelRun]: """[EXPERIMENTAL] Get runs by tag [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1770,19 +1785,19 @@ def get_runs_by_tag_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_runs_by_tag_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project space to get runs from.")], @@ -1803,7 +1818,7 @@ def get_runs_by_tag_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get runs by tag [EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1857,102 +1872,105 @@ def get_runs_by_tag_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "PagedModelRun", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_runs_by_tag_experimental_serialize( - self, - project_id, - filter, - page, - size, - sort, - opt_fields, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'sort': 'multi', - 'optFields': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if page is not None: - - _query_params.append(('page', page)) - - if size is not None: - - _query_params.append(('size', size)) - - if sort is not None: - - _query_params.append(('sort', sort)) - - if opt_fields is not None: - - _query_params.append(('optFields', opt_fields)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/tagged', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_runs_by_tag_experimental_serialize( + self, + project_id, + filter, + page, + size, + sort, + opt_fields, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'sort': 'multi', + 'optFields': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if page is not None: + + _query_params.append(('page', page)) + + if size is not None: + + _query_params.append(('size', size)) + + if sort is not None: + + _query_params.append(('sort', sort)) + + if opt_fields is not None: + + _query_params.append(('optFields', opt_fields)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/tagged', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags_for_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -1969,7 +1987,7 @@ def get_tags_for_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[Tag]: + ) -> List[Tag]: """[EXPERIMENTAL] Get all tags associated with this Run [EXPERIMENTAL] Get all tags associated with this Run @@ -2011,19 +2029,19 @@ def get_tags_for_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_for_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -2040,7 +2058,7 @@ def get_tags_for_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[Tag]]: + ) -> ApiResponse[List[Tag]]: """[EXPERIMENTAL] Get all tags associated with this Run [EXPERIMENTAL] Get all tags associated with this Run @@ -2082,19 +2100,19 @@ def get_tags_for_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_for_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to get from.")], @@ -2111,7 +2129,7 @@ def get_tags_for_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tags associated with this Run [EXPERIMENTAL] Get all tags associated with this Run @@ -2153,78 +2171,81 @@ def get_tags_for_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[Tag]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_for_run_experimental_serialize( - self, - project_id, - object_id, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if object_id is not None: - _path_params['objectId'] = object_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/runs/tags/{objectId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_for_run_experimental_serialize( + self, + project_id, + object_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if object_id is not None: + _path_params['objectId'] = object_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/runs/tags/{objectId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_tag_from_run_experimental( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2242,7 +2263,7 @@ def remove_tag_from_run_experimental( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2287,19 +2308,19 @@ def remove_tag_from_run_experimental( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_tag_from_run_experimental_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2317,7 +2338,7 @@ def remove_tag_from_run_experimental_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2362,19 +2383,19 @@ def remove_tag_from_run_experimental_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_tag_from_run_experimental_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -2392,7 +2413,7 @@ def remove_tag_from_run_experimental_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2437,69 +2458,71 @@ def remove_tag_from_run_experimental_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_tag_from_run_experimental_serialize( - self, - project_id, - run_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if run_id is not None: - _path_params['runId'] = run_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/runs/tags/{runId}/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_tag_from_run_experimental_serialize( + self, + project_id, + run_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if run_id is not None: + _path_params['runId'] = run_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/runs/tags/{runId}/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/searchable_databases_api.py b/client-api_python/generated/PySirius/api/searchable_databases_api.py index 7168f650..b50242ec 100644 --- a/client-api_python/generated/PySirius/api/searchable_databases_api.py +++ b/client-api_python/generated/PySirius/api/searchable_databases_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,38 +8,38 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator -from typing import List, Optional, Tuple, Union -from typing_extensions import Annotated -from PySirius.models.bio_transformer_parameters import BioTransformerParameters -from PySirius.models.searchable_database import SearchableDatabase -from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class SearchableDatabasesApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, field_validator +from typing import List, Optional, Tuple, Union +from typing_extensions import Annotated +from PySirius.models.bio_transformer_parameters import BioTransformerParameters +from PySirius.models.searchable_database import SearchableDatabase +from PySirius.models.searchable_database_parameters import SearchableDatabaseParameters + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class SearchableDatabasesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_databases( self, request_body: List[StrictStr], @@ -55,7 +55,7 @@ def add_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """(Deprecated) DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -94,19 +94,19 @@ def add_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_databases_with_http_info( self, request_body: List[StrictStr], @@ -122,7 +122,7 @@ def add_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """(Deprecated) DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -161,19 +161,19 @@ def add_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_databases_without_preload_content( self, request_body: List[StrictStr], @@ -189,7 +189,7 @@ def add_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """(Deprecated) DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -228,89 +228,92 @@ def add_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_databases_serialize( - self, - request_body, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/databases', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_databases_serialize( + self, + request_body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/databases', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def create_database( self, database_id: Annotated[str, Field(strict=True)], @@ -327,7 +330,7 @@ def create_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """create_database @@ -368,19 +371,19 @@ def create_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def create_database_with_http_info( self, database_id: Annotated[str, Field(strict=True)], @@ -397,7 +400,7 @@ def create_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """create_database @@ -438,19 +441,19 @@ def create_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def create_database_without_preload_content( self, database_id: Annotated[str, Field(strict=True)], @@ -467,7 +470,7 @@ def create_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """create_database @@ -508,91 +511,94 @@ def create_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _create_database_serialize( - self, - database_id, - searchable_database_parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if searchable_database_parameters is not None: - _body_params = searchable_database_parameters - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_database_serialize( + self, + database_id, + searchable_database_parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if searchable_database_parameters is not None: + _body_params = searchable_database_parameters + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_custom_databases( self, include_stats: Optional[StrictBool] = None, @@ -609,7 +615,7 @@ def get_custom_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """get_custom_databases @@ -650,19 +656,19 @@ def get_custom_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_custom_databases_with_http_info( self, include_stats: Optional[StrictBool] = None, @@ -679,7 +685,7 @@ def get_custom_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """get_custom_databases @@ -720,19 +726,19 @@ def get_custom_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_custom_databases_without_preload_content( self, include_stats: Optional[StrictBool] = None, @@ -749,7 +755,7 @@ def get_custom_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_custom_databases @@ -790,82 +796,85 @@ def get_custom_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_custom_databases_serialize( - self, - include_stats, - include_with_errors, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - if include_with_errors is not None: - - _query_params.append(('includeWithErrors', include_with_errors)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases/custom', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_custom_databases_serialize( + self, + include_stats, + include_with_errors, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + if include_with_errors is not None: + + _query_params.append(('includeWithErrors', include_with_errors)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases/custom', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_database( self, database_id: StrictStr, @@ -882,7 +891,7 @@ def get_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """get_database @@ -923,19 +932,19 @@ def get_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_database_with_http_info( self, database_id: StrictStr, @@ -952,7 +961,7 @@ def get_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """get_database @@ -993,19 +1002,19 @@ def get_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_database_without_preload_content( self, database_id: StrictStr, @@ -1022,7 +1031,7 @@ def get_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_database @@ -1063,80 +1072,83 @@ def get_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_database_serialize( - self, - database_id, - include_stats, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_database_serialize( + self, + database_id, + include_stats, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_databases( self, include_stats: Optional[StrictBool] = None, @@ -1153,7 +1165,7 @@ def get_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """get_databases @@ -1194,19 +1206,19 @@ def get_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_databases_with_http_info( self, include_stats: Optional[StrictBool] = None, @@ -1223,7 +1235,7 @@ def get_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """get_databases @@ -1264,19 +1276,19 @@ def get_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_databases_without_preload_content( self, include_stats: Optional[StrictBool] = None, @@ -1293,7 +1305,7 @@ def get_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_databases @@ -1334,82 +1346,85 @@ def get_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_databases_serialize( - self, - include_stats, - include_with_errors, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - if include_with_errors is not None: - - _query_params.append(('includeWithErrors', include_with_errors)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_databases_serialize( + self, + include_stats, + include_with_errors, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + if include_with_errors is not None: + + _query_params.append(('includeWithErrors', include_with_errors)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_included_databases( self, include_stats: Optional[StrictBool] = None, @@ -1425,7 +1440,7 @@ def get_included_databases( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[SearchableDatabase]: + ) -> List[SearchableDatabase]: """get_included_databases @@ -1463,19 +1478,19 @@ def get_included_databases( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_included_databases_with_http_info( self, include_stats: Optional[StrictBool] = None, @@ -1491,7 +1506,7 @@ def get_included_databases_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[SearchableDatabase]]: + ) -> ApiResponse[List[SearchableDatabase]]: """get_included_databases @@ -1529,19 +1544,19 @@ def get_included_databases_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_included_databases_without_preload_content( self, include_stats: Optional[StrictBool] = None, @@ -1557,7 +1572,7 @@ def get_included_databases_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """get_included_databases @@ -1595,77 +1610,80 @@ def get_included_databases_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[SearchableDatabase]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_included_databases_serialize( - self, - include_stats, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if include_stats is not None: - - _query_params.append(('includeStats', include_stats)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/databases/included', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_included_databases_serialize( + self, + include_stats, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if include_stats is not None: + + _query_params.append(('includeStats', include_stats)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/databases/included', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def import_into_database( self, database_id: Annotated[StrictStr, Field(description="database to import into")], @@ -1684,7 +1702,7 @@ def import_into_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """Start import of structure and spectra files into the specified database. Start import of structure and spectra files into the specified database. @@ -1732,19 +1750,19 @@ def import_into_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def import_into_database_with_http_info( self, database_id: Annotated[StrictStr, Field(description="database to import into")], @@ -1763,7 +1781,7 @@ def import_into_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """Start import of structure and spectra files into the specified database. Start import of structure and spectra files into the specified database. @@ -1811,19 +1829,19 @@ def import_into_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def import_into_database_without_preload_content( self, database_id: Annotated[StrictStr, Field(description="database to import into")], @@ -1842,7 +1860,7 @@ def import_into_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """Start import of structure and spectra files into the specified database. Start import of structure and spectra files into the specified database. @@ -1890,100 +1908,112 @@ def import_into_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _import_into_database_serialize( - self, - database_id, - input_files, - buffer_size, - bio_transformer_parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'inputFiles': 'multi', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - if buffer_size is not None: - - _query_params.append(('bufferSize', buffer_size)) - - # process the header parameters - # process the form parameters - if input_files is not None: - _files['inputFiles'] = input_files - if bio_transformer_parameters is not None: - _form_params.append(('bioTransformerParameters', bio_transformer_parameters)) - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/databases/{databaseId}/import/from-files', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _import_into_database_serialize( + self, + database_id, + input_files, + buffer_size, + bio_transformer_parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'inputFiles': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + if buffer_size is not None: + + _query_params.append(('bufferSize', buffer_size)) + + # process the header parameters + # process the form parameters + if input_files is not None: + _files['inputFiles'] = input_files + if bio_transformer_parameters is not None: + # JSON-encode model parameters for multipart/form-data + import json + if hasattr(bio_transformer_parameters, 'model_dump'): + params_dict = bio_transformer_parameters.model_dump(mode='json') + elif hasattr(bio_transformer_parameters, 'dict'): + params_dict = bio_transformer_parameters.dict() + else: + params_dict = bio_transformer_parameters + params_json = json.dumps(params_dict, default=str, separators=(',', ':')) + _form_params.append(('bioTransformerParameters', (None, params_json, 'application/json'))) + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'multipart/form-data' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/databases/{databaseId}/import/from-files', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def remove_database( self, database_id: StrictStr, @@ -2000,7 +2030,7 @@ def remove_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """remove_database @@ -2041,19 +2071,19 @@ def remove_database( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def remove_database_with_http_info( self, database_id: StrictStr, @@ -2070,7 +2100,7 @@ def remove_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """remove_database @@ -2111,19 +2141,19 @@ def remove_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def remove_database_without_preload_content( self, database_id: StrictStr, @@ -2140,7 +2170,7 @@ def remove_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """remove_database @@ -2181,74 +2211,76 @@ def remove_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _remove_database_serialize( - self, - database_id, - delete, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - if delete is not None: - - _query_params.append(('delete', delete)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_database_serialize( + self, + database_id, + delete, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + if delete is not None: + + _query_params.append(('delete', delete)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def update_database( self, database_id: StrictStr, @@ -2265,7 +2297,7 @@ def update_database( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SearchableDatabase: + ) -> SearchableDatabase: """update_database @@ -2306,19 +2338,19 @@ def update_database( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def update_database_with_http_info( self, database_id: StrictStr, @@ -2335,7 +2367,7 @@ def update_database_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SearchableDatabase]: + ) -> ApiResponse[SearchableDatabase]: """update_database @@ -2376,19 +2408,19 @@ def update_database_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def update_database_without_preload_content( self, database_id: StrictStr, @@ -2405,7 +2437,7 @@ def update_database_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """update_database @@ -2446,85 +2478,88 @@ def update_database_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "SearchableDatabase", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _update_database_serialize( - self, - database_id, - searchable_database_parameters, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if database_id is not None: - _path_params['databaseId'] = database_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if searchable_database_parameters is not None: - _body_params = searchable_database_parameters - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/databases/{databaseId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_database_serialize( + self, + database_id, + searchable_database_parameters, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if database_id is not None: + _path_params['databaseId'] = database_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if searchable_database_parameters is not None: + _body_params = searchable_database_parameters + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/databases/{databaseId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api/tags_api.py b/client-api_python/generated/PySirius/api/tags_api.py index 57148430..15a380d8 100644 --- a/client-api_python/generated/PySirius/api/tags_api.py +++ b/client-api_python/generated/PySirius/api/tags_api.py @@ -1,5 +1,5 @@ -# coding: utf-8 - +# coding: utf-8 + """ SIRIUS Nightsky API @@ -8,38 +8,38 @@ Do not edit the class manually. """ # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr -from typing import Any, Dict, List, Optional -from typing_extensions import Annotated -from PySirius.models.tag_definition import TagDefinition -from PySirius.models.tag_definition_import import TagDefinitionImport -from PySirius.models.tag_group import TagGroup - -from PySirius.api_client import ApiClient, RequestSerialized -from PySirius.api_response import ApiResponse -from PySirius.rest import RESTResponseType - - -class TagsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Any, Dict, List, Optional +from typing_extensions import Annotated +from PySirius.models.tag_definition import TagDefinition +from PySirius.models.tag_definition_import import TagDefinitionImport +from PySirius.models.tag_group import TagGroup + +from PySirius.api_client import ApiClient, RequestSerialized +from PySirius.api_response import ApiResponse +from PySirius.rest import RESTResponseType + + +class TagsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call def add_group( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -58,7 +58,7 @@ def add_group( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagGroup: + ) -> TagGroup: """[EXPERIMENTAL] Group tags in the project [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -106,19 +106,19 @@ def add_group( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_group_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -137,7 +137,7 @@ def add_group_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagGroup]: + ) -> ApiResponse[TagGroup]: """[EXPERIMENTAL] Group tags in the project [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -185,19 +185,19 @@ def add_group_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_group_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -216,7 +216,7 @@ def add_group_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Group tags in the project [EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -264,88 +264,91 @@ def add_group_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_group_serialize( - self, - project_id, - group_name, - filter, - type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if group_name is not None: - _path_params['groupName'] = group_name - # process the query parameters - if filter is not None: - - _query_params.append(('filter', filter)) - - if type is not None: - - _query_params.append(('type', type)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/api/projects/{projectId}/groups/{groupName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_group_serialize( + self, + project_id, + group_name, + filter, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + if filter is not None: + + _query_params.append(('filter', filter)) + + if type is not None: + + _query_params.append(('type', type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def add_possible_values_to_tag_definition( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -363,7 +366,7 @@ def add_possible_values_to_tag_definition( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagDefinition: + ) -> TagDefinition: """[EXPERIMENTAL] Add a possible value to the tag definition in the project [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -408,19 +411,19 @@ def add_possible_values_to_tag_definition( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def add_possible_values_to_tag_definition_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -438,7 +441,7 @@ def add_possible_values_to_tag_definition_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagDefinition]: + ) -> ApiResponse[TagDefinition]: """[EXPERIMENTAL] Add a possible value to the tag definition in the project [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -483,19 +486,19 @@ def add_possible_values_to_tag_definition_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def add_possible_values_to_tag_definition_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -513,7 +516,7 @@ def add_possible_values_to_tag_definition_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add a possible value to the tag definition in the project [EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -558,95 +561,98 @@ def add_possible_values_to_tag_definition_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _add_possible_values_to_tag_definition_serialize( - self, - project_id, - tag_name, - request_body, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'request_body': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if request_body is not None: - _body_params = request_body - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PATCH', - resource_path='/api/projects/{projectId}/tags/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_possible_values_to_tag_definition_serialize( + self, + project_id, + tag_name, + request_body, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'request_body': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if request_body is not None: + _body_params = request_body + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PATCH', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def create_tags( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -663,7 +669,7 @@ def create_tags( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[TagDefinition]: + ) -> List[TagDefinition]: """[EXPERIMENTAL] Add tags to the project [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -705,19 +711,19 @@ def create_tags( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def create_tags_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -734,7 +740,7 @@ def create_tags_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[TagDefinition]]: + ) -> ApiResponse[List[TagDefinition]]: """[EXPERIMENTAL] Add tags to the project [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -776,19 +782,19 @@ def create_tags_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def create_tags_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to add to.")], @@ -805,7 +811,7 @@ def create_tags_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Add tags to the project [EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -847,92 +853,95 @@ def create_tags_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _create_tags_serialize( - self, - project_id, - tag_definition_import, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'TagDefinitionImport': '', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if tag_definition_import is not None: - _body_params = tag_definition_import - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/api/projects/{projectId}/tags', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_tags_serialize( + self, + project_id, + tag_definition_import, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'TagDefinitionImport': '', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag_definition_import is not None: + _body_params = tag_definition_import + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/projects/{projectId}/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_group( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -949,7 +958,7 @@ def delete_group( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -991,19 +1000,19 @@ def delete_group( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_group_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1020,7 +1029,7 @@ def delete_group_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1062,19 +1071,19 @@ def delete_group_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_group_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1091,7 +1100,7 @@ def delete_group_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1133,72 +1142,74 @@ def delete_group_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_group_serialize( - self, - project_id, - group_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if group_name is not None: - _path_params['groupName'] = group_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/groups/{groupName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_group_serialize( + self, + project_id, + group_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def delete_tag( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1215,7 +1226,7 @@ def delete_tag( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: + ) -> None: """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1257,19 +1268,19 @@ def delete_tag( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def delete_tag_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1286,7 +1297,7 @@ def delete_tag_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: + ) -> ApiResponse[None]: """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1328,19 +1339,19 @@ def delete_tag_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def delete_tag_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to delete from.")], @@ -1357,7 +1368,7 @@ def delete_tag_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1399,72 +1410,74 @@ def delete_tag_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _delete_tag_serialize( - self, - project_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/api/projects/{projectId}/tags/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_tag_serialize( + self, + project_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_group_by_name( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1481,7 +1494,7 @@ def get_group_by_name( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagGroup: + ) -> TagGroup: """[EXPERIMENTAL] Get tag group by name in the given project-space [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1523,19 +1536,19 @@ def get_group_by_name( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_group_by_name_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1552,7 +1565,7 @@ def get_group_by_name_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagGroup]: + ) -> ApiResponse[TagGroup]: """[EXPERIMENTAL] Get tag group by name in the given project-space [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1594,19 +1607,19 @@ def get_group_by_name_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_group_by_name_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1623,7 +1636,7 @@ def get_group_by_name_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get tag group by name in the given project-space [EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1665,78 +1678,81 @@ def get_group_by_name_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagGroup", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_group_by_name_serialize( - self, - project_id, - group_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if group_name is not None: - _path_params['groupName'] = group_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/groups/{groupName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_group_by_name_serialize( + self, + project_id, + group_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if group_name is not None: + _path_params['groupName'] = group_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/groups/{groupName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_groups( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1753,7 +1769,7 @@ def get_groups( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[TagGroup]: + ) -> List[TagGroup]: """[EXPERIMENTAL] Get all tag based groups in the given project-space [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1795,19 +1811,19 @@ def get_groups( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagGroup]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_groups_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1824,7 +1840,7 @@ def get_groups_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[TagGroup]]: + ) -> ApiResponse[List[TagGroup]]: """[EXPERIMENTAL] Get all tag based groups in the given project-space [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1866,19 +1882,19 @@ def get_groups_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagGroup]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_groups_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -1895,7 +1911,7 @@ def get_groups_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tag based groups in the given project-space [EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -1937,80 +1953,83 @@ def get_groups_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagGroup]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_groups_serialize( - self, - project_id, - group_type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if group_type is not None: - - _query_params.append(('groupType', group_type)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/groups', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_groups_serialize( + self, + project_id, + group_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if group_type is not None: + + _query_params.append(('groupType', group_type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/groups', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tag( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2027,7 +2046,7 @@ def get_tag( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TagDefinition: + ) -> TagDefinition: """[EXPERIMENTAL] Get tag definition by its name in the given project-space [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2069,19 +2088,19 @@ def get_tag( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tag_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2098,7 +2117,7 @@ def get_tag_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TagDefinition]: + ) -> ApiResponse[TagDefinition]: """[EXPERIMENTAL] Get tag definition by its name in the given project-space [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2140,19 +2159,19 @@ def get_tag_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tag_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2169,7 +2188,7 @@ def get_tag_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get tag definition by its name in the given project-space [EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2211,78 +2230,81 @@ def get_tag_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "TagDefinition", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tag_serialize( - self, - project_id, - tag_name, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - if tag_name is not None: - _path_params['tagName'] = tag_name - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/tags/{tagName}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tag_serialize( + self, + project_id, + tag_name, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + if tag_name is not None: + _path_params['tagName'] = tag_name + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/tags/{tagName}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call def get_tags( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2299,7 +2321,7 @@ def get_tags( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[TagDefinition]: + ) -> List[TagDefinition]: """[EXPERIMENTAL] Get all tag definitions in the given project-space [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2341,19 +2363,19 @@ def get_tags( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call def get_tags_with_http_info( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2370,7 +2392,7 @@ def get_tags_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[TagDefinition]]: + ) -> ApiResponse[List[TagDefinition]]: """[EXPERIMENTAL] Get all tag definitions in the given project-space [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2412,19 +2434,19 @@ def get_tags_with_http_info( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call def get_tags_without_preload_content( self, project_id: Annotated[StrictStr, Field(description="project-space to read from.")], @@ -2441,7 +2463,7 @@ def get_tags_without_preload_content( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: + ) -> RESTResponseType: """[EXPERIMENTAL] Get all tag definitions in the given project-space [EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. @@ -2483,74 +2505,77 @@ def get_tags_without_preload_content( _response_types_map: Dict[str, Optional[str]] = { '200': "List[TagDefinition]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_tags_serialize( - self, - project_id, - tag_type, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if project_id is not None: - _path_params['projectId'] = project_id - # process the query parameters - if tag_type is not None: - - _query_params.append(('tagType', tag_type)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/api/projects/{projectId}/tags', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_serialize( + self, + project_id, + tag_type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if project_id is not None: + _path_params['projectId'] = project_id + # process the query parameters + if tag_type is not None: + + _query_params.append(('tagType', tag_type)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/projects/{projectId}/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/client-api_python/generated/PySirius/api_client.py b/client-api_python/generated/PySirius/api_client.py index 204b0558..d29d6c97 100644 --- a/client-api_python/generated/PySirius/api_client.py +++ b/client-api_python/generated/PySirius/api_client.py @@ -13,14 +13,16 @@ import datetime from dateutil.parser import parse from enum import Enum +import decimal import json import mimetypes import os import re import tempfile +import uuid from urllib.parse import quote -from typing import Tuple, Optional, List, Dict +from typing import Tuple, Optional, List, Dict, Union from pydantic import SecretStr from PySirius.configuration import Configuration @@ -64,6 +66,7 @@ class ApiClient: 'bool': bool, 'date': datetime.date, 'datetime': datetime.datetime, + 'decimal': decimal.Decimal, 'object': object, } _pool = None @@ -206,7 +209,8 @@ def param_serialize( post_params, collection_formats ) - post_params.extend(self.files_parameters(files)) + if files: + post_params.extend(self.files_parameters(files)) # auth setting self.update_params_for_auth( @@ -224,7 +228,7 @@ def param_serialize( body = self.sanitize_for_serialization(body) # request url - if _host is None: + if _host is None or self.configuration.ignore_operation_servers: url = self.configuration.host + resource_path else: # use server/host defined in path or operation instead @@ -311,10 +315,7 @@ def response_deserialize( match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) encoding = match.group(1) if match else "utf-8" response_text = response_data.data.decode(encoding) - if response_type in ["bytearray", "str"]: - return_data = self.__deserialize_primitive(response_text, response_type) - else: - return_data = self.deserialize(response_text, response_type) + return_data = self.deserialize(response_text, response_type, content_type) finally: if not 200 <= response_data.status <= 299: raise ApiException.from_response( @@ -338,6 +339,7 @@ def sanitize_for_serialization(self, obj): If obj is str, int, long, float, bool, return directly. If obj is datetime.datetime, datetime.date convert to string in iso8601 format. + If obj is decimal.Decimal return string representation. If obj is list, sanitize each element in the list. If obj is dict, return the dict. If obj is OpenAPI model, return the properties dict. @@ -353,6 +355,8 @@ def sanitize_for_serialization(self, obj): return obj.get_secret_value() elif isinstance(obj, self.PRIMITIVE_TYPES): return obj + elif isinstance(obj, uuid.UUID): + return str(obj) elif isinstance(obj, list): return [ self.sanitize_for_serialization(sub_obj) for sub_obj in obj @@ -363,6 +367,8 @@ def sanitize_for_serialization(self, obj): ) elif isinstance(obj, (datetime.datetime, datetime.date)): return obj.isoformat() + elif isinstance(obj, decimal.Decimal): + return str(obj) elif isinstance(obj, dict): obj_dict = obj @@ -377,26 +383,44 @@ def sanitize_for_serialization(self, obj): else: obj_dict = obj.__dict__ + if isinstance(obj_dict, list): + # here we handle instances that can either be a list or something else, and only became a real list by calling to_dict() + return self.sanitize_for_serialization(obj_dict) + return { key: self.sanitize_for_serialization(val) for key, val in obj_dict.items() } - def deserialize(self, response_text, response_type): + def deserialize(self, response_text: str, response_type: str, content_type: Optional[str]): """Deserializes response into an object. :param response: RESTResponse object to be deserialized. :param response_type: class literal for deserialized object, or string of class name. + :param content_type: content type of response. :return: deserialized object. """ # fetch data from response object - try: - data = json.loads(response_text) - except ValueError: + if content_type is None: + try: + data = json.loads(response_text) + except ValueError: + data = response_text + elif re.match(r'^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE): + if response_text == "": + data = "" + else: + data = json.loads(response_text) + elif re.match(r'^text\/[a-z.+-]+\s*(;|$)', content_type, re.IGNORECASE): data = response_text + else: + raise ApiException( + status=0, + reason="Unsupported content type: {0}".format(content_type) + ) return self.__deserialize(data, response_type) @@ -434,12 +458,14 @@ def __deserialize(self, data, klass): if klass in self.PRIMITIVE_TYPES: return self.__deserialize_primitive(data, klass) - elif klass == object: + elif klass is object: return self.__deserialize_object(data) - elif klass == datetime.date: + elif klass is datetime.date: return self.__deserialize_date(data) - elif klass == datetime.datetime: + elif klass is datetime.datetime: return self.__deserialize_datetime(data) + elif klass is decimal.Decimal: + return decimal.Decimal(data) elif issubclass(klass, Enum): return self.__deserialize_enum(data, klass) else: @@ -496,7 +522,7 @@ def parameters_to_url_query(self, params, collection_formats): if k in collection_formats: collection_format = collection_formats[k] if collection_format == 'multi': - new_params.extend((k, str(value)) for value in v) + new_params.extend((k, quote(str(value))) for value in v) else: if collection_format == 'ssv': delimiter = ' ' @@ -514,31 +540,39 @@ def parameters_to_url_query(self, params, collection_formats): return "&".join(["=".join(map(str, item)) for item in new_params]) - def files_parameters(self, files=None): + def files_parameters( + self, + files: Dict[str, Union[str, bytes, List[str], List[bytes], Tuple[str, bytes]]], + ): """Builds form parameters. :param files: File parameters. :return: Form parameters with files. """ params = [] - - if files: - for k, v in files.items(): - if not v: - continue - file_names = v if type(v) is list else [v] - for n in file_names: - with open(n, 'rb') as f: - filename = os.path.basename(f.name) - filedata = f.read() - mimetype = ( - mimetypes.guess_type(filename)[0] - or 'application/octet-stream' - ) - params.append( - tuple([k, tuple([filename, filedata, mimetype])]) - ) - + for k, v in files.items(): + if isinstance(v, str): + with open(v, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + elif isinstance(v, bytes): + filename = k + filedata = v + elif isinstance(v, tuple): + filename, filedata = v + elif isinstance(v, list): + for file_param in v: + params.extend(self.files_parameters({k: file_param})) + continue + else: + raise ValueError("Unsupported file value") + mimetype = ( + mimetypes.guess_type(filename)[0] + or 'application/octet-stream' + ) + params.append( + tuple([k, tuple([filename, filedata, mimetype])]) + ) return params def select_header_accept(self, accepts: List[str]) -> Optional[str]: @@ -765,4 +799,4 @@ def __deserialize_model(self, data, klass): :return: model object. """ - return klass.from_dict(data) \ No newline at end of file + return klass.from_dict(data) diff --git a/client-api_python/generated/PySirius/configuration.py b/client-api_python/generated/PySirius/configuration.py index 1aee5196..76401975 100644 --- a/client-api_python/generated/PySirius/configuration.py +++ b/client-api_python/generated/PySirius/configuration.py @@ -16,7 +16,7 @@ from logging import FileHandler import multiprocessing import sys -from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict +from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union from typing_extensions import NotRequired, Self import urllib3 @@ -158,6 +158,8 @@ class Configuration: :param ssl_ca_cert: str - the path to a file of concatenated CA certificates in PEM format. :param retries: Number of retries for API requests. + :param ca_cert_data: verify the peer using concatenated CA certificate data + in PEM (str) or DER (bytes) format. """ @@ -171,13 +173,14 @@ def __init__( username: Optional[str]=None, password: Optional[str]=None, access_token: Optional[str]=None, - server_index: Optional[int]=None, + server_index: Optional[int]=None, server_variables: Optional[ServerVariablesT]=None, server_operation_index: Optional[Dict[int, int]]=None, server_operation_variables: Optional[Dict[int, ServerVariablesT]]=None, ignore_operation_servers: bool=False, ssl_ca_cert: Optional[str]=None, retries: Optional[int] = None, + ca_cert_data: Optional[Union[str, bytes]] = None, *, debug: Optional[bool] = None, ) -> None: @@ -255,6 +258,10 @@ def __init__( self.ssl_ca_cert = ssl_ca_cert """Set this to customize the certificate file to verify the peer. """ + self.ca_cert_data = ca_cert_data + """Set this to verify the peer using PEM (str) or DER (bytes) + certificate data. + """ self.cert_file = None """client certificate file """ diff --git a/client-api_python/generated/PySirius/exceptions.py b/client-api_python/generated/PySirius/exceptions.py index f10072c0..52365d0d 100644 --- a/client-api_python/generated/PySirius/exceptions.py +++ b/client-api_python/generated/PySirius/exceptions.py @@ -148,6 +148,13 @@ def from_response( if http_resp.status == 404: raise NotFoundException(http_resp=http_resp, body=body, data=data) + # Added new conditions for 409 and 422 + if http_resp.status == 409: + raise ConflictException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 422: + raise UnprocessableEntityException(http_resp=http_resp, body=body, data=data) + if 500 <= http_resp.status <= 599: raise ServiceException(http_resp=http_resp, body=body, data=data) raise ApiException(http_resp=http_resp, body=body, data=data) @@ -186,6 +193,16 @@ class ServiceException(ApiException): pass +class ConflictException(ApiException): + """Exception for HTTP 409 Conflict.""" + pass + + +class UnprocessableEntityException(ApiException): + """Exception for HTTP 422 Unprocessable Entity.""" + pass + + def render_path(path_to_item): """Returns a string representation of a path""" result = "" diff --git a/client-api_python/generated/PySirius/models/__init__.py b/client-api_python/generated/PySirius/models/__init__.py index f128526f..95f83ff1 100644 --- a/client-api_python/generated/PySirius/models/__init__.py +++ b/client-api_python/generated/PySirius/models/__init__.py @@ -10,7 +10,6 @@ Do not edit the class manually. """ # noqa: E501 - # import models into model package from PySirius.models.account_credentials import AccountCredentials from PySirius.models.account_info import AccountInfo @@ -151,3 +150,4 @@ from PySirius.models.zodiac_edge_filter_thresholds import ZodiacEdgeFilterThresholds from PySirius.models.zodiac_epochs import ZodiacEpochs from PySirius.models.zodiac_library_scoring import ZodiacLibraryScoring + diff --git a/client-api_python/generated/PySirius/models/formula_candidate.py b/client-api_python/generated/PySirius/models/formula_candidate.py index 47d8c28d..7b05010e 100644 --- a/client-api_python/generated/PySirius/models/formula_candidate.py +++ b/client-api_python/generated/PySirius/models/formula_candidate.py @@ -153,6 +153,11 @@ def to_dict(self) -> Dict[str, Any]: if self.total_explained_intensity is None and "total_explained_intensity" in self.model_fields_set: _dict['totalExplainedIntensity'] = None + # set to None if median_mass_deviation (nullable) is None + # and model_fields_set contains the field + if self.median_mass_deviation is None and "median_mass_deviation" in self.model_fields_set: + _dict['medianMassDeviation'] = None + # set to None if fragmentation_tree (nullable) is None # and model_fields_set contains the field if self.fragmentation_tree is None and "fragmentation_tree" in self.model_fields_set: diff --git a/client-api_python/generated/PySirius/models/lcms_submission_parameters.py b/client-api_python/generated/PySirius/models/lcms_submission_parameters.py index e174b299..ccb250ff 100644 --- a/client-api_python/generated/PySirius/models/lcms_submission_parameters.py +++ b/client-api_python/generated/PySirius/models/lcms_submission_parameters.py @@ -78,6 +78,16 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of align_max_mass_deviation if self.align_max_mass_deviation: _dict['alignMaxMassDeviation'] = self.align_max_mass_deviation.to_dict() + # set to None if trace_max_mass_deviation (nullable) is None + # and model_fields_set contains the field + if self.trace_max_mass_deviation is None and "trace_max_mass_deviation" in self.model_fields_set: + _dict['traceMaxMassDeviation'] = None + + # set to None if align_max_mass_deviation (nullable) is None + # and model_fields_set contains the field + if self.align_max_mass_deviation is None and "align_max_mass_deviation" in self.model_fields_set: + _dict['alignMaxMassDeviation'] = None + return _dict @classmethod diff --git a/client-api_python/generated/PySirius/rest.py b/client-api_python/generated/PySirius/rest.py index 49b2c7e5..b0e9ff65 100644 --- a/client-api_python/generated/PySirius/rest.py +++ b/client-api_python/generated/PySirius/rest.py @@ -74,6 +74,7 @@ def __init__(self, configuration) -> None: "ca_certs": configuration.ssl_ca_cert, "cert_file": configuration.cert_file, "key_file": configuration.key_file, + "ca_cert_data": configuration.ca_cert_data, } if configuration.assert_hostname is not None: pool_args['assert_hostname'] = ( diff --git a/client-api_python/generated/README.md b/client-api_python/generated/README.md index 731fb7c7..1568f057 100644 --- a/client-api_python/generated/README.md +++ b/client-api_python/generated/README.md @@ -5,12 +5,12 @@ This Python package is automatically generated by the [OpenAPI Generator](https: - API version: 3.1 - Package version: 6.3.3 -- Generator version: 7.10.0 +- Generator version: 7.16.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen ## Requirements. -Python 3.8+ +Python 3.9+ ## Installation & Usage ### pip install diff --git a/client-api_python/generated/docs/CompoundStatisticsApi.md b/client-api_python/generated/docs/CompoundStatisticsApi.md index a17a3793..8532566b 100644 --- a/client-api_python/generated/docs/CompoundStatisticsApi.md +++ b/client-api_python/generated/docs/CompoundStatisticsApi.md @@ -15,7 +15,11 @@ Method | HTTP request | Description [EXPERIMENTAL] Compute the fold change between two groups of runs -[EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Compute the fold change between two groups of runs. +

+ The runs need to be tagged and grouped. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -96,7 +100,9 @@ No authorization required [EXPERIMENTAL] Delete fold changes -[EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Delete fold changes. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -171,7 +177,9 @@ No authorization required [EXPERIMENTAL] Get table of all fold changes in the project space -[EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get table of all fold changes in the project space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -245,7 +253,9 @@ No authorization required [EXPERIMENTAL] List all fold changes that are associated with an object -[EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] List all fold changes that are associated with an object. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example diff --git a/client-api_python/generated/docs/CompoundsApi.md b/client-api_python/generated/docs/CompoundsApi.md index 139b73f1..29f799a7 100644 --- a/client-api_python/generated/docs/CompoundsApi.md +++ b/client-api_python/generated/docs/CompoundsApi.md @@ -24,7 +24,8 @@ Method | HTTP request | Description Import Compounds and its contained features. -Import Compounds and its contained features. Compounds and Features must not exist in the project. Otherwise, they will exist twice. +Import Compounds and its contained features. Compounds and Features must not exist in the project. + Otherwise, they will exist twice. ### Example @@ -104,7 +105,9 @@ No authorization required [EXPERIMENTAL] Tags with the same name will be overwritten -[EXPERIMENTAL] Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Tags with the same name will be overwritten. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -176,7 +179,8 @@ No authorization required Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. -Delete compound (group of ion identities) with the given identifier (and the included features) from the specified project-space. +Delete compound (group of ion identities) with the given identifier (and the included features) from the + specified project-space. ### Example @@ -321,7 +325,12 @@ No authorization required [EXPERIMENTAL] Returns the full quantification table of compounds -[EXPERIMENTAL] Returns the full quantification table of compounds.

The quantification table contains a quantification of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* +[EXPERIMENTAL] Returns the full quantification table of compounds. +

+ The quantification table contains a quantification of the features within all + runs they are contained in. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* ### Example @@ -392,7 +401,12 @@ No authorization required [EXPERIMENTAL] Returns a single quantification table row for the given compound -[EXPERIMENTAL] Returns a single quantification table row for the given compound.

The quantification table contains a quantification of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* +[EXPERIMENTAL] Returns a single quantification table row for the given compound. +

+ The quantification table contains a quantification of the feature within all + samples it is contained in. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* ### Example @@ -465,7 +479,15 @@ No authorization required [EXPERIMENTAL] Returns the traces of the given compound -[EXPERIMENTAL] Returns the traces of the given compound.

A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* +[EXPERIMENTAL] Returns the traces of the given compound. +

+ A trace consists of m/z and intensity values over the retention + time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, + but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. + However, this also means that all traces can be directly compared against each other, as they all lie in the same + retention time axis. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.* ### Example @@ -613,7 +635,9 @@ No authorization required [EXPERIMENTAL] Get compounds (group of ion identities) by tag group -[EXPERIMENTAL] Get compounds (group of ion identities) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get compounds (group of ion identities) by tag group. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -692,7 +716,38 @@ No authorization required [EXPERIMENTAL] Get compounds (group of ion identities) by tag -[EXPERIMENTAL] Get compounds (group of ion identities) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get compounds (group of ion identities) by tag. + +

Supported filter syntax

+ +

The filter string must contain one or more clauses. A clause is prefíxed + by a field name. +

+ + Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). + Tag name based field need to be prefixed with the namespace tags.. + Possible value types of tags are bool, integer, real, text, date, or time - tag value + +

The format of the date type is yyyy-MM-dd and of the time type is HH\:mm\:ss.

+ +

A clause may be:

+
    +
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • +
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • +
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • +
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • +
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • +
+ +

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

+ +

Example

+ +

The syntax allows to build complex filter queries such as:

+ +

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\:00\:00 OR tags.time:[12\:00\:00 TO 14\:00\:00] OR tags.time<10\:00\:00

+ + [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -923,7 +978,9 @@ No authorization required [EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space -[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Delete tag with the given name from the compound (group of ion identities) with the specified ID in the specified project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example diff --git a/client-api_python/generated/docs/FeatureStatisticsApi.md b/client-api_python/generated/docs/FeatureStatisticsApi.md index 3e937ef4..53d15570 100644 --- a/client-api_python/generated/docs/FeatureStatisticsApi.md +++ b/client-api_python/generated/docs/FeatureStatisticsApi.md @@ -15,7 +15,11 @@ Method | HTTP request | Description [EXPERIMENTAL] Compute the fold change between two groups of runs -[EXPERIMENTAL] Compute the fold change between two groups of runs.

The runs need to be tagged and grouped.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Compute the fold change between two groups of runs. +

+ The runs need to be tagged and grouped. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -96,7 +100,9 @@ No authorization required [EXPERIMENTAL] Delete fold changes -[EXPERIMENTAL] Delete fold changes.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Delete fold changes. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -171,7 +177,9 @@ No authorization required [EXPERIMENTAL] Get table of all fold changes in the project space -[EXPERIMENTAL] Get table of all fold changes in the project space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get table of all fold changes in the project space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -245,7 +253,9 @@ No authorization required [EXPERIMENTAL] List all fold changes that are associated with an object -[EXPERIMENTAL] List all fold changes that are associated with an object.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] List all fold changes that are associated with an object. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example diff --git a/client-api_python/generated/docs/FeaturesApi.md b/client-api_python/generated/docs/FeaturesApi.md index 0d807d8d..a58240a6 100644 --- a/client-api_python/generated/docs/FeaturesApi.md +++ b/client-api_python/generated/docs/FeaturesApi.md @@ -55,7 +55,8 @@ Method | HTTP request | Description Import (aligned) features into the project. -Import (aligned) features into the project. Features must not exist in the project. Otherwise, they will exist twice. +Import (aligned) features into the project. Features must not exist in the project. + Otherwise, they will exist twice. ### Example @@ -204,7 +205,9 @@ No authorization required [EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project -[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Add tags to a feature (aligned over runs) in the project. Tags with the same name will be overwritten. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -410,7 +413,9 @@ No authorization required [EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network -[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Returns the adduct network for a given alignedFeatureId together with all merged traces contained in the network. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -555,7 +560,11 @@ No authorization required [EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) -[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId)

Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Returns data quality information for given feature (alignedFeatureId) +

+ Get data quality information for feature (aligned over runs) with the given identifier from the specified project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -698,7 +707,9 @@ No authorization required [EXPERIMENTAL] Get features (aligned over runs) by tag group -[EXPERIMENTAL] Get features (aligned over runs) by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get features (aligned over runs) by tag group. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -777,7 +788,38 @@ No authorization required [EXPERIMENTAL] Get features (aligned over runs) by tag -[EXPERIMENTAL] Get features (aligned over runs) by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get features (aligned over runs) by tag. + +

Supported filter syntax

+ +

The filter string must contain one or more clauses. A clause is prefíxed + by a field name. +

+

+ Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). + Tag name based field need to be prefixed with the namespace tags.. + Possible value types of tags are bool, integer, real, text, date, or time - tag value + +

The format of the date type is yyyy-MM-dd and of the time type is HH\:mm\:ss.

+ +

A clause may be:

+
    +
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • +
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • +
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • +
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • +
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • +
+ +

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

+ +

Example

+ +

The syntax allows to build complex filter queries such as:

+ +

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\:00\:00 OR tags.time:[12\:00\:00 TO 14\:00\:00] OR tags.time<10\:00\:00

+

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -935,7 +977,9 @@ No authorization required Return Best matching compound classes for given formulaId -Return Best matching compound classes for given formulaId.

Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, +Return Best matching compound classes for given formulaId. +

+ Set of the highest scoring compound classes (CANOPUS) on each hierarchy level of the ClassyFire and NPC ontology, ### Example @@ -1079,7 +1123,8 @@ No authorization required List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint. ### Example @@ -1152,7 +1197,8 @@ No authorization required List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +List of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint. ### Example @@ -1227,7 +1273,8 @@ No authorization required Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'formulaId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint. ### Example @@ -1308,7 +1355,8 @@ No authorization required Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. -Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint. +Page of de novo structure candidates (e.g. generated by MsNovelist) ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint. ### Example @@ -1387,7 +1435,12 @@ No authorization required [EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId) -[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId).

Returns the full quantification table. The quantification table contains a quantities of the features within all runs they are contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Returns the full quantification table for the given feature (alignedFeatureId). +

+ Returns the full quantification table. The quantification table contains a quantities of the features within all + runs they are contained in. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -1458,7 +1511,9 @@ No authorization required Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) -Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId)

This fingerprint is used to perform structure database search and predict compound classes. +Returns predicted fingerprint (CSI:FingerID) for the given formula result identifier (formulaId) +

+ This fingerprint is used to perform structure database search and predict compound classes. ### Example @@ -1529,7 +1584,11 @@ No authorization required Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId -Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId.

Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses for the given formula result identifier These annotations are only available if a fragmentation tree and the structure candidate are available. +Returns MS/MS Spectrum annotated with fragments and losses for provided formulaId. +

+ Returns MS/MS Spectrum (Merged MS/MS and measured MS/MS) which is annotated with fragments and losses + for the given formula result identifier + These annotations are only available if a fragmentation tree and the structure candidate are available. ### Example @@ -1603,7 +1662,9 @@ No authorization required Returns a fragmentation spectrum (e -Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier

These annotations are only available if a fragmentation tree is available. +Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the given formula result identifier +

+ These annotations are only available if a fragmentation tree is available. ### Example @@ -1679,7 +1740,8 @@ No authorization required FormulaResultContainers for the given 'formulaId' with minimal information. -FormulaResultContainers for the given 'formulaId' with minimal information. Can be enriched with an optional results overview and formula candidate information. +FormulaResultContainers for the given 'formulaId' with minimal information. + Can be enriched with an optional results overview and formula candidate information. ### Example @@ -1756,7 +1818,8 @@ No authorization required List of FormulaResultContainers available for this feature with minimal information. -List of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. +List of FormulaResultContainers available for this feature with minimal information. + Can be enriched with an optional results overview. ### Example @@ -1831,7 +1894,8 @@ No authorization required Page of FormulaResultContainers available for this feature with minimal information. -Page of FormulaResultContainers available for this feature with minimal information. Can be enriched with an optional results overview. +Page of FormulaResultContainers available for this feature with minimal information. + Can be enriched with an optional results overview. ### Example @@ -1912,7 +1976,9 @@ No authorization required Returns fragmentation tree (SIRIUS) for the given formula result identifier -Returns fragmentation tree (SIRIUS) for the given formula result identifier

This tree is used to rank formula candidates (treeScore). +Returns fragmentation tree (SIRIUS) for the given formula result identifier +

+ This tree is used to rank formula candidates (treeScore). ### Example @@ -1984,7 +2050,10 @@ No authorization required Returns Isotope pattern information for given formulaId -Returns Isotope pattern information for given formulaId

Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). +Returns Isotope pattern information for given formulaId +

+ Returns Isotope pattern information (simulated isotope pattern, measured isotope pattern, isotope pattern highlighting) + for the given formula result identifier. This simulated isotope pattern is used to rank formula candidates (treeScore). ### Example @@ -2056,7 +2125,9 @@ No authorization required Returns Lipid annotation (ElGordo) for the given formulaId -Returns Lipid annotation (ElGordo) for the given formulaId.

ElGordo lipid annotation runs as part of the SIRIUS formula identification step. +Returns Lipid annotation (ElGordo) for the given formulaId. +

+ ElGordo lipid annotation runs as part of the SIRIUS formula identification step. ### Example @@ -2200,7 +2271,11 @@ No authorization required [EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId) -[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId).

The quantification table contains a quantity of the feature within all samples it is contained in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Returns a single quantification table row for the given feature (alignedFeatureId). +

+ The quantification table contains a quantity of the feature within all samples it is contained in. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -2427,7 +2502,8 @@ No authorization required Page of spectral library matches for the given 'alignedFeatureId'. -Page of spectral library matches for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. +Page of spectral library matches for the given 'alignedFeatureId'. + If a 'inchiKey' (2D) is provided, returns only matches for the database compound with the given InChI key. ### Example @@ -2512,7 +2588,8 @@ No authorization required Summarize matched reference spectra for the given 'alignedFeatureId'. -Summarize matched reference spectra for the given 'alignedFeatureId'. If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. +Summarize matched reference spectra for the given 'alignedFeatureId'. + If a 'inchiKey' (2D) is provided, summarizes only contains matches for the database compound with the given InChI key. ### Example @@ -2588,7 +2665,13 @@ No authorization required [EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey -[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey.

Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses for the given formula result identifier and structure candidate inChIKey. These annotations are only available if a fragmentation tree and the structure candidate are available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Returns MS/MS Data annotated with fragments and losses for given formulaId and inChIKey. +

+ Returns MS/MS Data (Merged MS/MS and list of measured MS/MS ) which are annotated with fragments and losses + for the given formula result identifier and structure candidate inChIKey. + These annotations are only available if a fragmentation tree and the structure candidate are available. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -2664,7 +2747,9 @@ No authorization required [EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations -[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Spectral library match for the given 'alignedFeatureId' with additional molecular formula and substructure annotations. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -2736,7 +2821,12 @@ No authorization required [EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey -[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey

Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result These annotations are only available if a fragmentation tree is available.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Returns a fragmentation spectrum annotated with fragments and losses for the given formulaId and inChIKey +

+ Returns a fragmentation spectrum (e.g. Merged MS/MS) which is annotated with fragments and losses for the selected formula result + These annotations are only available if a fragmentation tree is available. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -2814,7 +2904,8 @@ No authorization required List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. -List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. +List of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint, structure database links. ### Example @@ -2887,7 +2978,8 @@ No authorization required List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. -List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. +List of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint, structure database links. ### Example @@ -2962,7 +3054,8 @@ No authorization required Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. -Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. +Page of CSI:FingerID structure database search candidates for the given 'formulaId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint, structure database links. ### Example @@ -3043,7 +3136,8 @@ No authorization required Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. -Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. StructureCandidates can be enriched with molecular fingerprint, structure database links. +Page of structure database search candidates ranked by CSI:FingerID score for the given 'alignedFeatureId' with minimal information. + StructureCandidates can be enriched with molecular fingerprint, structure database links. ### Example @@ -3192,7 +3286,17 @@ No authorization required [EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId) -[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId).

Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. However, this also means that all traces can be directly compared against each other, as they all lie in the same retention time axis. By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, it also includes samples in which the same trace appears in.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Returns the traces of the given feature (alignedFeatureId). +

+ Returns the traces of the given feature. A trace consists of m/z and intensity values over the retention + time axis. All the returned traces are 'projected', which means they refer not to the original retention time axis, + but to a recalibrated axis. This means the data points in the trace are not exactly the same as in the raw data. + However, this also means that all traces can be directly compared against each other, as they all lie in the same + retention time axis. + By default, this method only returns traces of samples the aligned feature appears in. When includeAll is set, + it also includes samples in which the same trace appears in. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -3264,7 +3368,9 @@ No authorization required [EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space -[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Delete tag with the given name from the feature (aligned over runs) with the specified ID in the specified project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example diff --git a/client-api_python/generated/docs/InfoApi.md b/client-api_python/generated/docs/InfoApi.md index a25f2a10..e7b96b19 100644 --- a/client-api_python/generated/docs/InfoApi.md +++ b/client-api_python/generated/docs/InfoApi.md @@ -11,8 +11,6 @@ Method | HTTP request | Description # **get_connection_check** > ConnectionCheck get_connection_check() - - ### Example @@ -72,8 +70,6 @@ No authorization required # **get_info** > Info get_info(server_info=server_info, update_info=update_info) - - ### Example diff --git a/client-api_python/generated/docs/JobsApi.md b/client-api_python/generated/docs/JobsApi.md index 48c849e7..373fc872 100644 --- a/client-api_python/generated/docs/JobsApi.md +++ b/client-api_python/generated/docs/JobsApi.md @@ -514,7 +514,9 @@ No authorization required [DEPRECATED] Get all (non-default) job configuration names -[DEPRECATED] Get all (non-default) job configuration names

[DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. +[DEPRECATED] Get all (non-default) job configuration names +

+ [DEPRECATED] Use /job-configs to get all configs with names. This endpoint is based on local file paths and will likely be removed in future versions of this API. ### Example @@ -787,8 +789,6 @@ No authorization required # **has_jobs** > bool has_jobs(project_id, include_finished=include_finished) - - ### Example diff --git a/client-api_python/generated/docs/ProjectsApi.md b/client-api_python/generated/docs/ProjectsApi.md index 42778327..704f3fce 100644 --- a/client-api_python/generated/docs/ProjectsApi.md +++ b/client-api_python/generated/docs/ProjectsApi.md @@ -23,7 +23,10 @@ Method | HTTP request | Description Close project-space and remove it from the application -Close project-space and remove it from the application. The Project will NOT be deleted from disk.

ATTENTION: This will cancel and remove all jobs running on this Project before closing it. If there are many jobs, this might take some time. +Close project-space and remove it from the application. The Project will NOT be deleted from disk. +

+ ATTENTION: This will cancel and remove all jobs running on this Project before closing it. + If there are many jobs, this might take some time. ### Example @@ -499,7 +502,8 @@ No authorization required Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) -Import and Align full MS-Runs from various formats into the specified project Possible formats (mzML, mzXML) +Import and Align full MS-Runs from various formats into the specified project + Possible formats (mzML, mzXML) ### Example @@ -572,7 +576,8 @@ No authorization required Import and Align full MS-Runs from various formats into the specified project as background job. -Import and Align full MS-Runs from various formats into the specified project as background job. Possible formats (mzML, mzXML) +Import and Align full MS-Runs from various formats into the specified project as background job. + Possible formats (mzML, mzXML) ### Example @@ -648,7 +653,8 @@ No authorization required Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) -Import already preprocessed ms/ms data from various formats into the specified project Possible formats (ms, mgf, cef, msp) +Import already preprocessed ms/ms data from various formats into the specified project + Possible formats (ms, mgf, cef, msp) ### Example @@ -722,7 +728,8 @@ No authorization required Import ms/ms data from the given format into the specified project-space as background job. -Import ms/ms data from the given format into the specified project-space as background job. Possible formats (ms, mgf, cef, msp) +Import ms/ms data from the given format into the specified project-space as background job. + Possible formats (ms, mgf, cef, msp) ### Example diff --git a/client-api_python/generated/docs/RunsApi.md b/client-api_python/generated/docs/RunsApi.md index 5812f44f..06cd6011 100644 --- a/client-api_python/generated/docs/RunsApi.md +++ b/client-api_python/generated/docs/RunsApi.md @@ -19,7 +19,9 @@ Method | HTTP request | Description [EXPERIMENTAL] Add tags to a run in the project -[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Add tags to a run in the project. Tags with the same name will be overwritten. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -91,7 +93,9 @@ No authorization required **EXPERIMENTAL** Compute the fold changes that are required for the fold change filter -**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter.

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

+**EXPERIMENTAL** Compute the fold changes that are required for the fold change filter. + +

This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates.

### Example @@ -165,7 +169,9 @@ No authorization required [EXPERIMENTAL] Get run with the given identifier from the specified project-space -[EXPERIMENTAL] Get run with the given identifier from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get run with the given identifier from the specified project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -238,7 +244,9 @@ No authorization required [EXPERIMENTAL] Get all available runs in the given project-space -[EXPERIMENTAL] Get all available runs in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get all available runs in the given project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -315,7 +323,9 @@ No authorization required [EXPERIMENTAL] Get runs by tag group -[EXPERIMENTAL] Get runs by tag group.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get runs by tag group. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -394,7 +404,38 @@ No authorization required [EXPERIMENTAL] Get runs by tag -[EXPERIMENTAL] Get runs by tag.

Supported filter syntax

The filter string must contain one or more clauses. A clause is prefíxed by a field name.

Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). Tag name based field need to be prefixed with the namespace tags.. Possible value types of tags are bool, integer, real, text, date, or time - tag value

The format of the date type is yyyy-MM-dd and of the time type is HH\\:mm\\:ss.

A clause may be:

  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

Example

The syntax allows to build complex filter queries such as:

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\\:00\\:00 OR tags.time:[12\\:00\\:00 TO 14\\:00\\:00] OR tags.time<10\\:00\\:00

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get runs by tag. + +

Supported filter syntax

+ +

The filter string must contain one or more clauses. A clause is prefíxed + by a field name. +

+ + Currently the only searchable fields are names of tags (tagName) followed by a clause that is valued for the value type of the tag (See TagDefinition). + Tag name based field need to be prefixed with the namespace tags.. + Possible value types of tags are bool, integer, real, text, date, or time - tag value + +

The format of the date type is yyyy-MM-dd and of the time type is HH\:mm\:ss.

+ +

A clause may be:

+
    +
  • a term: field name followed by a colon and the search term, e.g. tags.MyTagA:sample
  • +
  • a phrase: field name followed by a colon and the search phrase in doublequotes, e.g. tags.MyTagA:"Some Text"
  • +
  • a regular expression: field name followed by a colon and the regex in slashes, e.g. tags.MyTagA:/[mb]oat/
  • +
  • a comparison: field name followed by a comparison operator and a value, e.g. tags.MyTagB<3
  • +
  • a range: field name followed by a colon and an open (indiced by [ and ] ) or (semi-)closed range (indiced by { and }), e.g. tags.MyTagB:[* TO 3]
  • +
+ +

Clauses may be grouped with brackets ( and ) and / or joined with AND or OR (or && and || )

+ +

Example

+ +

The syntax allows to build complex filter queries such as:

+ +

tags.city:"new york" AND tags.ATextTag:/[mb]oat/ AND tags.count:[1 TO *] OR tags.realNumberTag<=3.2 OR tags.MyDateTag:2024-01-01 OR tags.MyDateTag:[2023-10-01 TO 2023-12-24] OR tags.MyDateTag<2022-01-01 OR tags.time:12\:00\:00 OR tags.time:[12\:00\:00 TO 14\:00\:00] OR tags.time<10\:00\:00

+ + [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -543,7 +584,9 @@ No authorization required [EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space -[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Delete tag with the given name from the run with the specified ID in the specified project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example diff --git a/client-api_python/generated/docs/SearchableDatabasesApi.md b/client-api_python/generated/docs/SearchableDatabasesApi.md index 18dfb4cf..0c7b7d43 100644 --- a/client-api_python/generated/docs/SearchableDatabasesApi.md +++ b/client-api_python/generated/docs/SearchableDatabasesApi.md @@ -84,8 +84,6 @@ No authorization required # **create_database** > SearchableDatabase create_database(database_id, searchable_database_parameters=searchable_database_parameters) - - ### Example @@ -152,8 +150,6 @@ No authorization required # **get_custom_databases** > List[SearchableDatabase] get_custom_databases(include_stats=include_stats, include_with_errors=include_with_errors) - - ### Example @@ -219,8 +215,6 @@ No authorization required # **get_database** > SearchableDatabase get_database(database_id, include_stats=include_stats) - - ### Example @@ -286,8 +280,6 @@ No authorization required # **get_databases** > List[SearchableDatabase] get_databases(include_stats=include_stats, include_with_errors=include_with_errors) - - ### Example @@ -353,8 +345,6 @@ No authorization required # **get_included_databases** > List[SearchableDatabase] get_included_databases(include_stats=include_stats) - - ### Example @@ -493,8 +483,6 @@ No authorization required # **remove_database** > remove_database(database_id, delete=delete) - - ### Example @@ -557,8 +545,6 @@ No authorization required # **update_database** > SearchableDatabase update_database(database_id, searchable_database_parameters=searchable_database_parameters) - - ### Example diff --git a/client-api_python/generated/docs/TagsApi.md b/client-api_python/generated/docs/TagsApi.md index f294ec96..20337034 100644 --- a/client-api_python/generated/docs/TagsApi.md +++ b/client-api_python/generated/docs/TagsApi.md @@ -20,7 +20,13 @@ Method | HTTP request | Description [EXPERIMENTAL] Group tags in the project -[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project.

See /tagged for filter syntax.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Group tags in the project. The group name must not exist in the project. + +

+ See /tagged for filter syntax. +

+ + [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -94,7 +100,9 @@ No authorization required [EXPERIMENTAL] Add a possible value to the tag definition in the project -[EXPERIMENTAL] Add a possible value to the tag definition in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Add a possible value to the tag definition in the project. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -166,7 +174,9 @@ No authorization required [EXPERIMENTAL] Add tags to the project -[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Add tags to the project. Tag names must not exist in the project. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -237,7 +247,9 @@ No authorization required [EXPERIMENTAL] Delete tag groups with the given name from the specified project-space -[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Delete tag groups with the given name from the specified project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -304,7 +316,11 @@ No authorization required [EXPERIMENTAL] Delete tag definition with the given name from the specified project-space -[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space.

This will also remove all tags belonging to this definition from every tagged entity.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Delete tag definition with the given name from the specified project-space. +

+ This will also remove all tags belonging to this definition from every tagged entity. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -371,7 +387,9 @@ No authorization required [EXPERIMENTAL] Get tag group by name in the given project-space -[EXPERIMENTAL] Get tag group by name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get tag group by name in the given project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -441,7 +459,9 @@ No authorization required [EXPERIMENTAL] Get all tag based groups in the given project-space -[EXPERIMENTAL] Get all tag based groups in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get all tag based groups in the given project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -511,7 +531,9 @@ No authorization required [EXPERIMENTAL] Get tag definition by its name in the given project-space -[EXPERIMENTAL] Get tag definition by its name in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get tag definition by its name in the given project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example @@ -581,7 +603,9 @@ No authorization required [EXPERIMENTAL] Get all tag definitions in the given project-space -[EXPERIMENTAL] Get all tag definitions in the given project-space.

[EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. +[EXPERIMENTAL] Get all tag definitions in the given project-space. +

+ [EXPERIMENTAL] This endpoint is experimental and not part of the stable API specification. This endpoint can change at any time, even in minor updates. ### Example diff --git a/client-api_python/generated/pyproject.toml b/client-api_python/generated/pyproject.toml index 308739de..2ec574d1 100644 --- a/client-api_python/generated/pyproject.toml +++ b/client-api_python/generated/pyproject.toml @@ -1,23 +1,28 @@ -[tool.poetry] +[project] name = "PySirius" version = "6.3.3" description = "SIRIUS Nightsky API" -authors = ["OpenAPI Generator Community "] -license = "NoLicense" +authors = [ + {name = "OpenAPI Generator Community",email = "team@openapitools.org"}, +] readme = "README.md" -repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID" keywords = ["OpenAPI", "OpenAPI-Generator", "SIRIUS Nightsky API"] -include = ["PySirius/py.typed"] +requires-python = ">=3.9" -[tool.poetry.dependencies] -python = "^3.8" +dependencies = [ + "urllib3 (>=2.1.0,<3.0.0)", + "python-dateutil (>=2.8.2)", + "pydantic (>=2)", + "typing-extensions (>=4.7.1)", +] -urllib3 = ">= 1.25.3 < 3.0.0" -python-dateutil = ">= 2.8.2" -pydantic = ">= 2" -typing-extensions = ">= 4.7.1" +[project.urls] +Repository = "https://github.com/GIT_USER_ID/GIT_REPO_ID" + +[tool.poetry] +requires-poetry = ">=2.0" -[tool.poetry.dev-dependencies] +[tool.poetry.group.dev.dependencies] pytest = ">= 7.2.1" pytest-cov = ">= 2.8.1" tox = ">= 3.9.0" diff --git a/client-api_python/generated/requirements.txt b/client-api_python/generated/requirements.txt index 67f7f68d..6cbb2b98 100644 --- a/client-api_python/generated/requirements.txt +++ b/client-api_python/generated/requirements.txt @@ -1,4 +1,4 @@ -urllib3 >= 1.25.3, < 3.0.0 +urllib3 >= 2.1.0, < 3.0.0 python_dateutil >= 2.8.2 pydantic >= 2 typing-extensions >= 4.7.1 diff --git a/client-api_python/generated/setup.py b/client-api_python/generated/setup.py index b9888a66..64f83a34 100644 --- a/client-api_python/generated/setup.py +++ b/client-api_python/generated/setup.py @@ -20,9 +20,9 @@ # http://pypi.python.org/pypi/setuptools NAME = "PySirius" VERSION = "6.3.3" -PYTHON_REQUIRES = ">= 3.8" +PYTHON_REQUIRES = ">= 3.9" REQUIRES = [ - "urllib3 >= 1.25.3, < 3.0.0", + "urllib3 >= 2.1.0, < 3.0.0", "python-dateutil >= 2.8.2", "pydantic >= 2", "typing-extensions >= 4.7.1", @@ -44,4 +44,4 @@ REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.This API is exposed by SIRIUS 6 """, # noqa: E501 package_data={"PySirius": ["py.typed"]}, -) +) \ No newline at end of file diff --git a/client-api_python/templates/python/api_client.mustache b/client-api_python/templates/python/api_client.mustache deleted file mode 100644 index ef8cddf4..00000000 --- a/client-api_python/templates/python/api_client.mustache +++ /dev/null @@ -1,787 +0,0 @@ -# coding: utf-8 - -{{>partial_header}} - -import datetime -from dateutil.parser import parse -from enum import Enum -import json -import mimetypes -import os -import re -import tempfile - -from urllib.parse import quote -from typing import Tuple, Optional, List, Dict -from pydantic import SecretStr -{{#tornado}} -import tornado.gen -{{/tornado}} - -from {{packageName}}.configuration import Configuration -from {{packageName}}.api_response import ApiResponse, T as ApiResponseT -import {{modelPackage}} -from {{packageName}} import rest -from {{packageName}}.exceptions import ( - ApiValueError, - ApiException, - BadRequestException, - UnauthorizedException, - ForbiddenException, - NotFoundException, - ServiceException -) - -RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]] - -class ApiClient: - """Generic API client for OpenAPI client library builds. - - OpenAPI generic API client. This client handles the client- - server communication, and is invariant across implementations. Specifics of - the methods and models for each application are generated from the OpenAPI - templates. - - :param configuration: .Configuration object for this client - :param header_name: a header to pass when making calls to the API. - :param header_value: a header value to pass when making calls to - the API. - :param cookie: a cookie to include in the header when making calls - to the API - """ - - PRIMITIVE_TYPES = (float, bool, bytes, str, int) - NATIVE_TYPES_MAPPING = { - 'int': int, - 'long': int, # TODO remove as only py3 is supported? - 'float': float, - 'str': str, - 'bool': bool, - 'date': datetime.date, - 'datetime': datetime.datetime, - 'object': object, - } - _pool = None - - def __init__( - self, - configuration=None, - header_name=None, - header_value=None, - cookie=None - ) -> None: - # use default configuration if none is provided - if configuration is None: - configuration = Configuration.get_default() - self.configuration = configuration - - self.rest_client = rest.RESTClientObject(configuration) - self.default_headers = {} - if header_name is not None: - self.default_headers[header_name] = header_value - self.cookie = cookie - # Set default User-Agent. - self.user_agent = '{{{httpUserAgent}}}{{^httpUserAgent}}OpenAPI-Generator/{{{packageVersion}}}/python{{/httpUserAgent}}' - self.client_side_validation = configuration.client_side_validation - -{{#asyncio}} - async def __aenter__(self): - return self - - async def __aexit__(self, exc_type, exc_value, traceback): - await self.close() - - async def close(self): - await self.rest_client.close() -{{/asyncio}} -{{^asyncio}} - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, traceback): - pass -{{/asyncio}} - - @property - def user_agent(self): - """User agent for this API client""" - return self.default_headers['User-Agent'] - - @user_agent.setter - def user_agent(self, value): - self.default_headers['User-Agent'] = value - - def set_default_header(self, header_name, header_value): - self.default_headers[header_name] = header_value - - - _default = None - - @classmethod - def get_default(cls): - """Return new instance of ApiClient. - - This method returns newly created, based on default constructor, - object of ApiClient class or returns a copy of default - ApiClient. - - :return: The ApiClient object. - """ - if cls._default is None: - cls._default = ApiClient() - return cls._default - - @classmethod - def set_default(cls, default): - """Set default instance of ApiClient. - - It stores default ApiClient. - - :param default: object of ApiClient. - """ - cls._default = default - - def param_serialize( - self, - method, - resource_path, - path_params=None, - query_params=None, - header_params=None, - body=None, - post_params=None, - files=None, auth_settings=None, - collection_formats=None, - _host=None, - _request_auth=None - ) -> RequestSerialized: - - """Builds the HTTP request params needed by the request. - :param method: Method to call. - :param resource_path: Path to method endpoint. - :param path_params: Path parameters in the url. - :param query_params: Query parameters in the url. - :param header_params: Header parameters to be - placed in the request header. - :param body: Request body. - :param post_params dict: Request post form parameters, - for `application/x-www-form-urlencoded`, `multipart/form-data`. - :param auth_settings list: Auth Settings names for the request. - :param files dict: key -> filename, value -> filepath, - for `multipart/form-data`. - :param collection_formats: dict of collection formats for path, query, - header, and post parameters. - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the authentication - in the spec for a single request. - :return: tuple of form (path, http_method, query_params, header_params, - body, post_params, files) - """ - - config = self.configuration - - # header parameters - header_params = header_params or {} - header_params.update(self.default_headers) - if self.cookie: - header_params['Cookie'] = self.cookie - if header_params: - header_params = self.sanitize_for_serialization(header_params) - header_params = dict( - self.parameters_to_tuples(header_params,collection_formats) - ) - - # path parameters - if path_params: - path_params = self.sanitize_for_serialization(path_params) - path_params = self.parameters_to_tuples( - path_params, - collection_formats - ) - for k, v in path_params: - # specified safe chars, encode everything - resource_path = resource_path.replace( - '{%s}' % k, - quote(str(v), safe=config.safe_chars_for_path_param) - ) - - # post parameters - if post_params or files: - post_params = post_params if post_params else [] - post_params = self.sanitize_for_serialization(post_params) - post_params = self.parameters_to_tuples( - post_params, - collection_formats - ) - post_params.extend(self.files_parameters(files)) - - # auth setting - self.update_params_for_auth( - header_params, - query_params, - auth_settings, - resource_path, - method, - body, - request_auth=_request_auth - ) - - # body - if body: - body = self.sanitize_for_serialization(body) - - # request url - if _host is None: - url = self.configuration.host + resource_path - else: - # use server/host defined in path or operation instead - url = _host + resource_path - - # query parameters - if query_params: - query_params = self.sanitize_for_serialization(query_params) - url_query = self.parameters_to_url_query( - query_params, - collection_formats - ) - url += "?" + url_query - - return method, url, header_params, body, post_params - - - {{#tornado}} - @tornado.gen.coroutine - {{/tornado}} - {{#asyncio}}async {{/asyncio}}def call_api( - self, - method, - url, - header_params=None, - body=None, - post_params=None, - _request_timeout=None - ) -> rest.RESTResponse: - """Makes the HTTP request (synchronous) - :param method: Method to call. - :param url: Path to method endpoint. - :param header_params: Header parameters to be - placed in the request header. - :param body: Request body. - :param post_params dict: Request post form parameters, - for `application/x-www-form-urlencoded`, `multipart/form-data`. - :param _request_timeout: timeout setting for this request. - :return: RESTResponse - """ - - try: - # perform request and return response - response_data = {{#asyncio}}await {{/asyncio}}{{#tornado}}yield {{/tornado}}self.rest_client.request( - method, url, - headers=header_params, - body=body, post_params=post_params, - _request_timeout=_request_timeout - ) - - except ApiException as e: - raise e - - return response_data - - def response_deserialize( - self, - response_data: rest.RESTResponse, - response_types_map: Optional[Dict[str, ApiResponseT]]=None - ) -> ApiResponse[ApiResponseT]: - """Deserializes response into an object. - :param response_data: RESTResponse object to be deserialized. - :param response_types_map: dict of response types. - :return: ApiResponse - """ - - msg = "RESTResponse.read() must be called before passing it to response_deserialize()" - assert response_data.data is not None, msg - - response_type = response_types_map.get(str(response_data.status), None) - if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599: - # if not found, look for '1XX', '2XX', etc. - response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) - - # deserialize response data - response_text = None - return_data = None - try: - if response_type == "bytearray": - return_data = response_data.data - elif response_type == "file": - return_data = self.__deserialize_file(response_data) - elif response_type is not None: - match = None - content_type = response_data.getheader('content-type') - if content_type is not None: - match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) - encoding = match.group(1) if match else "utf-8" - response_text = response_data.data.decode(encoding) - if response_type in ["bytearray", "str"]: - return_data = self.__deserialize_primitive(response_text, response_type) - else: - return_data = self.deserialize(response_text, response_type) - finally: - if not 200 <= response_data.status <= 299: - raise ApiException.from_response( - http_resp=response_data, - body=response_text, - data=return_data, - ) - - return ApiResponse( - status_code = response_data.status, - data = return_data, - headers = response_data.getheaders(), - raw_data = response_data.data - ) - - def sanitize_for_serialization(self, obj): - """Builds a JSON POST object. - - If obj is None, return None. - If obj is SecretStr, return obj.get_secret_value() - If obj is str, int, long, float, bool, return directly. - If obj is datetime.datetime, datetime.date - convert to string in iso8601 format. - If obj is list, sanitize each element in the list. - If obj is dict, return the dict. - If obj is OpenAPI model, return the properties dict. - - :param obj: The data to serialize. - :return: The serialized form of data. - """ - if obj is None: - return None - elif isinstance(obj, Enum): - return obj.value - elif isinstance(obj, SecretStr): - return obj.get_secret_value() - elif isinstance(obj, self.PRIMITIVE_TYPES): - return obj - elif isinstance(obj, list): - return [ - self.sanitize_for_serialization(sub_obj) for sub_obj in obj - ] - elif isinstance(obj, tuple): - return tuple( - self.sanitize_for_serialization(sub_obj) for sub_obj in obj - ) - elif isinstance(obj, (datetime.datetime, datetime.date)): - return obj.isoformat() - - elif isinstance(obj, dict): - obj_dict = obj - else: - # Convert model obj to dict except - # attributes `openapi_types`, `attribute_map` - # and attributes which value is not None. - # Convert attribute name to json key in - # model definition for request. - if hasattr(obj, 'to_dict') and callable(getattr(obj, 'to_dict')): - obj_dict = obj.to_dict() - else: - obj_dict = obj.__dict__ - - return { - key: self.sanitize_for_serialization(val) - for key, val in obj_dict.items() - } - - def deserialize(self, response_text, response_type): - """Deserializes response into an object. - - :param response: RESTResponse object to be deserialized. - :param response_type: class literal for - deserialized object, or string of class name. - - :return: deserialized object. - """ - - # fetch data from response object - try: - data = json.loads(response_text) - except ValueError: - data = response_text - - return self.__deserialize(data, response_type) - - def __deserialize(self, data, klass): - """Deserializes dict, list, str into an object. - - :param data: dict, list or str. - :param klass: class literal, or string of class name. - - :return: object. - """ - if data is None: - return None - - if isinstance(klass, str): - if klass.startswith('List['): - m = re.match(r'List\[(.*)]', klass) - assert m is not None, "Malformed List type definition" - sub_kls = m.group(1) - return [self.__deserialize(sub_data, sub_kls) - for sub_data in data] - - if klass.startswith('Dict['): - m = re.match(r'Dict\[([^,]*), (.*)]', klass) - assert m is not None, "Malformed Dict type definition" - sub_kls = m.group(2) - return {k: self.__deserialize(v, sub_kls) - for k, v in data.items()} - - # convert str to class - if klass in self.NATIVE_TYPES_MAPPING: - klass = self.NATIVE_TYPES_MAPPING[klass] - else: - klass = getattr({{modelPackage}}, klass) - - if klass in self.PRIMITIVE_TYPES: - return self.__deserialize_primitive(data, klass) - elif klass == object: - return self.__deserialize_object(data) - elif klass == datetime.date: - return self.__deserialize_date(data) - elif klass == datetime.datetime: - return self.__deserialize_datetime(data) - elif issubclass(klass, Enum): - return self.__deserialize_enum(data, klass) - else: - return self.__deserialize_model(data, klass) - - def parameters_to_tuples(self, params, collection_formats): - """Get parameters as list of tuples, formatting collections. - - :param params: Parameters as dict or list of two-tuples - :param dict collection_formats: Parameter collection formats - :return: Parameters as list of tuples, collections formatted - """ - new_params: List[Tuple[str, str]] = [] - if collection_formats is None: - collection_formats = {} - for k, v in params.items() if isinstance(params, dict) else params: - if k in collection_formats: - collection_format = collection_formats[k] - if collection_format == 'multi': - new_params.extend((k, value) for value in v) - else: - if collection_format == 'ssv': - delimiter = ' ' - elif collection_format == 'tsv': - delimiter = '\t' - elif collection_format == 'pipes': - delimiter = '|' - else: # csv is the default - delimiter = ',' - new_params.append( - (k, delimiter.join(str(value) for value in v))) - else: - new_params.append((k, v)) - return new_params - - def parameters_to_url_query(self, params, collection_formats): - """Get parameters as list of tuples, formatting collections. - - :param params: Parameters as dict or list of two-tuples - :param dict collection_formats: Parameter collection formats - :return: URL query string (e.g. a=Hello%20World&b=123) - """ - new_params: List[Tuple[str, str]] = [] - if collection_formats is None: - collection_formats = {} - for k, v in params.items() if isinstance(params, dict) else params: - if isinstance(v, bool): - v = str(v).lower() - if isinstance(v, (int, float)): - v = str(v) - if isinstance(v, dict): - v = json.dumps(v) - - if k in collection_formats: - collection_format = collection_formats[k] - if collection_format == 'multi': - new_params.extend((k, str(value)) for value in v) - else: - if collection_format == 'ssv': - delimiter = ' ' - elif collection_format == 'tsv': - delimiter = '\t' - elif collection_format == 'pipes': - delimiter = '|' - else: # csv is the default - delimiter = ',' - new_params.append( - (k, delimiter.join(quote(str(value)) for value in v)) - ) - else: - new_params.append((k, quote(str(v)))) - - return "&".join(["=".join(map(str, item)) for item in new_params]) - - def files_parameters(self, files=None): - """Builds form parameters. - - :param files: File parameters. - :return: Form parameters with files. - """ - params = [] - - if files: - for k, v in files.items(): - if not v: - continue - file_names = v if type(v) is list else [v] - for n in file_names: - with open(n, 'rb') as f: - filename = os.path.basename(f.name) - filedata = f.read() - mimetype = ( - mimetypes.guess_type(filename)[0] - or 'application/octet-stream' - ) - params.append( - tuple([k, tuple([filename, filedata, mimetype])]) - ) - - return params - - def select_header_accept(self, accepts: List[str]) -> Optional[str]: - """Returns `Accept` based on an array of accepts provided. - - :param accepts: List of headers. - :return: Accept (e.g. application/json). - """ - if not accepts: - return None - - for accept in accepts: - if re.search('json', accept, re.IGNORECASE): - return accept - - return accepts[0] - - def select_header_content_type(self, content_types): - """Returns `Content-Type` based on an array of content_types provided. - - :param content_types: List of content-types. - :return: Content-Type (e.g. application/json). - """ - if not content_types: - return None - - for content_type in content_types: - if re.search('json', content_type, re.IGNORECASE): - return content_type - - return content_types[0] - - def update_params_for_auth( - self, - headers, - queries, - auth_settings, - resource_path, - method, - body, - request_auth=None - ) -> None: - """Updates header and query params based on authentication setting. - - :param headers: Header parameters dict to be updated. - :param queries: Query parameters tuple list to be updated. - :param auth_settings: Authentication setting identifiers list. - :resource_path: A string representation of the HTTP request resource path. - :method: A string representation of the HTTP request method. - :body: A object representing the body of the HTTP request. - The object type is the return value of sanitize_for_serialization(). - :param request_auth: if set, the provided settings will - override the token in the configuration. - """ - if not auth_settings: - return - - if request_auth: - self._apply_auth_params( - headers, - queries, - resource_path, - method, - body, - request_auth - ) - else: - for auth in auth_settings: - auth_setting = self.configuration.auth_settings().get(auth) - if auth_setting: - self._apply_auth_params( - headers, - queries, - resource_path, - method, - body, - auth_setting - ) - - def _apply_auth_params( - self, - headers, - queries, - resource_path, - method, - body, - auth_setting - ) -> None: - """Updates the request parameters based on a single auth_setting - - :param headers: Header parameters dict to be updated. - :param queries: Query parameters tuple list to be updated. - :resource_path: A string representation of the HTTP request resource path. - :method: A string representation of the HTTP request method. - :body: A object representing the body of the HTTP request. - The object type is the return value of sanitize_for_serialization(). - :param auth_setting: auth settings for the endpoint - """ - if auth_setting['in'] == 'cookie': - headers['Cookie'] = auth_setting['value'] - elif auth_setting['in'] == 'header': - if auth_setting['type'] != 'http-signature': - headers[auth_setting['key']] = auth_setting['value'] - {{#hasHttpSignatureMethods}} - else: - # The HTTP signature scheme requires multiple HTTP headers - # that are calculated dynamically. - signing_info = self.configuration.signing_info - auth_headers = signing_info.get_http_signature_headers( - resource_path, method, headers, body, queries) - headers.update(auth_headers) - {{/hasHttpSignatureMethods}} - elif auth_setting['in'] == 'query': - queries.append((auth_setting['key'], auth_setting['value'])) - else: - raise ApiValueError( - 'Authentication token must be in `query` or `header`' - ) - - def __deserialize_file(self, response): - """Deserializes body to file - - Saves response body into a file in a temporary folder, - using the filename from the `Content-Disposition` header if provided. - - handle file downloading - save response body into a tmp file and return the instance - - :param response: RESTResponse. - :return: file path. - """ - fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) - os.close(fd) - os.remove(path) - - content_disposition = response.getheader("Content-Disposition") - if content_disposition: - m = re.search( - r'filename=[\'"]?([^\'"\s]+)[\'"]?', - content_disposition - ) - assert m is not None, "Unexpected 'content-disposition' header value" - filename = m.group(1) - path = os.path.join(os.path.dirname(path), filename) - - with open(path, "wb") as f: - f.write(response.data) - - return path - - def __deserialize_primitive(self, data, klass): - """Deserializes string to primitive type. - - :param data: str. - :param klass: class literal. - - :return: int, long, float, str, bool. - """ - try: - return klass(data) - except UnicodeEncodeError: - return str(data) - except TypeError: - return data - - def __deserialize_object(self, value): - """Return an original value. - - :return: object. - """ - return value - - def __deserialize_date(self, string): - """Deserializes string to date. - - :param string: str. - :return: date. - """ - try: - return parse(string).date() - except ImportError: - return string - except ValueError: - raise rest.ApiException( - status=0, - reason="Failed to parse `{0}` as date object".format(string) - ) - - def __deserialize_datetime(self, string): - """Deserializes string to datetime. - - The string should be in iso8601 datetime format. - - :param string: str. - :return: datetime. - """ - try: - return parse(string) - except ImportError: - return string - except ValueError: - raise rest.ApiException( - status=0, - reason=( - "Failed to parse `{0}` as datetime object" - .format(string) - ) - ) - - def __deserialize_enum(self, data, klass): - """Deserializes primitive type to enum. - - :param data: primitive type. - :param klass: class literal. - :return: enum value. - """ - try: - return klass(data) - except ValueError: - raise rest.ApiException( - status=0, - reason=( - "Failed to parse `{0}` as `{1}`" - .format(data, klass) - ) - ) - - def __deserialize_model(self, data, klass): - """Deserializes list or dict to model. - - :param data: dict, list. - :param klass: class literal. - :return: model object. - """ - - return klass.from_dict(data) \ No newline at end of file From 9fcb124e09cbf1cf57285a12d3d7b00a0e8648c8 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 18:33:39 +0200 Subject: [PATCH 69/76] update to mustache from generator v7.16 and add fix for multipart data bug with additional json parameters --- .../templates/python/api.mustache | 490 +++++++++--------- 1 file changed, 257 insertions(+), 233 deletions(-) diff --git a/client-api_python/templates/python/api.mustache b/client-api_python/templates/python/api.mustache index d99e7bdf..db455fa4 100644 --- a/client-api_python/templates/python/api.mustache +++ b/client-api_python/templates/python/api.mustache @@ -1,234 +1,258 @@ -# coding: utf-8 - -{{>partial_header}} -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -{{#imports}} -{{import}} -{{/imports}} - -from {{packageName}}.api_client import ApiClient, RequestSerialized -from {{packageName}}.api_response import ApiResponse -from {{packageName}}.rest import RESTResponseType - - -{{#operations}} -class {{classname}}: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client -{{#operation}} - - - @validate_call - {{#asyncio}}async {{/asyncio}}def {{operationId}}{{>partial_api_args}} -> {{{returnType}}}{{^returnType}}None{{/returnType}}: -{{>partial_api}} - response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - {{#asyncio}}await {{/asyncio}}response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - {{#asyncio}}async {{/asyncio}}def {{operationId}}_with_http_info{{>partial_api_args}} -> ApiResponse[{{{returnType}}}{{^returnType}}None{{/returnType}}]: -{{>partial_api}} - response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - {{#asyncio}}await {{/asyncio}}response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - {{#asyncio}}async {{/asyncio}}def {{operationId}}_without_preload_content{{>partial_api_args}} -> RESTResponseType: -{{>partial_api}} - response_data = {{#asyncio}}await {{/asyncio}}self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _{{operationId}}_serialize( - self, - {{#allParams}} - {{paramName}}, - {{/allParams}} - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - {{#servers.0}} - _hosts = [{{#servers}} - '{{{url}}}'{{^-last}},{{/-last}}{{/servers}} - ] - _host = _hosts[_host_index] - {{/servers.0}} - {{^servers.0}} - _host = None - {{/servers.0}} - - _collection_formats: Dict[str, str] = { - {{#allParams}} - {{#isArray}} - '{{baseName}}': '{{collectionFormat}}', - {{/isArray}} - {{/allParams}} - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, str] = {} - _body_params: Optional[bytes] = None - - # process the path parameters -{{#pathParams}} - if {{paramName}} is not None: - _path_params['{{baseName}}'] = {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}} -{{/pathParams}} - # process the query parameters -{{#queryParams}} - if {{paramName}} is not None: - {{#isDateTime}} - if isinstance({{paramName}}, datetime): - _query_params.append( - ( - '{{baseName}}', - {{paramName}}.strftime( - self.api_client.configuration.datetime_format - ) - ) - ) - else: - _query_params.append(('{{baseName}}', {{paramName}})) - {{/isDateTime}} - {{#isDate}} - if isinstance({{paramName}}, date): - _query_params.append( - ( - '{{baseName}}', - {{paramName}}.strftime( - self.api_client.configuration.date_format - ) - ) - ) - else: - _query_params.append(('{{baseName}}', {{paramName}})) - {{/isDate}} - {{^isDateTime}}{{^isDate}} - _query_params.append(('{{baseName}}', {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}})) - {{/isDate}}{{/isDateTime}} -{{/queryParams}} - # process the header parameters -{{#headerParams}} - if {{paramName}} is not None: - _header_params['{{baseName}}'] = {{paramName}} -{{/headerParams}} - # process the form parameters -{{#formParams}} - if {{paramName}} is not None: - {{#isFile}} - _files['{{{baseName}}}'] = {{paramName}} - {{/isFile}} - {{^isFile}} - _form_params.append(('{{{baseName}}}', {{paramName}})) - {{/isFile}} -{{/formParams}} - # process the body parameter -{{#bodyParam}} - if {{paramName}} is not None: - {{#isBinary}} - # convert to byte array if the input is a file name (str) - if isinstance({{paramName}}, str): - with open({{paramName}}, "rb") as _fp: - _body_params = _fp.read() - else: - _body_params = {{paramName}} - {{/isBinary}} - {{^isBinary}} - _body_params = {{paramName}} - {{/isBinary}} -{{/bodyParam}} - - {{#constantParams}} - {{#isQueryParam}} - # Set client side default value of Query Param "{{baseName}}". - _query_params['{{baseName}}'] = {{#_enum}}'{{{.}}}'{{/_enum}} - {{/isQueryParam}} - {{#isHeaderParam}} - # Set client side default value of Header Param "{{baseName}}". - _header_params['{{baseName}}'] = {{#_enum}}'{{{.}}}'{{/_enum}} - {{/isHeaderParam}} - {{/constantParams}} - - {{#hasProduces}} - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [{{#produces}} - '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/produces}} - ] - ) - {{/hasProduces}} - - {{#hasConsumes}} - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [{{#consumes}} - '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/consumes}} - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - {{/hasConsumes}} - - # authentication setting - _auth_settings: List[str] = [{{#authMethods}} - '{{name}}'{{^-last}}, {{/-last}}{{/authMethods}} - ] - - return self.api_client.param_serialize( - method='{{httpMethod}}', - resource_path='{{{path}}}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - -{{/operation}} +# coding: utf-8 + +{{>partial_header}} + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +{{#imports}} +{{import}} +{{/imports}} + +from {{packageName}}.api_client import ApiClient, RequestSerialized +from {{packageName}}.api_response import ApiResponse +from {{packageName}}.rest import RESTResponseType + + +{{#operations}} +class {{classname}}: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client +{{#operation}} + + + @validate_call + {{#async}}async {{/async}}def {{operationId}}{{>partial_api_args}} -> {{{returnType}}}{{^returnType}}None{{/returnType}}: +{{>partial_api}} + + response_data = {{#async}}await {{/async}}self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + {{#async}}await {{/async}}response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + {{#async}}async {{/async}}def {{operationId}}_with_http_info{{>partial_api_args}} -> ApiResponse[{{{returnType}}}{{^returnType}}None{{/returnType}}]: +{{>partial_api}} + + response_data = {{#async}}await {{/async}}self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + {{#async}}await {{/async}}response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + {{#async}}async {{/async}}def {{operationId}}_without_preload_content{{>partial_api_args}} -> RESTResponseType: +{{>partial_api}} + + response_data = {{#async}}await {{/async}}self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _{{operationId}}_serialize( + self, + {{#allParams}} + {{paramName}}, + {{/allParams}} + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + {{#servers.0}} + _hosts = [{{#servers}} + '{{{url}}}'{{^-last}},{{/-last}}{{/servers}} + ] + _host = _hosts[_host_index] + {{/servers.0}} + {{^servers.0}} + _host = None + {{/servers.0}} + + _collection_formats: Dict[str, str] = { + {{#allParams}} + {{#isArray}} + '{{baseName}}': '{{collectionFormat}}', + {{/isArray}} + {{/allParams}} + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters +{{#pathParams}} + if {{paramName}} is not None: + _path_params['{{baseName}}'] = {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}} +{{/pathParams}} + # process the query parameters +{{#queryParams}} + if {{paramName}} is not None: + {{#isDateTime}} + if isinstance({{paramName}}, datetime): + _query_params.append( + ( + '{{baseName}}', + {{paramName}}.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('{{baseName}}', {{paramName}})) + {{/isDateTime}} + {{#isDate}} + if isinstance({{paramName}}, date): + _query_params.append( + ( + '{{baseName}}', + {{paramName}}.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('{{baseName}}', {{paramName}})) + {{/isDate}} + {{^isDateTime}}{{^isDate}} + _query_params.append(('{{baseName}}', {{paramName}}{{#isEnumRef}}.value{{/isEnumRef}})) + {{/isDate}}{{/isDateTime}} +{{/queryParams}} + # process the header parameters +{{#headerParams}} + if {{paramName}} is not None: + _header_params['{{baseName}}'] = {{paramName}} +{{/headerParams}} + # process the form parameters +{{#formParams}} + if {{paramName}} is not None: + {{#isFile}} + _files['{{{baseName}}}'] = {{paramName}} + {{/isFile}} + {{^isFile}} + {{#isModel}} + # JSON-encode model parameters for multipart/form-data + import json + if hasattr({{paramName}}, 'model_dump'): + params_dict = {{paramName}}.model_dump(mode='json') + elif hasattr({{paramName}}, 'dict'): + params_dict = {{paramName}}.dict() + else: + params_dict = {{paramName}} + params_json = json.dumps(params_dict, default=str, separators=(',', ':')) + _form_params.append(('{{{baseName}}}', (None, params_json, 'application/json'))) + {{/isModel}} + {{^isModel}} + _form_params.append(('{{{baseName}}}', {{paramName}})) + {{/isModel}} + {{/isFile}} +{{/formParams}} + # process the body parameter +{{#bodyParam}} + if {{paramName}} is not None: + {{#isBinary}} + # convert to byte array if the input is a file name (str) + if isinstance({{paramName}}, str): + with open({{paramName}}, "rb") as _fp: + _body_params = _fp.read() + elif isinstance({{paramName}}, tuple): + # drop the filename from the tuple + _body_params = {{paramName}}[1] + else: + _body_params = {{paramName}} + {{/isBinary}} + {{^isBinary}} + _body_params = {{paramName}} + {{/isBinary}} +{{/bodyParam}} + + {{#constantParams}} + {{#isQueryParam}} + # Set client side default value of Query Param "{{baseName}}". + _query_params.append(('{{baseName}}', {{#_enum}}'{{{.}}}'{{/_enum}})) + {{/isQueryParam}} + {{#isHeaderParam}} + # Set client side default value of Header Param "{{baseName}}". + _header_params['{{baseName}}'] = {{#_enum}}'{{{.}}}'{{/_enum}} + {{/isHeaderParam}} + {{/constantParams}} + + {{#hasProduces}} + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [{{#produces}} + '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/produces}} + ] + ) + {{/hasProduces}} + + {{#hasConsumes}} + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [{{#consumes}} + '{{{mediaType}}}'{{^-last}}, {{/-last}}{{/consumes}} + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + {{/hasConsumes}} + + # authentication setting + _auth_settings: List[str] = [{{#authMethods}} + '{{name}}'{{^-last}}, {{/-last}}{{/authMethods}} + ] + + return self.api_client.param_serialize( + method='{{httpMethod}}', + resource_path='{{{path}}}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + +{{/operation}} {{/operations}} \ No newline at end of file From a0b27bd546a801e04ff2232ba36c3932b86ddd63 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 17:12:18 +0000 Subject: [PATCH 70/76] Auto-Generated RSirius Manual --- client-api_r/generated/man/ActuatorApi.Rd | 4 +- .../generated/man/CompoundStatisticsApi.Rd | 8 +- client-api_r/generated/man/CompoundsApi.Rd | 26 +++--- .../generated/man/FeatureStatisticsApi.Rd | 8 +- client-api_r/generated/man/FeaturesApi.Rd | 88 +++++++++---------- client-api_r/generated/man/InfoApi.Rd | 4 +- client-api_r/generated/man/JobsApi.Rd | 30 +++---- .../generated/man/LoginAndAccountApi.Rd | 18 ++-- client-api_r/generated/man/ProjectsApi.Rd | 24 ++--- client-api_r/generated/man/RunsApi.Rd | 16 ++-- .../generated/man/SearchableDatabasesApi.Rd | 18 ++-- client-api_r/generated/man/TagsApi.Rd | 18 ++-- client-api_r/generated/man/rsirius_api.Rd | 6 +- 13 files changed, 134 insertions(+), 134 deletions(-) diff --git a/client-api_r/generated/man/ActuatorApi.Rd b/client-api_r/generated/man/ActuatorApi.Rd index 0df45e5f..74c92417 100644 --- a/client-api_r/generated/man/ActuatorApi.Rd +++ b/client-api_r/generated/man/ActuatorApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### Health #################### -library(Rsirius) +library(RSirius) #Actuator web endpoint 'health' api_instance <- rsirius_api$new() @@ -35,7 +35,7 @@ dput(result) #################### Shutdown #################### -library(Rsirius) +library(RSirius) #Actuator web endpoint 'shutdown' api_instance <- rsirius_api$new() diff --git a/client-api_r/generated/man/CompoundStatisticsApi.Rd b/client-api_r/generated/man/CompoundStatisticsApi.Rd index 0309e8a2..b8ba6757 100644 --- a/client-api_r/generated/man/CompoundStatisticsApi.Rd +++ b/client-api_r/generated/man/CompoundStatisticsApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### ComputeCompoundFoldChangesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to compute the fold change in. var_left_group_name <- "left_group_name_example" # character | name of the left tag group. var_right_group_name <- "right_group_name_example" # character | name of the right tag group. @@ -41,7 +41,7 @@ dput(result) #################### DeleteCompoundFoldChangesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_left_group_name <- "left_group_name_example" # character | name of the left group. var_right_group_name <- "right_group_name_example" # character | name of the right group. @@ -56,7 +56,7 @@ api_instance$compound_statistics_api$DeleteCompoundFoldChangesExperimental(var_p #################### GetCompoundFoldChangeTableExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aggregation <- "AVG" # character | aggregation type. (Optional) var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) @@ -72,7 +72,7 @@ dput(result) #################### GetFoldChangesByCompoundExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. diff --git a/client-api_r/generated/man/CompoundsApi.Rd b/client-api_r/generated/man/CompoundsApi.Rd index 95ae083d..257aa892 100644 --- a/client-api_r/generated/man/CompoundsApi.Rd +++ b/client-api_r/generated/man/CompoundsApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### AddCompounds #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to import into. var_compound_import <- c(CompoundImport$new(c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(..., ...)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))), "name_example")) # array[CompoundImport] | the compound data to be imported var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) @@ -40,7 +40,7 @@ dput(result) #################### AddTagsToCompoundExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to add to. var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to add tags to. var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. @@ -56,7 +56,7 @@ dput(result) #################### DeleteCompound #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_compound_id <- "compound_id_example" # character | identifier of the compound to delete. @@ -68,7 +68,7 @@ api_instance$compounds_api$DeleteCompound(var_project_id, var_compound_id) #################### GetCompound #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_compound_id <- "compound_id_example" # character | identifier of the compound (group of ion identities) to access. var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -86,7 +86,7 @@ dput(result) #################### GetCompoundQuantTableExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) @@ -101,7 +101,7 @@ dput(result) #################### GetCompoundQuantTableRowExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_compound_id <- "compound_id_example" # character | compound which should be read out var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) @@ -117,7 +117,7 @@ dput(result) #################### GetCompoundTracesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_compound_id <- "compound_id_example" # character | compound which intensities should be read out var_feature_id <- "" # character | (Optional) @@ -133,7 +133,7 @@ dput(result) #################### GetCompounds #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -150,7 +150,7 @@ dput(result) #################### GetCompoundsByGroupExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_group_name <- "group_name_example" # character | tag group name. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -169,7 +169,7 @@ dput(result) #################### GetCompoundsByTagExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project space to get compounds (group of ion identities) from. var_filter <- "" # character | tag filter. (Optional) var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -188,7 +188,7 @@ dput(result) #################### GetCompoundsPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -208,7 +208,7 @@ dput(result) #################### GetTagsForCompoundExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to get from. var_object_id <- "object_id_example" # character | CompoundId to get tags for. @@ -223,7 +223,7 @@ dput(result) #################### RemoveTagFromCompoundExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_compound_id <- "compound_id_example" # character | compound (group of ion identities) to delete tag from. var_tag_name <- "tag_name_example" # character | name of the tag to delete. diff --git a/client-api_r/generated/man/FeatureStatisticsApi.Rd b/client-api_r/generated/man/FeatureStatisticsApi.Rd index 332af028..dfac66ae 100644 --- a/client-api_r/generated/man/FeatureStatisticsApi.Rd +++ b/client-api_r/generated/man/FeatureStatisticsApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### ComputeAlignedFeatureFoldChangesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to compute the fold change in. var_left_group_name <- "left_group_name_example" # character | name of the left tag group. var_right_group_name <- "right_group_name_example" # character | name of the right tag group. @@ -41,7 +41,7 @@ dput(result) #################### DeleteAlignedFeatureFoldChangesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_left_group_name <- "left_group_name_example" # character | name of the left group. var_right_group_name <- "right_group_name_example" # character | name of the right group. @@ -56,7 +56,7 @@ api_instance$feature_statistics_api$DeleteAlignedFeatureFoldChangesExperimental( #################### GetAlignedFeatureFoldChangeTableExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aggregation <- "AVG" # character | aggregation type. (Optional) var_quantification <- "APEX_INTENSITY" # character | quantification type. (Optional) @@ -72,7 +72,7 @@ dput(result) #################### GetFoldChangesByAlignedFeatureExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_object_id <- "object_id_example" # character | id of the object the fold changes are assigned to. diff --git a/client-api_r/generated/man/FeaturesApi.Rd b/client-api_r/generated/man/FeaturesApi.Rd index 49494e6e..ac456ace 100644 --- a/client-api_r/generated/man/FeaturesApi.Rd +++ b/client-api_r/generated/man/FeaturesApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### AddAlignedFeatures #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to import into. var_feature_import <- c(FeatureImport$new(123, 123, "name_example", "externalFeatureId_example", c("detectedAdducts_example"), 123, 123, 123, "NOT_APPLICABLE", BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)), c(BasicSpectrum$new("cosineQuery_example", c(SimplePeak$new(123, 123)), "name_example", 123, "collisionEnergy_example", "instrument_example", 123, 123, SimplePeak$new(123, 123), 123, 123, 123, 123, 123)))) # array[FeatureImport] | the feature data to be imported var_profile <- "profile_example" # character | profile describing the instrument used to measure the data. Used to merge spectra. (Optional) @@ -39,7 +39,7 @@ dput(result) #################### AddDeNovoStructureCandidate #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_smiles <- "none" # character | smiles (Optional) @@ -55,7 +55,7 @@ dput(result) #################### AddTagsToAlignedFeatureExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to add to. var_aligned_feature_id <- "aligned_feature_id_example" # character | run to add tags to. var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. @@ -71,7 +71,7 @@ dput(result) #################### DeleteAlignedFeature #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to delete. @@ -83,7 +83,7 @@ api_instance$features_api$DeleteAlignedFeature(var_project_id, var_aligned_featu #################### DeleteAlignedFeatures #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_request_body <- c("property_example") # array[character] | @@ -95,7 +95,7 @@ api_instance$features_api$DeleteAlignedFeatures(var_project_id, var_request_body #################### GetAdductNetworkWithMergedTracesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | one feature that is considered the main feature of the adduct network @@ -110,7 +110,7 @@ dput(result) #################### GetAlignedFeature #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -127,7 +127,7 @@ dput(result) #################### GetAlignedFeatureQualityExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | identifier of feature (aligned over runs) to access. @@ -142,7 +142,7 @@ dput(result) #################### GetAlignedFeatures #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -158,7 +158,7 @@ dput(result) #################### GetAlignedFeaturesByGroupExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_group_name <- "group_name_example" # character | tag group name. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -177,7 +177,7 @@ dput(result) #################### GetAlignedFeaturesByTagExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project space to get features (aligned over runs) from. var_filter <- "" # character | tag filter. (Optional) var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -196,7 +196,7 @@ dput(result) #################### GetAlignedFeaturesPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -215,7 +215,7 @@ dput(result) #################### GetBestMatchingCompoundClasses #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -231,7 +231,7 @@ dput(result) #################### GetCanopusPrediction #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -247,7 +247,7 @@ dput(result) #################### GetDeNovoStructureCandidates #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -263,7 +263,7 @@ dput(result) #################### GetDeNovoStructureCandidatesByFormula #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -280,7 +280,7 @@ dput(result) #################### GetDeNovoStructureCandidatesByFormulaPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -300,7 +300,7 @@ dput(result) #################### GetDeNovoStructureCandidatesPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -319,7 +319,7 @@ dput(result) #################### GetFeatureQuantTableExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_type <- "APEX_HEIGHT" # character | quantification type. (Optional) @@ -334,7 +334,7 @@ dput(result) #################### GetFingerprintPrediction #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -350,7 +350,7 @@ dput(result) #################### GetFormulaAnnotatedMsMsData #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -367,7 +367,7 @@ dput(result) #################### GetFormulaAnnotatedSpectrum #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -385,7 +385,7 @@ dput(result) #################### GetFormulaCandidate #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -403,7 +403,7 @@ dput(result) #################### GetFormulaCandidates #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -420,7 +420,7 @@ dput(result) #################### GetFormulaCandidatesPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -440,7 +440,7 @@ dput(result) #################### GetFragTree #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -456,7 +456,7 @@ dput(result) #################### GetIsotopePatternAnnotation #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -472,7 +472,7 @@ dput(result) #################### GetLipidAnnotation #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -488,7 +488,7 @@ dput(result) #################### GetMsData #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the Mass Spec data belongs to. var_ms_data_search_prepared <- FALSE # character | Returns all fragment spectra in a preprocessed form as used for fast Cosine/Modified Cosine computation. Gives you spectra compatible with SpectralLibraryMatch peak assignments and reference spectra. (Optional) @@ -504,7 +504,7 @@ dput(result) #################### GetQuantTableRowExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which quantity should be read out var_type <- "APEX_HEIGHT" # character | quantification type. Currently, only APEX_HEIGHT is supported, which is the intensity of the feature at its apex. (Optional) @@ -520,7 +520,7 @@ dput(result) #################### GetSpectralLibraryMatch #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_match_id <- "match_id_example" # character | id of the library match to be returned. @@ -537,7 +537,7 @@ dput(result) #################### GetSpectralLibraryMatches #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_min_shared_peaks <- 1 # integer | (Optional) @@ -556,7 +556,7 @@ dput(result) #################### GetSpectralLibraryMatchesPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -578,7 +578,7 @@ dput(result) #################### GetSpectralLibraryMatchesSummary #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_min_shared_peaks <- 1 # integer | min threshold of shared peaks. (Optional) @@ -596,7 +596,7 @@ dput(result) #################### GetStructureAnnotatedMsDataExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -614,7 +614,7 @@ dput(result) #################### GetStructureAnnotatedSpectralLibraryMatchExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_match_id <- "match_id_example" # character | id of the library match to be returned. @@ -630,7 +630,7 @@ dput(result) #################### GetStructureAnnotatedSpectrumExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -649,7 +649,7 @@ dput(result) #################### GetStructureCandidates #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -665,7 +665,7 @@ dput(result) #################### GetStructureCandidatesByFormula #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -682,7 +682,7 @@ dput(result) #################### GetStructureCandidatesByFormulaPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the formula result belongs to. var_formula_id <- "formula_id_example" # character | identifier of the requested formula result @@ -702,7 +702,7 @@ dput(result) #################### GetStructureCandidatesPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) the structure candidates belong to. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -721,7 +721,7 @@ dput(result) #################### GetTagsForAlignedFeaturesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to get from. var_object_id <- "object_id_example" # character | object to get tags for. @@ -736,7 +736,7 @@ dput(result) #################### GetTracesExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature which intensities should be read out var_include_all <- FALSE # character | when true, return all samples that belong to the same merged trace. when false, only return samples which contain the aligned feature. (Optional) @@ -752,7 +752,7 @@ dput(result) #################### RemoveTagFromAlignedFeatureExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_aligned_feature_id <- "aligned_feature_id_example" # character | feature (aligned over runs) to delete tag from. var_tag_name <- "tag_name_example" # character | name of the tag to delete. diff --git a/client-api_r/generated/man/InfoApi.Rd b/client-api_r/generated/man/InfoApi.Rd index cf5d903a..b8077256 100644 --- a/client-api_r/generated/man/InfoApi.Rd +++ b/client-api_r/generated/man/InfoApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### GetConnectionCheck #################### -library(Rsirius) +library(RSirius) api_instance <- rsirius_api$new() @@ -34,7 +34,7 @@ dput(result) #################### GetInfo #################### -library(Rsirius) +library(RSirius) var_server_info <- TRUE # character | (Optional) var_update_info <- TRUE # character | (Optional) diff --git a/client-api_r/generated/man/JobsApi.Rd b/client-api_r/generated/man/JobsApi.Rd index 26854f57..b49e2386 100644 --- a/client-api_r/generated/man/JobsApi.Rd +++ b/client-api_r/generated/man/JobsApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### DeleteJob #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete job from var_job_id <- "job_id_example" # character | of the job to be deleted var_cancel_if_running <- TRUE # character | If true, job will be canceled if it is not finished. Otherwise, deletion will fail for running jobs or request will block until job has finished. (Optional) @@ -36,7 +36,7 @@ api_instance$jobs_api$DeleteJob(var_project_id, var_job_id, cancel_if_running = #################### DeleteJobConfig #################### -library(Rsirius) +library(RSirius) var_name <- "name_example" # character | name of the job-config to delete #Delete job configuration with given name. @@ -47,7 +47,7 @@ api_instance$jobs_api$DeleteJobConfig(var_name) #################### DeleteJobs #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete jobs from var_cancel_if_running <- TRUE # character | If true, job will be canceled if it is not finished. Otherwise, deletion will fail for running jobs or request will block until job has finished. (Optional) var_await_deletion <- TRUE # character | If true, request will block until deletion succeeded or failed. If the job is still running the request will wait until the job has finished. (Optional) @@ -60,7 +60,7 @@ api_instance$jobs_api$DeleteJobs(var_project_id, cancel_if_running = var_cancel_ #################### GetCommand #################### -library(Rsirius) +library(RSirius) var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | #Get a CLI command for the given job configuration. @@ -74,7 +74,7 @@ dput(result) #################### GetDefaultJobConfig #################### -library(Rsirius) +library(RSirius) var_include_config_map <- FALSE # character | if true, generic configmap with-defaults will be included (Optional) var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters (Optional) var_include_custom_dbs_for_structure_search <- FALSE # character | if true, default database selection of structure db search spectral library search contains also all available custom DB. If No custom dbs are selected, spectral library search is disabled by default. (Optional) @@ -90,7 +90,7 @@ dput(result) #################### GetJob #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to run jobs on var_job_id <- "job_id_example" # character | of the job to be returned var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -106,7 +106,7 @@ dput(result) #################### GetJobConfig #################### -library(Rsirius) +library(RSirius) var_name <- "name_example" # character | name of the job-config to return var_move_parameters_to_config_map <- FALSE # character | if true, object-based parameters will be converted to and added to the generic configMap parameters (Optional) @@ -121,7 +121,7 @@ dput(result) #################### GetJobConfigNames #################### -library(Rsirius) +library(RSirius) #[DEPRECATED] Get all (non-default) job configuration names api_instance <- rsirius_api$new() @@ -134,7 +134,7 @@ dput(result) #################### GetJobConfigs #################### -library(Rsirius) +library(RSirius) #Request all available job configurations api_instance <- rsirius_api$new() @@ -147,7 +147,7 @@ dput(result) #################### GetJobs #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to run jobs on var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -162,7 +162,7 @@ dput(result) #################### GetJobsPaged #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to run jobs on var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -180,7 +180,7 @@ dput(result) #################### HasJobs #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | var_include_finished <- FALSE # character | (Optional) @@ -194,7 +194,7 @@ dput(result) #################### SaveJobConfig #################### -library(Rsirius) +library(RSirius) var_name <- "name_example" # character | name of the job-config to add var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | to add var_override_existing <- FALSE # character | (Optional) @@ -211,7 +211,7 @@ dput(result) #################### StartJob #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to run jobs on var_job_submission <- JobSubmission$new(c("compoundIds_example"), c("alignedFeatureIds_example"), c("fallbackAdducts_example"), c("enforcedAdducts_example"), c("detectableAdducts_example"), "recompute_example", SpectralLibrarySearch$new("enabled_example", c("spectraSearchDBs_example"), 123, 123, 123, "enableAnalogueSearch_example", 123, 123, "INTENSITY", 123), Sirius$new("enabled_example", "QTOF", 123, 123, 123, "IGNORE", "filterByIsotopePattern_example", "enforceElGordoFormula_example", "performBottomUpSearch_example", 123, c("formulaSearchDBs_example"), "applyFormulaConstraintsToDBAndBottomUpSearch_example", "enforcedFormulaConstraints_example", "fallbackFormulaConstraints_example", c("detectableElements_example"), Timeout$new(123, 123), UseHeuristic$new(123, 123), "injectSpecLibMatchFormulas_example", 123, 123), Zodiac$new("enabled_example", 123, 123, "runInTwoSteps_example", ZodiacEdgeFilterThresholds$new(123, 123, 123), ZodiacEpochs$new(123, 123, 123), ZodiacLibraryScoring$new("enabled_example", 123), ZodiacAnalogueNodes$new("enabled_example", 123, 123)), FingerprintPrediction$new("enabled_example", "useScoreThreshold_example", "alwaysPredictHighRefMatches_example"), Canopus$new("enabled_example"), StructureDbSearch$new("enabled_example", c("structureSearchDBs_example"), "tagStructuresWithLipidClass_example", "OFF"), MsNovelist$new("enabled_example", 123), c(key = "inner_example")) # JobSubmission | configuration of the job that will be submitted of the job to be returned var_opt_fields <- c("none") # array[character] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -227,7 +227,7 @@ dput(result) #################### StartJobFromConfig #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to run jobs on var_job_config_name <- "job_config_name_example" # character | name if the config to be used var_request_body <- c("property_example") # array[character] | List of alignedFeatureIds to be computed diff --git a/client-api_r/generated/man/LoginAndAccountApi.Rd b/client-api_r/generated/man/LoginAndAccountApi.Rd index 4b9754ca..42de63a8 100644 --- a/client-api_r/generated/man/LoginAndAccountApi.Rd +++ b/client-api_r/generated/man/LoginAndAccountApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### GetAccountInfo #################### -library(Rsirius) +library(RSirius) var_include_subs <- FALSE # character | include available and active subscriptions in {@link AccountInfo AccountInfo}. (Optional) #Get information about the account currently logged in. @@ -36,7 +36,7 @@ dput(result) #################### GetSignUpURL #################### -library(Rsirius) +library(RSirius) #Get SignUp URL (For signUp via web browser) api_instance <- rsirius_api$new() @@ -49,7 +49,7 @@ dput(result) #################### GetSubscriptions #################### -library(Rsirius) +library(RSirius) #Get available subscriptions of the account currently logged in. api_instance <- rsirius_api$new() @@ -62,7 +62,7 @@ dput(result) #################### IsLoggedIn #################### -library(Rsirius) +library(RSirius) #Check if a user is logged in. api_instance <- rsirius_api$new() @@ -75,7 +75,7 @@ dput(result) #################### Login #################### -library(Rsirius) +library(RSirius) var_accept_terms <- "accept_terms_example" # character | var_account_credentials <- AccountCredentials$new("username_example", "password_example", "refreshToken_example") # AccountCredentials | used to log in. var_fail_when_logged_in <- FALSE # character | if true request fails if an active login already exists. (Optional) @@ -92,7 +92,7 @@ dput(result) #################### Logout #################### -library(Rsirius) +library(RSirius) #Logout from SIRIUS web services. api_instance <- rsirius_api$new() @@ -102,7 +102,7 @@ api_instance$login_and_account_api$Logout() #################### OpenPortal #################### -library(Rsirius) +library(RSirius) #Open User portal in browser. api_instance <- rsirius_api$new() @@ -112,7 +112,7 @@ api_instance$login_and_account_api$OpenPortal() #################### SelectSubscription #################### -library(Rsirius) +library(RSirius) var_sid <- "sid_example" # character | #Select a subscription as active subscription to be used for computations. @@ -126,7 +126,7 @@ dput(result) #################### SignUp #################### -library(Rsirius) +library(RSirius) #Open SignUp window in system browser and return signUp link. api_instance <- rsirius_api$new() diff --git a/client-api_r/generated/man/ProjectsApi.Rd b/client-api_r/generated/man/ProjectsApi.Rd index 54ea31de..e18d8977 100644 --- a/client-api_r/generated/man/ProjectsApi.Rd +++ b/client-api_r/generated/man/ProjectsApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### CloseProject #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | unique name/identifier of the project-space to be closed. var_compact <- FALSE # character | if true, compact project storage after closing. DEPRECATED: Compacting acts on the local filesystem and will likely be removed in a later version. (Optional) @@ -34,7 +34,7 @@ api_instance$projects_api$CloseProject(var_project_id, compact = var_compact) #################### CreateProject #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | unique name/identifier that shall be used to access the newly created project-space. Must consist only of [a-zA-Z0-9_-]. var_path_to_project <- "path_to_project_example" # character | local file path where the project will be created. If NULL, project will be stored by its projectId in default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (Optional) var_opt_fields <- c("none") # array[character] | (Optional) @@ -50,7 +50,7 @@ dput(result) #################### GetCanopusClassyFireData #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | var_charge <- 56 # integer | @@ -65,7 +65,7 @@ dput(result) #################### GetCanopusNpcData #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | var_charge <- 56 # integer | @@ -80,7 +80,7 @@ dput(result) #################### GetFingerIdData #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | var_charge <- 56 # integer | @@ -95,7 +95,7 @@ dput(result) #################### GetProject #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | unique name/identifier tof the project-space to be accessed. var_opt_fields <- c("none") # array[character] | (Optional) @@ -110,7 +110,7 @@ dput(result) #################### GetProjects #################### -library(Rsirius) +library(RSirius) #List opened project spaces. api_instance <- rsirius_api$new() @@ -123,7 +123,7 @@ dput(result) #################### ImportMsRunData #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | Project-space to import into. var_input_files <- c(123) # array[data.frame] | Files to import into project. var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | @@ -139,7 +139,7 @@ dput(result) #################### ImportMsRunDataAsJob #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | Project-space to import into. var_input_files <- c(123) # array[data.frame] | Files to import into project. var_parameters <- LcmsSubmissionParameters$new("alignLCMSRuns_example", 123, Deviation$new(123, 123), Deviation$new(123, 123), 123, 123) # LcmsSubmissionParameters | @@ -156,7 +156,7 @@ dput(result) #################### ImportPreprocessedData #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to import into. var_input_files <- c(123) # array[data.frame] | files to import into project var_ignore_formulas <- FALSE # character | (Optional) @@ -173,7 +173,7 @@ dput(result) #################### ImportPreprocessedDataAsJob #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to import into. var_input_files <- c(123) # array[data.frame] | var_ignore_formulas <- FALSE # character | (Optional) @@ -191,7 +191,7 @@ dput(result) #################### OpenProject #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | unique name/identifier that shall be used to access the opened project-space. Must consist only of [a-zA-Z0-9_-]. var_path_to_project <- "path_to_project_example" # character | local file path to open the project from. If NULL, project will be loaded by it projectId from default project location. DEPRECATED: This parameter relies on the local filesystem and will likely be removed in later versions of this API to allow for more flexible use cases. (Optional) var_opt_fields <- c("none") # array[character] | (Optional) diff --git a/client-api_r/generated/man/RunsApi.Rd b/client-api_r/generated/man/RunsApi.Rd index fc33d241..8dc4e3cc 100644 --- a/client-api_r/generated/man/RunsApi.Rd +++ b/client-api_r/generated/man/RunsApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### AddTagsToRunExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to add to. var_run_id <- "run_id_example" # character | run to add tags to. var_tag <- c(Tag$new("tagName_example", 123)) # array[Tag] | tags to add. @@ -38,7 +38,7 @@ dput(result) #################### ComputeFoldChangeForBlankSubtraction #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to compute the fold change in. var_sample_type_fold_change_request <- SampleTypeFoldChangeRequest$new(c("sampleRunIds_example"), c("blankRunIds_example"), c("controlRunIds_example")) # SampleTypeFoldChangeRequest | request with lists of run IDs that are sample, blank, and control runs var_opt_fields <- c("none") # array[character] | job opt fields. (Optional) @@ -54,7 +54,7 @@ dput(result) #################### GetRunExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_run_id <- "run_id_example" # character | identifier of run to access. var_opt_fields <- c(RunOptField$new()) # array[RunOptField] | set of optional fields to be included. Use 'none' only to override defaults. (Optional) @@ -70,7 +70,7 @@ dput(result) #################### GetRunPageExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) var_size <- 20 # integer | The size of the page to be returned (Optional) @@ -88,7 +88,7 @@ dput(result) #################### GetRunsByGroupExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_group_name <- "group_name_example" # character | tag group name. var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -107,7 +107,7 @@ dput(result) #################### GetRunsByTagExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project space to get runs from. var_filter <- "" # character | tag filter. (Optional) var_page <- 0 # integer | Zero-based page index (0..N) (Optional) @@ -126,7 +126,7 @@ dput(result) #################### GetTagsForRunExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to get from. var_object_id <- "object_id_example" # character | RunId to get tags for. @@ -141,7 +141,7 @@ dput(result) #################### RemoveTagFromRunExperimental #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_run_id <- "run_id_example" # character | run to delete tag from. var_tag_name <- "tag_name_example" # character | name of the tag to delete. diff --git a/client-api_r/generated/man/SearchableDatabasesApi.Rd b/client-api_r/generated/man/SearchableDatabasesApi.Rd index 100cf110..904c3979 100644 --- a/client-api_r/generated/man/SearchableDatabasesApi.Rd +++ b/client-api_r/generated/man/SearchableDatabasesApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### AddDatabases #################### -library(Rsirius) +library(RSirius) var_request_body <- c("property_example") # array[character] | #DEPRECATED: this endpoint is based on local file paths and will likely be replaced in future versions of this API. @@ -36,7 +36,7 @@ dput(result) #################### CreateDatabase #################### -library(Rsirius) +library(RSirius) var_database_id <- "database_id_example" # character | var_searchable_database_parameters <- SearchableDatabaseParameters$new("displayName_example", "location_example", "matchRtOfReferenceSpectra_example") # SearchableDatabaseParameters | (Optional) @@ -50,7 +50,7 @@ dput(result) #################### GetCustomDatabases #################### -library(Rsirius) +library(RSirius) var_include_stats <- FALSE # character | (Optional) var_include_with_errors <- FALSE # character | (Optional) @@ -64,7 +64,7 @@ dput(result) #################### GetDatabase #################### -library(Rsirius) +library(RSirius) var_database_id <- "database_id_example" # character | var_include_stats <- TRUE # character | (Optional) @@ -78,7 +78,7 @@ dput(result) #################### GetDatabases #################### -library(Rsirius) +library(RSirius) var_include_stats <- FALSE # character | (Optional) var_include_with_errors <- FALSE # character | (Optional) @@ -92,7 +92,7 @@ dput(result) #################### GetIncludedDatabases #################### -library(Rsirius) +library(RSirius) var_include_stats <- FALSE # character | (Optional) api_instance <- rsirius_api$new() @@ -105,7 +105,7 @@ dput(result) #################### ImportIntoDatabase #################### -library(Rsirius) +library(RSirius) var_database_id <- "database_id_example" # character | database to import into var_input_files <- c(123) # array[data.frame] | files to be imported var_buffer_size <- 1000 # integer | (Optional) @@ -122,7 +122,7 @@ dput(result) #################### RemoveDatabase #################### -library(Rsirius) +library(RSirius) var_database_id <- "database_id_example" # character | var_delete <- FALSE # character | (Optional) @@ -133,7 +133,7 @@ api_instance$searchable_databases_api$RemoveDatabase(var_database_id, delete = v #################### UpdateDatabase #################### -library(Rsirius) +library(RSirius) var_database_id <- "database_id_example" # character | var_searchable_database_parameters <- SearchableDatabaseParameters$new("displayName_example", "location_example", "matchRtOfReferenceSpectra_example") # SearchableDatabaseParameters | (Optional) diff --git a/client-api_r/generated/man/TagsApi.Rd b/client-api_r/generated/man/TagsApi.Rd index 9d00cea2..b7914703 100644 --- a/client-api_r/generated/man/TagsApi.Rd +++ b/client-api_r/generated/man/TagsApi.Rd @@ -22,7 +22,7 @@ Generated by: https://openapi-generator.tech \dontrun{ #################### AddGroup #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to add to. var_group_name <- "group_name_example" # character | name of the new group var_filter <- "filter_example" # character | filter query to create the group @@ -39,7 +39,7 @@ dput(result) #################### AddPossibleValuesToTagDefinition #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to add to. var_tag_name <- "tag_name_example" # character | the tag definition to add the values to var_request_body <- c(123) # array[object] | @@ -55,7 +55,7 @@ dput(result) #################### CreateTags #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to add to. var_tag_definition_import <- c(TagDefinitionImport$new("tagName_example", "NONE", "description_example", "tagType_example", c(123), 123, 123)) # array[TagDefinitionImport] | the tag definitions to be created @@ -70,7 +70,7 @@ dput(result) #################### DeleteGroup #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_group_name <- "group_name_example" # character | name of group to delete. @@ -82,7 +82,7 @@ api_instance$tags_api$DeleteGroup(var_project_id, var_group_name) #################### DeleteTag #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to delete from. var_tag_name <- "tag_name_example" # character | name of the tag definition to delete. @@ -94,7 +94,7 @@ api_instance$tags_api$DeleteTag(var_project_id, var_tag_name) #################### GetGroupByName #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_group_name <- "group_name_example" # character | name of the group @@ -109,7 +109,7 @@ dput(result) #################### GetGroups #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_group_type <- "group_type_example" # character | type of the group (Optional) @@ -124,7 +124,7 @@ dput(result) #################### GetTag #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_tag_name <- "tag_name_example" # character | name of the tag @@ -139,7 +139,7 @@ dput(result) #################### GetTags #################### -library(Rsirius) +library(RSirius) var_project_id <- "project_id_example" # character | project-space to read from. var_tag_type <- "tag_type_example" # character | scope of the tag (optional) (Optional) diff --git a/client-api_r/generated/man/rsirius_api.Rd b/client-api_r/generated/man/rsirius_api.Rd index 9f838a18..10d0e0a7 100644 --- a/client-api_r/generated/man/rsirius_api.Rd +++ b/client-api_r/generated/man/rsirius_api.Rd @@ -18,9 +18,9 @@ REST API that provides the full functionality of SIRIUS and its web services as The version of the OpenAPI document: 3.1 Generated by: https://openapi-generator.tech -Rsirius API Class +RSirius API Class -A single point of access to the Rsirius API. +A single point of access to the RSirius API. NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). Ref: https://openapi-generator.tech @@ -68,7 +68,7 @@ Do not edit the class manually. \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-rsirius_api-new}{}}} \subsection{Method \code{new()}}{ -Initialize a new Rsirius API Class. +Initialize a new RSirius API Class. \subsection{Usage}{ \if{html}{\out{

}}\preformatted{rsirius_api$new(api_client)}\if{html}{\out{
}} } From 9bf0fa2915a96df5605072280df8aa61d72fd67f Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 19:20:59 +0200 Subject: [PATCH 71/76] RSirius library rename adjustment --- .../clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R index 73b8d22e..2cf7f2cc 100644 --- a/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R +++ b/.updater/clientTests/CondaFeedstockMinimalTests/RFeedstockTest.R @@ -1,6 +1,6 @@ options(error = traceback) -library('Rsirius') +library('RSirius') sdk <- SiriusSDK$new() sirius_api <- sdk$attach_or_start_sirius() From 15abdd93ab1faaf59edab594f26ccdb1f42d79f9 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 19:22:59 +0200 Subject: [PATCH 72/76] new super minimal tests for the feedstocks as most things now need login --- .../PythonFeedstockTest.py | 8 ++++++++ .../RFeedstockTest.R | 13 +++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 .updater/clientTests/CondaFeedstockSuperMinimalTests/PythonFeedstockTest.py create mode 100644 .updater/clientTests/CondaFeedstockSuperMinimalTests/RFeedstockTest.R diff --git a/.updater/clientTests/CondaFeedstockSuperMinimalTests/PythonFeedstockTest.py b/.updater/clientTests/CondaFeedstockSuperMinimalTests/PythonFeedstockTest.py new file mode 100644 index 00000000..eb854fb8 --- /dev/null +++ b/.updater/clientTests/CondaFeedstockSuperMinimalTests/PythonFeedstockTest.py @@ -0,0 +1,8 @@ +from PySirius import SiriusSDK, Info + +api = SiriusSDK().attach_or_start_sirius(headless=True) +response = api.infos().get_info() + +assert isinstance(response, Info), "Error: Did not return an object of class Info." + +SiriusSDK().shutdown_sirius() \ No newline at end of file diff --git a/.updater/clientTests/CondaFeedstockSuperMinimalTests/RFeedstockTest.R b/.updater/clientTests/CondaFeedstockSuperMinimalTests/RFeedstockTest.R new file mode 100644 index 00000000..1344585a --- /dev/null +++ b/.updater/clientTests/CondaFeedstockSuperMinimalTests/RFeedstockTest.R @@ -0,0 +1,13 @@ +options(error = traceback) + +library('RSirius') + +sdk <- SiriusSDK$new() +sirius_api <- sdk$attach_or_start_sirius() +response <- sirius_api$info_api$GetInfo() + +if (!inherits(response, "Info")) { + stop("Error: Did not return an object of class Info.") +} + +sdk$shutdown_sirius() \ No newline at end of file From 40f494aea197508503d87fa762f52c728ca0b4ff Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 19:39:57 +0200 Subject: [PATCH 73/76] add RSirius rename notice --- README.md | 2 ++ client-api_r/README.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 3b943181..20d8d8e8 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ [![conda-forge | py-sirius-ms](https://img.shields.io/conda/vn/conda-forge/py-sirius-ms?logo=anaconda&label=py-sirius-ms)](https://anaconda.org/conda-forge/py-sirius-ms) [![conda-forge | sirius-ms](https://img.shields.io/conda/vn/conda-forge/sirius-ms?logo=anaconda&label=sirius-ms)](https://anaconda.org/conda-forge/sirius-ms) +Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is now renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! + # sirius-client-openAPI Maintained and prebuild OpenAPI based SIRIUS SDKs for different programming languages such as R, Python and Java. diff --git a/client-api_r/README.md b/client-api_r/README.md index e24f339d..00ea10ad 100644 --- a/client-api_r/README.md +++ b/client-api_r/README.md @@ -1,3 +1,5 @@ +Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is now renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! + # RSirius REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs. From aa6b479358ea41617aa2193fd4fdc1a98ae5a59a Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 19:41:44 +0200 Subject: [PATCH 74/76] RSirius rename was missing in folder README --- client-api_r/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client-api_r/README.md b/client-api_r/README.md index 00ea10ad..33884a1c 100644 --- a/client-api_r/README.md +++ b/client-api_r/README.md @@ -36,7 +36,7 @@ install_github(repo = "sirius-ms/sirius-client-openAPI", subdir = "client-api_r/ Then import the package: ```R -library('Rsirius') +library(RSirius) ``` ## Getting Started @@ -50,7 +50,7 @@ NOTE: the SIRIUS REST service automatically allocates a random available port on If you installed via conda-forge **or** have SIRIUS in your path, you should be able to activate your environment and simply use: ```R -library('Rsirius') +library(RSirius) sdk <- SiriusSDK$new() # SIRIUS must be in the path or the SIRIUS_EXE environment variable must be specified. # Is automatically configured when installing via conda or windows ms installer @@ -66,7 +66,7 @@ sdk$shutdown_sirius() If you installed from GitHub or a local folder manually and do **not** have SIRIUS in path, you can go the manual way: ```R -library('Rsirius') +library(RSirius) sdk <- SiriusSDK$new() api <- sdk$start_sirius(sirius_path="your/path/to/sirius", port=8080) ``` @@ -74,7 +74,7 @@ api <- sdk$start_sirius(sirius_path="your/path/to/sirius", port=8080) You can also attach to a running SIRIUS instance: ```R -library('Rsirius') +library(RSirius) sdk <- SiriusSDK$new() api <- sdk$attach_to_sirius(sirius_major_version=6, port=8080) ``` @@ -84,7 +84,7 @@ api <- sdk$attach_to_sirius(sirius_major_version=6, port=8080) Please follow the [installation procedure](#installation--usage) and then run the following (while replacing address and port with the Remote address specifications): ```R -library('Rsirius') +library(RSirius) sdk <- SiriusSDK$new() api <- sdk$connect("http://localhost:8080") ``` From fd9642b75b3ccfd7c46a2a88c32c9a4603675fc4 Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 19:49:07 +0200 Subject: [PATCH 75/76] red text does not seem to work (anymore?), try red cube png --- README.md | 2 +- client-api_r/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 20d8d8e8..2ec19fb4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![conda-forge | py-sirius-ms](https://img.shields.io/conda/vn/conda-forge/py-sirius-ms?logo=anaconda&label=py-sirius-ms)](https://anaconda.org/conda-forge/py-sirius-ms) [![conda-forge | sirius-ms](https://img.shields.io/conda/vn/conda-forge/sirius-ms?logo=anaconda&label=sirius-ms)](https://anaconda.org/conda-forge/sirius-ms) -Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is now renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! +![#f03c15](https://placehold.co/10x10/f03c15/f03c15.png) Important notice: Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! # sirius-client-openAPI diff --git a/client-api_r/README.md b/client-api_r/README.md index 33884a1c..8c7c0bc9 100644 --- a/client-api_r/README.md +++ b/client-api_r/README.md @@ -1,4 +1,4 @@ -Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is now renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! +![#f03c15](https://placehold.co/10x10/f03c15/f03c15.png) Important notice: Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! # RSirius REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs. From 9489556f3bb4a1ab935080ffe24d551ccdea996d Mon Sep 17 00:00:00 2001 From: joXemMx Date: Wed, 15 Oct 2025 19:50:13 +0200 Subject: [PATCH 76/76] missed code formatting --- README.md | 2 +- client-api_r/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2ec19fb4..5d25ab1c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![conda-forge | py-sirius-ms](https://img.shields.io/conda/vn/conda-forge/py-sirius-ms?logo=anaconda&label=py-sirius-ms)](https://anaconda.org/conda-forge/py-sirius-ms) [![conda-forge | sirius-ms](https://img.shields.io/conda/vn/conda-forge/sirius-ms?logo=anaconda&label=sirius-ms)](https://anaconda.org/conda-forge/sirius-ms) -![#f03c15](https://placehold.co/10x10/f03c15/f03c15.png) Important notice: Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! +![#f03c15](https://placehold.co/10x10/f03c15/f03c15.png) Important notice: `Rsirius` is now `RSirius`! Starting with `v3.1+sirius6.3.3`, `Rsirius` is renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! # sirius-client-openAPI diff --git a/client-api_r/README.md b/client-api_r/README.md index 8c7c0bc9..b0da16d1 100644 --- a/client-api_r/README.md +++ b/client-api_r/README.md @@ -1,4 +1,4 @@ -![#f03c15](https://placehold.co/10x10/f03c15/f03c15.png) Important notice: Rsirius is now RSirius! Starting with `v3.1+sirius6.3.3`, `Rsirius` is renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! +![#f03c15](https://placehold.co/10x10/f03c15/f03c15.png) Important notice: `Rsirius` is now `RSirius`! Starting with `v3.1+sirius6.3.3`, `Rsirius` is renamed to `RSirius` to fit the naming convention of `PySirius`. Please make sure you update your library imports accordingly! # RSirius REST API that provides the full functionality of SIRIUS and its web services as background service. It is intended as entry-point for scripting languages and software integration SDKs.